Назад | Перейти на главную страницу

Интранет в Интернет через хост, имеющий 2 сетевых интерфейса, используя беспроводной

Host_A
eth0: 192.168.1.3
wlan0: 192.168.43.84

Оба интерфейса имеют доступ в Интернет. eth0 через маршрутизатор DSL 192.168.1.1 и wlan0 через точку доступа android, 192.168.43.1. Шлюз по умолчанию - 192.168.1.1, но я могу легко переключить его на другой, используя следующие команды как root:

ip route delete default
ip route add default via 192.168.43.1

После этого Host_A успешно использует точку доступа Android к Интернету.

Host_B
eth0: 192.168.1.14

Это идет в Интернет через маршрутизатор DSL 192.168.1.1. Я хочу, чтобы он проходил через точку беспроводного доступа, что по сути означает, что он должен проходить через 192.168.1.3. С этой целью я сделал следующее

ip route delete default
ip route add default via 192.168.1.3

Также я включил пересылку пакетов в Host_A, используя:

sysctl -w net.ipv4.ip_forward=1

После этого cat / proc / sys / net / ipv4 / ip_forward возвращает 1

Дело в том, что Host_B не может попасть в интернет. Я хотел бы, чтобы Host_B имел подключение к Интернету через интерфейс Host_A wlan0. Брандмауэры отключены на обоих хостах, и я убежден, что мне не придется связываться с iptables, чтобы добиться этого. Оба хоста - Debian. Host_A и Host_B находятся в одной физической сети с использованием интерфейса коммутации маршрутизатора DSL.

Если кто-то знает, что может быть не так, я буду признателен.

Вы должны включить NAT в HostA, указав ему маршрутизировать пакеты через wlan0, это должно помочь:

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE