Страница 1 из 1

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

Добавлено: 2009-04-17 19:43:38
beho1der
Иметься шлюз с 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

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

Добавлено: 2009-04-18 13:09:32
Soldier
Сделай себе 2 влана, в один сунь шнурок от одного прова, в другой сунь шнурок от другого прова, и задай так, чтобы они все шли в третий влан. на фрихе настрой дефолтный шлюз и днс на 3 влан. по идее должны использоваться 2 канала одновременно, только ACL настрой так, чтоб траф из одной провайдерской полосы в другую не ходил (между вланами запрети обмен трафом), а то будешь транзитчиком.

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

Добавлено: 2009-04-18 17:25:00
beho1der
Хороший вариант,но хотелось бы реализовать через PF потому как уже все готово,если нчиего путсного не пойдет попробую еще через Кальмара настроить,если уже и через него не пойдет займусь Vlan"ами!

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

Добавлено: 2009-04-23 16:27:04
Ed_
Сделай себе 2 влана, в один сунь шнурок от одного прова, в другой сунь шнурок от другого прова, и задай так, чтобы они все шли в третий влан. на фрихе настрой дефолтный шлюз и днс на 3 влан. по идее должны использоваться 2 канала одновременно, только ACL настрой так, чтоб траф из одной провайдерской полосы в другую не ходил (между вланами запрети обмен трафом), а то будешь транзитчиком.
а можно по подробнее про vlan, ибо тоже появился второй канал безлимитный