Проблема с policy routing (маршрутизация от источника). Исходные данные: Есть роутер RH7.2 2.4.17 (ROUTER) с двумя интерфейсами eth0 & eth1 eth0 - 10.0.50.1 --> net0=LAN0 10.0.50.0/24 eth1 - 192.168.200.8 --> net2=192.168.200.0/28 --> LAN2 192.168.0.0/16 eth1:0 - 10.0.1.1 --> net3=10.0.1.0/24 --> LAN3 10.0.1.0/24 --> LAN4 192.168.1.0/24 Сеть LAN0 (10.0.50.0/24) через NAT выходит во внешние сети (которые за eth1) За eth1 наблюдается следующее: - большая сеть LAN2 c адресацией 192.168.0.0/16, router сразу выходит через GW1 (192.168.200.1), для этой сети он виден под адресом 192.168.200.8 - небольшая локальная сеть LAN3 10.0.1.0/24, находящаяся в том же сегменте с роутером, для LAN3 роутер виден как 10.0.1.1 - сеть LAN4 с адресацией 192.168.1.0/24 (к сожалению ее адресное пространство пересекается с LAN2, но с LAN2 они не связаны и друг о друге не знают). В LAN4 роутер выходит через GW2 (10.0.1.10) и для LAN4 он (роутер) виден как 10.0.1.1. То есть сети LAN3 и LAN4 друг друга видят, но не видят LAN2 Роутер видит LAN2 (за исключением 192.168.1.0/24), видит LAN3 и LAN4, ну и LAN0 естественно. Сеть LAN0 выходит в сеть LAN2 через NAT под адресом 192.168.200.8, а в сети LAN3 и LAN4 тоже через NAT под адресом 10.0.1.1 схема сети такая: internal LAN0 ---> eth0 ROUTER--> 10.0.50.0/24 10.0.50.1 192.168.200.8 192.168.200.1 ROUTER eth1 <---> GW1 <---> LAN2 NAT--> 192.168.0.0/16 eth1:0<---> LAN310.0.1.0/24 GW2 <---------> LAN4 10.0.1.1 10.0.1.10 192.168.1.0/24 Роутинг на router сейчас настроен так eth1 net 192.168.200.0/28 eth1 eth1 net 192.168.0.0/16 gw1 metric 2 eth1 net 10.0.1.0/24 eth1 eth1 net 192.168.1.0/24 gw2 metric 1 Таким образом вышенаписанное состояние видимости сетей реализуется. Но появилась надобность сделать следующее - из сети LAN0 видеть сеть LAN4, а с роутера видеть сеть LAN2 (полностью, включая 192.168.1.0/24) Это реализуется только роутингом от источника (роутинг на различные GW, в зависимости от адреса отправителя) Или по другому (переформулирую) - роутер должен быть виден из сети LAN2 под адресом 192.168.200.8, а из сети LAN4 под адресом 10.0.1.1 и сеть LAN0 должна видеть LAN4 Соответственно нужно реализовать следующее: - если адрес отправителя 192.168.200.8, то использовать GW1 - если адрес отправителя 10.0.1.1, то использовать GW2 (для LAN4) Роутить от источника позволяет пакет iproute2, а точнее рулезы настраиваются через ее утилиту ip Почитал Adv-Routing-HOWTO, пересобрал ядро (включив поддержку policy routing), скомпилирвал iproute2, и воспользовался полученной утилитой ip для создания правил: echo 200 lan2 >> /etc/iproute2/rt_tables ip rule add from 192.168.200.8 table lan2 ip route add default via 10.0.1.10 (это gw2) dev eth1 table lan2 echo 201 lan4 >> /etc/iproute2/rt_tables ip rule add from 10.0.1.1 table lan4 ip rule add from 10.0.50.0/24 table lan4 ip route add default via 10.0.1.10 (это gw2) dev eth1 table lan4 Настроенный прежде роутинг не трогал. Таким образом правило правило для lan4 должно бы выполняться ранее остального роутинга (который в таблице main находится). Тем не менее ничего не происходит - в смысле работает это дело только наполовину - чего только не делал, все равно router виден либо из lan2, либо из lan4, но никак не вместе, ну а сеть lan0 за NAT вообще никоим образом на ip rule не реагирует (похоже пакеты из сеть lan0 игнорируют правила ip rule). В общем тут явно где то ошибка закралась, вот только где.. Или маршрутизацию в разные подсети (но с одной и той же адресацией) через разные гейты настроить невозможно? Не верю..
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Не разберусь с маршрутизацией (ip route) (2012)
- Форум 2 провайдера + nat + проброс портов (2013)
- Форум Вопрос по ip route (2013)
- Форум centos. 2 провайдера, iptables, geoip (2011)
- Форум IP route and Windows 98/Me (2007)
- Форум SNAT & routing (2008)
- Форум Два шлюза (2008)
- Форум Проблемы с двумя аплинками и НАТом (2009)
- Форум Маршрутизация в Linux (2011)
- Форум HELP с policy-routing'ом. (2014)