2 канала в Инет через PF

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
beho1der
рядовой
Сообщения: 17
Зарегистрирован: 2008-10-02 14:29:11

2 канала в Инет через PF

Непрочитанное сообщение beho1der » 2009-04-17 19:43:38

Иметься шлюз с freeBSD 7.0 и два канала в инет(оба канал безлимитных, но первый скоростной и не стабильный,второй медленный но надёжный) соответственно настроено в случаи отказа первого канала переход на второй.Задался идеей хотя бы частично использовать второй канал,погуглил и нашел варианты настройки через PF или IPFW, выбрал PF так как больше с ним работал.Решил для начала просто поделить трафик пополам.
Теперь о сети локальная сеть(192.168.0.0.24),1- канал стоит аппаратный роутер 192.168.3.1 ,2- канал ADSL модем 192.168.2.1.(прилагаться картинка).Пользователи попадают на шлюз(squid) через настойку proxy server в браузере,в настоящий момент у них прописан основным шлюзом другой шлюз,так как этот пока тестовый! В мануале по PF даны пару примеров реализации двух каналов через route to и round-robin.
Cделал оттуда по примеру. В итоге получается инет идет только по одному default route, и в упор не хочет видеть второй канал.Самое интересное правило:

Код: Выделить всё

 pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
   proto tcp from self to any port $client_out keep state
никак не влияют на маршрут трафика! В чем загвоздка?
Полный pf.conf

Код: Выделить всё

int_if="re0"  # local
ext_if1="fxp0" # inet
ext_if2="vr0" # ADSL
ext_gw1= "192.168.3.1"
ext_gw2= "192.168.2.1"
int_net="{192.168.0.0/24}" # local
non_route_nets_inet="{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, \
    169.254.0.0/16, 192.0.2.0/24, 0.0.0.0/8, 240.0.0.0/4 }" 
client_out = "{ ftp-data, ftp, ssh, domain, pop3, auth, nntp, \
                https, 446, cvspserver,80 , cvsup, 8080,110 ,60177,443,53 }"
allowed_icmp_types="{ echoreq, unreach }"
table <BRUTEFORCERS> persist
set timeout { frag 10, tcp.established 3600 }
set block-policy drop
set skip on lo0
set skip on $int_if
scrub in all
#---------Order-------------------------------------------
block all
antispoof log quick for { lo0, $int_if, $ext_if1 }
block drop in log quick on $ext_if1 from $non_route_nets_inet to any
block drop log quick from <BRUTEFORCERS>
pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
   proto tcp from self to any port $client_out keep state
pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
   proto {udp,icmp} from self to any keep state 
     
#---------SHH--------------------------------------------------
pass in on $int_if proto tcp from $int_net to $int_if port ssh queue ( qssh, qack ) synproxy state ( max-src-conn-rate 1/60,overload <BRUTEFORCERS> flush global )
pass in on $ext_if1 proto tcp from any to $ext_if1 port ssh queue ( qssh, qack ) synproxy state ( max-src-conn-rate 1/60,overload <BRUTEFORCERS> flush global )
#---------------------------------------------------------------
pass out on $ext_if1 proto tcp from any to any port $client_out flags S/SA modulate state
pass out on $ext_if1 proto { udp, icmp } from any to any keep state
pass out on $ext_if2 proto tcp from any to any port $client_out flags S/SA modulate state
pass out on $ext_if2 proto { udp, icmp } from any to any keep state
Вложения
2.png
2.png (3.52 КБ) 993 просмотра

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Soldier
ст. сержант
Сообщения: 364
Зарегистрирован: 2008-10-02 9:28:30

Re: 2 канала в Инет через PF

Непрочитанное сообщение Soldier » 2009-04-18 13:09:32

Сделай себе 2 влана, в один сунь шнурок от одного прова, в другой сунь шнурок от другого прова, и задай так, чтобы они все шли в третий влан. на фрихе настрой дефолтный шлюз и днс на 3 влан. по идее должны использоваться 2 канала одновременно, только ACL настрой так, чтоб траф из одной провайдерской полосы в другую не ходил (между вланами запрети обмен трафом), а то будешь транзитчиком.
Tux: "Kill Bill !!!"

beho1der
рядовой
Сообщения: 17
Зарегистрирован: 2008-10-02 14:29:11

Re: 2 канала в Инет через PF

Непрочитанное сообщение beho1der » 2009-04-18 17:25:00

Хороший вариант,но хотелось бы реализовать через PF потому как уже все готово,если нчиего путсного не пойдет попробую еще через Кальмара настроить,если уже и через него не пойдет займусь Vlan"ами!

Ed_
проходил мимо
Сообщения: 2
Зарегистрирован: 2009-04-10 11:34:13

Re: 2 канала в Инет через PF

Непрочитанное сообщение Ed_ » 2009-04-23 16:27:04

Сделай себе 2 влана, в один сунь шнурок от одного прова, в другой сунь шнурок от другого прова, и задай так, чтобы они все шли в третий влан. на фрихе настрой дефолтный шлюз и днс на 3 влан. по идее должны использоваться 2 канала одновременно, только ACL настрой так, чтоб траф из одной провайдерской полосы в другую не ходил (между вланами запрети обмен трафом), а то будешь транзитчиком.
а можно по подробнее про vlan, ибо тоже появился второй канал безлимитный
Difficile est proprie communia dicere