LINUX.ORG.RU
ФорумAdmin

Помогите осуществить хитрый роутинг , если такоговое возможно !


0

0

есть машина с 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 .

anonymous

iproute2? linux advanced routing howto - source policy routing

massaraksh
()

да вот там как раз описывается вариант когда эти два интерфейса находятся не на одной машине а на двух разных , это мы умеем , так вот а что делать если они на одной машине и должны реагировать каждая на одну и туже сеть !?

anonymous
()

ну чтобы понятнее было6 мне нужно чтото типа такого: route from $LOCAL_NETVORK to 10.0.1.0/24 via gw 10.0.0.6 route from $LOCAL_1_NETWORK to 10.0.1.0/24 via gw 10.0.0.6 и тд , для всех $LOCAL и 10.0.1-3 сетей а дефолтный трафик чтобы шел через 10.0.0.2

anonymous
()

ну чтобы понятнее было6 мне нужно чтото типа такого:

route from $LOCAL_NETVORK to 10.0.1.0/24 via gw 10.0.0.6
route from $LOCAL_1_NETWORK to 10.0.1.0/24 via gw 10.0.0.6
и тд , для всех $LOCAL и 10.0.1-3 сетей

а дефолтный трафик чтобы шел через 10.0.0.2

anonymous
()

ip rule add from $LOCAL_NETVORK to 10.0.1.0/24 table 150 ip rule add from $LOCAL_1_NETWORK to 10.0.1.0/24 table 150 ip route add table 150 via 10.0.0.6

i tak dalee

www.lartc.org

anonymous
()

хм , логично , спасибо , сегодня попробуемс !

anonymous
()

спасибо :) ночью попробывал , все замечательно работает !!!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.