Tomsk Sysadmins Forum
Unix => Администрирование => Topic started by: synemo on September 04, 2006, 14:59:59
-
имется 2 выхода в интернет:
fxp0: ip 222.222.222.130 mask 255.255.255.224 gateway 222.222.222.129
fxp1: ip 111.111.111.244 mask 255.255.255.248 gateway 111.111.111.245
локалка:
dc0_alias0: ip 192.168.10.1 mask 255.255.255.128
dc0: ip 192.168.10.130 mask 255.255.255.128
нужно сеть 192.168.10.0/25 направлять в интернет через 111.111.111.245, а 192.168.10.128/25 - через 222.222.222.129
ядро собрано с параметрами:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
скрипт firewall'а:
natd -a 111.111.111.245 -p 8668 -u -s -m
natd -a 222.222.222.129 -p 8669 -u -s -m
${fwcmd} add divert 8668 ip from 192.168.10.0/25 to any
${fwcmd} add fwd 111.111.111.245 ip from 111.111.111.244 to any via fxp1
${fwcmd} add divert 8668 ip from any to 111.111.111.244 via fxp1
${fwcmd} add divert 8669 ip from 192.168.10.128/25 to any
${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any via fxp0
${fwcmd} add divert 8669 ip from any to 222.222.222.130 via fxp0
вопрос.
почему выход в интернет работает только по одному каналу, причем только по тому, который указан в качестве default в самой системе?
оба канала работоспособны, проверено. система FreeBSD 5.4 Release
-
скрипт firewall'а:
natd -a 111.111.111.245 -p 8668 -u -s -m
natd -a 222.222.222.129 -p 8669 -u -s -m
на самом деле:
natd -a 111.111.111.244 -p 8668 -u -s -m
natd -a 222.222.222.130 -p 8669 -u -s -m
-
http://www.opennet.ru/base/net/2_channel_balancing.txt.html (http://www.opennet.ru/base/net/2_channel_balancing.txt.html)
http://www.opennet.ru/tips/info/1009.shtml (http://www.opennet.ru/tips/info/1009.shtml)
-
http://www.opennet.ru/base/net/2_channel_balancing.txt.html (http://www.opennet.ru/base/net/2_channel_balancing.txt.html)
делал я как там написано, не идет почему-то
работает только тот канал, который в дефолте указан
-
А счетчики на правилах какие? Покажи ipfw show
-
${fwcmd} add fwd 111.111.111.245 ip from 111.111.111.244 to any via fxp1
${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any via fxp0
из этих двух команд нужно оставить одну. Например если default gateway 111.111.111.245, то:
${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any out via fxp1
идея такая: для исходящих пакетов сначала отрабатывает роутинг, а потом пакеты с адреса 222.222.222.130 идущие неправильным путем "out via fxp1" мы посылаем куда надо "fwd 222.222.222.129"
-
А счетчики на правилах какие? Покажи ipfw show
счетчики на divert'ах увеличиваются, а счетчик на fwd срабатывает только тот, который стоит в системе по умолчанию.
например, если default router стоит 222.222.222.129, то срабатывает только ${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any, а если по дефолту стоит 111.111.111.245, то срабатывает только ${fwcmd} add fwd 111.111.111.245 ip from 111.111.111.244 to any
из этих двух команд нужно оставить одну. Например если default gateway 111.111.111.245, то:
${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any out via fxp1
идея такая: для исходящих пакетов сначала отрабатывает роутинг, а потом пакеты с адреса 222.222.222.130 идущие неправильным путем "out via fxp1" мы посылаем куда надо "fwd 222.222.222.129"
пробовал, не работает.
пробовал оставлять только
${fwcmd} add divert 8668 ip from 192.168.10.0/25 to any
${fwcmd} add fwd 111.111.111.245 ip from 111.111.111.244 to any
${fwcmd} add divert 8668 ip from any to 111.111.111.244
при router default 222.222.222.129
и
${fwcmd} add divert 8669 ip from 192.168.10.128/25 to any
${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any
${fwcmd} add divert 8669 ip from any to 222.222.222.130
при router default 111.111.111.245
результат нулевой.
может в 5.4 кривой ipfw? никто не сталкивался с этим? или может у меня руки кривые?
-
Возможно и кривой, с форвардингом бывали баги. Попробуй в ядро добавить еще и IPFIREWALL_FORWARD_EXTENDED и покажи полный ipfw show.
-
счетчики на divert'ах увеличиваются, а счетчик на fwd срабатывает только тот, который стоит в системе по умолчанию.
например, если default router стоит 222.222.222.129, то срабатывает только ${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any, а если по дефолту стоит 111.111.111.245, то срабатывает только ${fwcmd} add fwd 111.111.111.245 ip from 111.111.111.244 to any
пробовал, не работает.
пробовал оставлять только
${fwcmd} add divert 8668 ip from 192.168.10.0/25 to any
${fwcmd} add fwd 111.111.111.245 ip from 111.111.111.244 to any
${fwcmd} add divert 8668 ip from any to 111.111.111.244
при router default 222.222.222.129
и
${fwcmd} add divert 8669 ip from 192.168.10.128/25 to any
${fwcmd} add fwd 222.222.222.129 ip from 222.222.222.130 to any
${fwcmd} add divert 8669 ip from any to 222.222.222.130
при router default 111.111.111.245
результат нулевой.
может в 5.4 кривой ipfw? никто не сталкивался с этим? или может у меня руки кривые?
и руки и глаза
я тебе одно написал, ты сделал что-то свое и отвечаешь с цитатой на меня что "не работает".
можно же конечно и конфиг файрвола полный составить за тебя, но если ты не поймешь как оно работает - то как ты с этим будешь работать?
Но мы тут не политвоспитанием занимаемся . И по прожнему говорю: сделай дословно как я предложил - должно работать.
или выкладывай полный конфиг файерволла и ната - тогда тебе можно будет показать на твою ошибку.
-
и руки и глаза
я тебе одно написал, ты сделал что-то свое и отвечаешь с цитатой на меня что "не работает".
можно же конечно и конфиг файрвола полный составить за тебя, но если ты не поймешь как оно работает - то как ты с этим будешь работать?
Но мы тут не политвоспитанием занимаемся . И по прожнему говорю: сделай дословно как я предложил - должно работать.
или выкладывай полный конфиг файерволла и ната - тогда тебе можно будет показать на твою ошибку.
я так делал как ты говорил: оставлял только одну команду fwd. чего ты не понял?
конфиги у ната и файервола по умолчанию, т.е. нет их
а вообще проблема решается просто: добавлением в ядро опции IPFIREWALL_FORWARD_EXTENDED
http://www.unixfaq.ru/index.pl?req=qs&id=507 (http://www.unixfaq.ru/index.pl?req=qs&id=507)