On Wed, Nov 01, 2006 at 03:37:03PM +0400, Yuri V. Anikin wrote: > 32758: from 195.209.85.33 lookup MCN > 32759: from 85.112.43.86 lookup VGT > 32760: from 195.209.85.33 lookup MCN > 32761: from 85.112.43.86 lookup VGT зачем столько копий? ядрышко остановится на первом совпадении, а дальше не пойдет. > default via 195.209.85.34 dev eth1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ откуда бы не пришёл пакет, ответ идет всегда через eth1. а следовательно, если у нас SNAT, то ответ пойдет с другого ip, а значит обрыв соединения > 5) Iptables настроен на NAT и forwarding 80 порта в DMZ-сеть 192.168.0.0 вот у меня именно этого оказалось мало, пришлось отдельно указывать netfilter, что если пакет пришёл с другого интерфейса, отвечать по нему же. для входящий подключений это выглядело так: iptables -t mangle -A INPUT -i eth1 -j CONNMARK --set-mark 0x200 // используется именно CONNMARK, а не MARK, так как после проглатывания // подключения ядром, весь sk_buf с MARK усрет, и для INPUT // сгененирируется новый пакет, с пустым MARK. // CONNMARK же ставиться на подкюлчение и хранится независимо iptables -t mangle -A OUTPUT -m connmark --mark 0x200 -j MARK --set-mark 0x200 // а вот здесь уже проставляется именно netfilter mark на освное инфы из // connection tracking // цепочка именно OUTPUT, так как в POSTROUTING вычесление маршрута и // исходящего eth уже будет произведено ip rule add pref 10000 fwmark 0x200 table PASSIVEETH ip route add table PASSIVEETH add default via <что там надо> для сквозных пакетов работать надо с цепочкой FORWARD: на -i eth1 ставить CONNMARK, на -i eth2 ставить условие -m connmark --mark > 6) Ядро 2.4.20-alt12-up должно и тут работать > В /var/log/kernel/warnings сыпятся сообщения файрвола о "марсианских > источниках". Соображения? а вот про это сообразить не могу. сообщаения о марсионцах валятся, если обратный маршрут (проверка включается/выключается через rc_filter) не совпадает с входящим интерфейсом. в принципе логично: пришло по eth1, ответ идет по eth0. типичный марсианин :) -- С уважением Афанасов Дмитрий