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

Статические маршруты для доступа к хостам в разных сетях

У меня есть маршрутизатор 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

Конечно, эти последние правила можно улучшить, добавив больше информации.