[mdk-re] routing question

Maxim Savrilov =?iso-8859-1?q?Maxim=2ESavrilov_=CE=C1_novocybersk=2Eru?=
Чт Июл 19 13:51:11 MSD 2001


Привет всем.
Вопрос такой возник.
Ситуация: есть 3 сетки, одна из которых внутренняя (с реальными
ip), а другая Интернет ;)(провайдер, вернее) и третья.
Обозначим их Инет- net0, Внутрення - net1, третья - net2
у net1 есть машина-шлюз(у которой есть 3 интерфейса: eth1 смотрит
в net1, eth0 выходит на провайдера и eth2, смотрит в одну из
подсетей net2). Так вот, за трафик net0->net1 берут деньги
(странно, правда?), за net2->net1 денег не берут.
На шлюзе поднят маскарадинг from net1 to net2 (так как денег не
берут только за трафик net2->Шлюз, а надо чтоб все машины могли
ходить в бесплатную сеть)
и прописаны static_routes from net1 to net2 via eth2 (то-есть в
бесплатную сеть ходить принудительно через бесплатный интерфейс)

Проблема собственно: сервер имеет ip в каждой из указанных сетей
и когда из net2 пытаешься достучаться до него по ip из net0 или
net1, то ничего не приходит обратно, так как он получает пакеты
на один интерфейс, а отвечает через другой, как ему и прописано в
static routes. Петля возникает, софтина из net2 посылает пакеты
на один ip, а ответы ей приходят с другово, а тот ip, что по ее
мнению должен ответить, молчит.
tcpdump показывает, например, что  icmp: echo request пакеты
приходят на eth0, например, и тут же показывает что с eth2 уходят
icmp echo reply

И вопрос собственно, как можно на шлюзе добиться того, чтобы на
пакеты, которые пришли из net2 на eth0 ответы уходили тоже через
eth0, несмотря на static routes?


--
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and the Ugly)." (By Matt Welsh)

Novocybersk, отделение системного администрирования
Новосибирск, проспект К. Маркса-20, корпус 1, палата 310.
тел. (383-2) 46-13-84 (31-19)
--







Подробная информация о списке рассылки community