Показать полную графическую версию : Два канало во внешний мир.
Каким обрпазом через IPFW можно разделить исходящий трафик на 2 канала ??
бился с дивертами, всеравно исходящий трафик ломиться на дефоултный шлюз.
Смотрите статьи по Policy Routing на FreeBSD.
а по подробнее можно ??
прочитал много статей, ниодна не заработало
http://www.samag.ru/art/02.2007/02.2007_09.html
http://www.opennet.ru/base/net/2_channel_balancing.txt.html
http://ipfw.ism.kiev.ua/pbr.html
Опишите подробнее свою задачу.
Какие интерфесы подняты?
Что является критерием отправки к конкретному провайдеру?
Какой трафик имеется в виду (протокол)?
подробнее:
Есть 2 канала
rl0 - оплата по трафику IP 81.200.6.190 Шлюз 81.200.6.1
rl2 - безлимитка "стрим" IP 192.168.1.2 Шлюз 192.168.1.1
Внутреняя сетка
rl1 - 192.168.0.0
Задача состоит в том, чтобы из внутренней сетки пользователи ходили в инет и получали HTTP через rl2, весь остальной трафик должен идти через канал с реальными адресами.
На серваке стоит Squid, даже если в нем указывать tcp_outgoing_address 192.168.1.2 то через diver трафик всеравно направляется на rl0
для пробы бытался отправить весь трафик с одного адреса в rl2 всеравно все пытается попасть на rl0
# natd -n rl0 -p 8668
# natd -n rl2 -p 8669
defaultrouter="81.200.6.1"
divert 8669 log ip from 192.168.0.4 to any
divert 8668 log ip from 192.168.0.44 to any
fwd 192.168.1.1 log ip from 192.168.1.2 to any
fwd 81.200.6.1 log ip from 81.200.6.190 to any
divert 8669 log ip from any to 192.168.1.2
divert 8668 log ip from any to 81.200.6.190
Divert 8672 TCP 192.168.0.4:4728 217.23.134.43:80 in via rl1
Divert 8672 TCP 192.168.0.4:4728 217.23.134.43:80 out via rl0
Forward to 192.168.1.1 TCP 192.168.1.2:4728 217.23.134.43:80 out via rl0
Divert 8672 TCP 192.168.0.4:4728 217.23.134.43:80 in via rl1
Divert 8672 TCP 192.168.0.4:4728 217.23.134.43:80 out via rl0
Forward to 192.168.1.1 TCP 192.168.1.2:4728 217.23.134.43:80 out via rl0
Divert 8672 TCP 192.168.0.4:4728 217.23.134.43:80 in via rl1
Divert 8672 TCP 192.168.0.4:4728 217.23.134.43:80 out via rl0
Forward to 192.168.1.1 TCP 192.168.1.2:4728 217.23.134.43:80 out via rl0
Фрагмент правил реализующий Policy Routing.
ipfw add fwd 192.168.1.1 ip from 192.168.1.2 to any
ipfw add fwd 81.200.6.1 ip from 81.200.6.190 to any
Для примера
HTTP - Squid указываем tcp_outgoing_address 192.168.1.2
MAIL - Postfix указываем smtp_bind_address=81.200.6.190
P.S. defaultrouter и Divert не используем.
P.S. defaultrouter и Divert не используем. »
если это не оспользовать, то вобще никуда ничего не пойдет ))
Вы пробовали или это умозрительное утверждение ?
может я конечно утрирую, что совсем ничего никуда не ходит, но пакеты не пытаются кудато пойти за пределы сервака, даже внешие интерфейсы не пингуются
Например правило ipfw add fwd 192.168.1.1 ip from 192.168.1.2 to any
перенаправляет на ip 192.168.1.1 только пакеты исходящие с ip 192.168.1.2
Именно такой вариант и надо проверять
в логах происходит следующие
Forward to 192.168.1.1 ICMP:0.0 192.168.1.2 192.168.0.4 out via rl1
192.168.0.4 адрес в локалке
rl1 интерфейс локалки.
после добавления данног правила перестает пинговаться внешний интерфейс (192.168.1.2)
вобщем я уже ближе к истине, мепня ввела в заблуждение строка из логов
Forward to 192.168.1.1 TCP 192.168.1.2:4728 217.23.134.43:80 out via rl0
на самом деле все форвардиться куда надо, трафик уходит на rl2
это и есть заблуждение которое происходит у многих.
defaultrouter и Divert при этом работают нормально и отключать их не нужно !!
но есть одно НО, когда я обращаюсь к серверу удаленно он входящие пакеты тоже форвардит, как с этим быть ??
А правило fwd использует параметр out ?
А правило fwd использует параметр out ? »
само сабой
${fwcmd} add divert 8668 log ip from ${lan_net} to any
${fwcmd} add divert 8778 ip from ${lan_net} to any
${fwcmd} add fwd 192.168.1.1 log ip from 192.168.1.2 to any out
${fwcmd} add fwd 81.200.6.1 log ip from 81.200.6.190 to any out
${fwcmd} add divert 8668 ip from any to 81.200.6.190
${fwcmd} add divert 8778 ip from any to 192.168.1.2
из локальной сети не могу пинговать внешние интерфейсы, а снаружи соответственно пинговать сервак, подключаться и т.д.
это все сразу форвардиться на шлюзы
поправочка.
С внешней стороны проходит пинг и все открывается при условии что адреса не соседнии т.е. не 81.200.6.ххх
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.