iproute2: Как мне подключить одну машину к интернету через другую?

373
rausch

У меня есть следующие настройки:

A > 169.254.8.125/16 <- (ad-hoc) -> 169.254.9.109/16 < B > 192.168.178.21/24 <- (wifi) -> 192.168.178.1/24 < AP / router > интернет

Я хочу подключить A к Интернету через B. Пока что таблица маршрутизации A выглядит следующим образом:

default via 169.254.6.109 dev eth0  169.254.0.0/16 dev eth0 proto kernel scope link src 169.254.8.125 

Таблица маршрутизации B выглядит следующим образом:

default via 192.168.178.1 dev wlan0 proto static  169.254.0.0/16 dev eth0 proto kernel scope link src 169.254.6.109 metric 1  192.168.178.0/24 dev wlan0 proto kernel scope link src 192.168.178.21 metric 2 

На компьютере BI включена пересылка ip, sysctl net.ipv4.ip_forward=1и я добавил правило NAT в iptables:iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Я знаю, что у меня пока нет DNS для A.

Я могу пинговать B от A и наоборот. Разве это не должно уже дать доступ к Интернету или хотя бы включить проверку связи с роутером? Что мне не хватает?

0

1 ответ на вопрос

1
Hamza

Вы пропускаете прямое правило.

sudo iptables -A ВПЕРЕД -i wlan0 -o состояние eth0 -m -– СОСТОЯНИЕ, УСТАНОВЛЕНО -j ПРИНЯТЬ
sudo iptables -A ВПЕРЕД -i eth0 -o wlan0 -j ПРИНЯТЬ

Похожие вопросы