ip-adsl внутри-192.168.0.77 +------------+
| |
+--|adsl1|---------+ 1.1.1.0/20 +
__ | | |
___/ \_ +------+-------+ +------------+
_/ \__ | eth0 | ip eth0-192.168.0.1
/ \ | |
| Локальная сеть-----+eth1 Linux | ip eth1-192.168.2.1
\192.168.2.0/24 | |
\__ __/ | eth2 | ________
\___/ +------+-------+ +------------+ /
ip-eth2-2.2.2.2 | | | |
+--|adsl2|----+ Провайдер +-------| Internet
| | |
+------------+ \________
default route на сервере - 2.2.2.3(в сеть прова интернет).
adsl1 - в режиме роутера.
adsl2 - в режиме бриджа.
на сеть 1.1.1.0/20 прописан маршрут:
route add -net 1.1.1.0/20 gw 192.168.0.77все исправно работает, то что ходит в сеть 1.1.1.0/20, ходит через adsl1
то что ходит не в сеть 1.1.1.0/20, ходит через adsl2
НО. Хочу, чтобы ответ на SYN и ESTABLISHED,RELATED трафик шел через тот интерфейс, с которого пришел SYN. Иначе сеть 1.1.1.0/20(а вернее ее админ), матюкается...
КАК ЭТО СДЕЛАТЬ?Мысли про policy routing:
/sbin/ip rule add from 192.168.2.0/24 to 1.1.1.0/20 table 101 pref 102
/sbin/ip rule add from 192.168.2.0/24 to 0/0 table 102 pref 102/sbin/ip route add table 101 via 192.168.0.77
/sbin/ip route add table 102 via 2.2.2.3Мысли про файрвол: метить пакеты по syn\dest и форвардить? Как? Пример плиз.
Правила файра пришлю....там NAT в инет и куча фильтров.
рисунок не получился :((
http://www.pfncstu.ru/img/net-scheme.jpgон тут !!!!!
>КАК ЭТО СДЕЛАТЬ?
>Мысли про policy routing:Вот это направление мне кажется более логичным.
Для начала - поймем, что нам нужно? Нам нужно, чтобы ответ на запрос из 1.1.1.0 ушел туда же, тогда как сейчас он уходит на дефаултроутер.Я у себя делал так:
в /etc/iproute2/rt_tables добавил строку "100 friend"
Это мы так назвали табличку для маршрутизации в сеть 1.1.1.0
Теперь настраиваем правила в этой табличке (если я правильно понял, то гейт в нее - это 192.168.0.77):# все, что на локальную подсеть - все на eth1
ip route add 192.168.2.0/24 dev eth1 table friend# все, что на подсеть провайдера (маску подправишь) - все на eth2
ip route add 2.2.2.0/24 dev eth2 table friend# Вот это первый ключевой момент. Для таблицы friend - роутинг по умолчанию - через 192.168.0.77
ip route add default via 192.168.0.77 table friend# А это второй ключевой момент. Роутинг по таблице friend включается в том случае, если пакет уходит с адреса 192.168.0.1
ip rule add from 192.168.0.1 table friendСобственно, все. Если хочется этот скрипт запускать многократно, то рекомендую в начало добавить что-то вроде
ip rule del from 192.168.0.1 table mtu
ip route flush table mtu
чтоб не ругалось.