У меня есть маршрутизатор ubuntu со следующими сетевыми настройками:
br0 192.168.1.15 netmask 255.255.255.0
br0:1 192.168.2.209 netmask 255.255.255.248
У меня есть компьютер, подключенный к br0:1
сеть со следующими настройками:
ip 192.168.2.210 netmask 255.255.255.248 gateway 192.168.2.209
Этот компьютер должен иметь доступ к хосту 192.168.1.1
который находится в сети br0 маршрутизатора ubuntu.
192.168.1.1
является шлюзом WAN, так как я могу сделать его шлюзом для хостов на 192.168.2.208/29
сеть.
Я включил переадресацию ip4 на маршрутизаторе ubuntu.
Сначала убедитесь 192.168.2.209
шлюз по умолчанию для 192.168.2.210
а маршрутизатор Ubuntu разрешает трафик от хоста. На 192.168.2.210
:
route add default gw 192.168.2.209
На маршрутизаторе Ubuntu:
iptables -I FORWARD -i br0:1 -s 192.168.2.210 -j ACCEPT
Тогда у вас есть два варианта. Вы можете использовать SNAT для перенаправленного трафика на маршрутизаторе Ubuntu, чтобы 192.168.1.1 считал его принадлежащим маршрутизатору и знал, как его вернуть:
iptables -t nat -I POSTROUTING -s 192.168.2.210 -j SNAT --to 192.168.1.15
или вы можете добавить следующий маршрут на 192.168.1.1
шлюз, если он также является хостом Linux:
route add -net 192.168.2.209/29 gw 192.168.1.15
Это говорит ему, как маршрутизировать пакеты обратно в эту сеть. Конечно, если шлюз фильтрует, вам придется добавить правила фильтрации для 192.168.2.209/29
сеть тоже:
iptables -I FORWARD -s 192.168.2.210 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.2.210 -j MASQUERADE
Конечно, эти последние правила можно улучшить, добавив больше информации.