On Wed, Jan 06, 2010 at 06:16:52PM +0300, Евгений wrote: > Hi All. > > Вот в начале Нового Года появился у меня ещё один провайдер. > Захотелось разрулить их следующим образом: сервер сидит на одном канале > (обзову его первым), а клиенты на другом (втором). К тому же, клиенты > должны попадать в "локальные" сети первого провайдера. > > А вот как это реализовать - затрудняюсь. это source route - маршрутизация от источника. реализуется через ip rule (в LARTC описан) в данном случае будет выглядеть как cat "50 second" >> /etc/iproute2/rt_tables ip rule add pref 5000 from 192.168.4.0/24 table second ip route add table second throw 192.168.2.0/24 ip route add table second throw ip route add table second default via 192.168.2.1 > Прописал > [0:0] -A POSTROUTING -s 192.168.4.0/24 -d 0/0 -j SNAT --to-source 192.168.2.2 также да, нужно два ната: для первого и второго провайдера. net'ы предпочитаю делать по девайсам, то есть: [0:0] -A POSTROUTING -o first -j SNAT --to-source [0:0] -A POSTROUTING -o second -j SNAT --to-source 192.168.2.2 предупреждаю сразу, что маршруты смотрятся сначала по таблицам, потом по очереди в таблице. default route является выходом из проверки машрутов. потому имеем, что для всех из 192.168.4.0/24 будет проверяться таблица second и только second, так как по "default via" будет выход из проверок. потом для решения "клиенты должны попадать в "локальные" сети первого провайдера." в таблице second должны быть либо продублированы либо указаны как throw маршруты из таблицы main. throw в данном случае - выйти из таблицы и проверять дальше, == -j RETURN в iptables, простому return в C. Note: это вообще-то для sysadmins@ -- С уважением Афанасов Дмитрий