[sisyphus] 2 провайдера. Как?

Afanasov Dmitry ender на altlinux.org
Ср Янв 6 17:02:39 UTC 2010


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 <first-provider-net>
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 <first-src>
[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@
-- 
 С уважением
 Афанасов Дмитрий
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20100106/4c210db7/attachment.bin>


Подробная информация о списке рассылки Sisyphus