19 мая 2008 г. 18:50 пользователь Покотиленко Костик <[EMAIL PROTECTED]> написал: > В Пнд, 19/05/2008 в 11:20 +0400, Sapytsky Ilya пишет: >> 19 мая 2008 г. 10:37 пользователь Покотиленко Костик >> <[EMAIL PROTECTED]> написал: >> В Пнд, 19/05/2008 в 09:38 +0400, Sapytsky Ilya пишет: >> > вья Добрый день! >> > пару дней тут изучал доку по policy routing. >> > после прочтения так и не понял можно ли сделать вот такую >> штуку: >> > чтобы маршрут ставился в зависимости от интерфейса, по >> которому пакет >> > пришел? >> > типа если пришло через eth0 - обратно все пакеты этого >> соединения >> > через этот интерфейс и отправлять. >> > Если через eth1 - отправлять все пакеты этого соединения >> через eth1. >> > И есть default gw, через который отправлять все исходящие >> соединения. >> >> >> Шаршрутизируй по FWMARK, FWMARK выставляй в iptables. Как >> известно в >> iptables критериев мноооого. По входящему интерфейсу совсем не >> проблема. >> >> хм... не понял как это сделать? >> пока не понятна технология. >> Почему не понятна - если пришел пакет через eth0, а default gw стоит >> eth1 то будет следующее - пакет будет пытаться пролезть через eth0, но >> при этом ip отправителя будет стоять от интерфейса eth1. Или я не >> прав? >> можно ли примерчик? > > Примерчика нет. Скажу сразу, я такое пытался делать давно, но у меня не > получилось. В рассылке netfilter'а проскакивают такие темы, я был на > правильном пути, но видать где-то не доглядел... Если в кратце, то > принцип такой: > > 1. На интересующее входящее с внешней стороны соединение, на пакет > начинающий соединение (SYN) ставишь CONNMARK в какое-нибудь значение. > > 2. На обратном пути (пакеты-ответы) будут иметь такое же значение > CONNMARK. Поскольку iproute2 не умеет работать с CONNMARK, а работает с > MARK, тут тебе нужно сделать --restore-mark чтобы скопировать значение > CONNMARK в MARK. > > 3. С помощью альтернативных таблиц маршрутизации делаешь так, чтобы > пакеты с соответствующей маркой шли куда тебе надо. > > Повторить для каждого интерфейса где нада такая фишка.
получилось сделать тупо, но при этом работает: ip rule add from my_ip_isp2 table outtest ip route add default src my_ip_isp2 dev eth1 via gw_ip_isp2 table outtest conntrack у меня при этом работает хорошо, но меченные пакеты в альтернативную таблицу маршрутизации не попадают :( примерно такая же проблема встретилась мне тут http://marc.info/?l=netfilter&m=110893893101924&w=2 сайта по ссылке нет, но зеркало тут: http://archives.mandrivalinux.com/cooker/2005-07/msg02543.php Может и у нас такие же проблемы есть до сих пор? кто-нибудь может это проверить? У меня с С программингом очень плохо... Если кто возьмется - СПАСИБО!

