Страница 1 из 1
Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-24 18:19:59
fessoga5
В общем дело обстоит так. В свое время мутил распределение нагрузки между двумя провайдерами. Начитался о setfib, о setfib + ipfw, все понял и все заработало. Но потом, чисто случайно сделал такую хрень ....
Код: Выделить всё
route add default x.x.x.x
route add 0.0.0.0 y.y.y.y 2
И твою мать что я увидел:
Код: Выделить всё
Internet:
Destination Gateway Flags Refs Use Netif Expire
0.0.0.0&0x2 y.y.y.y UGS 0 0 vr0 =>
default x.x.x.x UGS 0 0 vr0
И что еще удивительнее, они оба работают, каким то чудом рандомно срабатывает то первый то второй дефолт. Как же так то блеять?! Неужели раньше этого никто не замечал??? Можно хоть 8 таких маршрутов и все срабатывают??? Каким образом выбирается какой маршрут???
P.S.
Во второй таблице маршрутизации, сделал два default и запустил торрент. Работает одновременно через двух провайдеров и качает с сумарной скоростью от обоих провайдеров.
Re: Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-24 18:42:43
rmn
если таргет находится в нескольких записях таблицы маршрутизации, выбирается та, в которой наименьшее число хостов.
Код: Выделить всё
root@vhost1:/root # ipcalc 0.0.0.0 2
Address: 0.0.0.0 00 000000.00000000.00000000.00000000
Netmask: 192.0.0.0 = 2 11 000000.00000000.00000000.00000000
Wildcard: 63.255.255.255 00 111111.11111111.11111111.11111111
=>
Network: 0.0.0.0/2 00 000000.00000000.00000000.00000000
HostMin: 0.0.0.1 00 000000.00000000.00000000.00000001
HostMax: 63.255.255.254 00 111111.11111111.11111111.11111110
Broadcast: 63.255.255.255 00 111111.11111111.11111111.11111111
Hosts/Net: 1073741822 Class A, In Part Private Internet
так что, если адрес пира (в твоем случае) попадает в диапазон 0.0.0.1 - 63.255.255.254, запрос уйдет через один шлюз, иначе - через другой.
Re: Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-24 18:49:22
fessoga5
rmn писал(а):если таргет находится в нескольких записях таблицы маршрутизации, выбирается та, в которой наименьшее число хостов.
Код: Выделить всё
root@vhost1:/root # ipcalc 0.0.0.0 2
Address: 0.0.0.0 00 000000.00000000.00000000.00000000
Netmask: 192.0.0.0 = 2 11 000000.00000000.00000000.00000000
Wildcard: 63.255.255.255 00 111111.11111111.11111111.11111111
=>
Network: 0.0.0.0/2 00 000000.00000000.00000000.00000000
HostMin: 0.0.0.1 00 000000.00000000.00000000.00000001
HostMax: 63.255.255.254 00 111111.11111111.11111111.11111110
Broadcast: 63.255.255.255 00 111111.11111111.11111111.11111111
Hosts/Net: 1073741822 Class A, In Part Private Internet
так что, если адрес пира (в твоем случае) попадает в диапазон 0.0.0.1 - 63.255.255.254, запрос уйдет через один шлюз, иначе - через другой.
Мм. Однако проще говоря, я побил 0.0.0.0 на две подсети и внес их в таблицу маршрутизации ?
Re: Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-24 18:53:38
rmn
fessoga5 писал(а):Мм. Однако проще говоря, я побил 0.0.0.0 на две подсети и внес их в таблицу маршрутизации ?
именно
Re: Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-24 19:12:33
rmn
fix: ты поделил сети не по маске /2, а по маске 255.255.255.253 (она же 2, она же 0xfffffffd). Хотя это и не валидная маска, route ее почему то принимает. И через второй шлюз пакеты пойдут для тех адресов, у которых второй бит в последнем октете равен 1.
Re: Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-24 22:53:28
res251
напишу не в тему, но у меня тоже было чудо, фря подключилась к вайфаю с неправильным логином и паролем, каким чудом )))))))))))
Re: Тайна века. FREEBSD and two default gw.
Добавлено: 2013-06-27 11:40:14
vadim64
ТС - опасный тип