есть машина с 3 интерфейсами + второй сервер с 5 Eth
Eth0 у первой машины смотрит в интернет
Eth1 10.0.0.1/30 подключен к Eth0 10.0.0.2/30 второго сервера
Eth2 10.0.0.5/30 подключен к Eth1 10.0.0.6/30 второго сервера
на втором сервере еще 3 подсетки:
10.0.1.0/24 Eth2
10.0.2.0/24 Eth3
10.0.3.0/24 Eth4
(Между ними нужно иметь соеденение без ограничений !)
На втором сервере делаеться такая весч:
международный трафик прописывается командой route как дефолтный через 10.0.0.1 gw
а внутренний , по стране , прописывается с указанием подсетей через 10.0.0.5 gw
с этим проблем не возникает .
Теперь на первой машине нужно прописать роутинг к 10.0.1.0/24 10.0.2.0/24 10.0.3.0/24 так чтобы если пакет пришел на интерфейс 10.0.0.1 , то с этого же интерфейса был послан обратный ответ на 10.0.0.2 , и если пакет пришел на интерфейс 10.0.0.5 то ответ был бы послан через интерфейс 10.0.0.6 второй машины . Потому что если я прописываю командой route на первой машине доступ к сетям 10.0.1.- 10.0.3.- то в ней указываю шлюз - только один , либо 10.0.0.2 либо 10.0.0.6 , а это значит что весь исходящий трафик не зависимо откуда он пришел из интернета будет идти ЛИБО от Eth1 или от Eth2 - а т.к. мы режем входящий трафик CBQ.init к клиентам по разному - международный на одной скорости а внутри страны - на другой скорости .
то возникает облом - весь входящий трафик клиенты получат с одного интерфейса первой машины - и поэтому не представляется возможным резать трафик нормально ! На второй машине NAT поднимать нельзя , как и нельзя поставить CBQ.init для интерфейсов к клиентам - они дожны видеть друг к друга без ограничений , ибо тогда эта игра не стоит свечь .
Так что мой вопрос :
как прописать такое условие ??? чтобы если пакет пришел на ETH1 то от него же и слался ответ ? и если пришел на ETH2 то от негоже слался ответ , а не по дефолтному gw .