[mdk-re] routing question

Vyt =?iso-8859-1?q?vyt_=CE=C1_vzljot=2Eru?=
Чт Июл 19 14:36:12 MSD 2001


On Thu, 19 Jul 2001 17:12:20 +0700
Maxim Savrilov <Maxim.Savrilov на novocybersk.ru> wrote:

> Привет всем.
> Вопрос такой возник.
> Ситуация: есть 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 (то-есть в
> бесплатную сеть ходить принудительно через бесплатный интерфейс)

Ни фига не понятное описание.
То, что за провайдер->внутр.сеть берут деньги, понятно, остальное
 - нет.
net2 тоже Инет? Зачем маскарадинг net1->net2 ? За net1->net2 тоже 
деньги берут? Как можно в бесплатную сеть ходить через платный 
интерфейс? У них пересекается адресное пространство?
Кстати, однозначность терминологии очень упрощает понимание.

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

Так они все равно должны уходить с адресом отправителя = ip, на
который приходит echo request, хоть и через eth2, все правильно.

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

Можно поставить source routing с помощью iproute2.
Но это мало что даст, интерфейс определяется по ip-назначения, 
не знаю, можно ли связать пакет-ответ с пакетом-запросом.
Странная задача, не понял смысла.

<skipped>

-- 
Regards, Vyt
mailto:vyt на vzljot.ru




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