Распределение трафика между двумя каналами во FreeBSD |
[исправить] |
Во FreeBSD 7 появилась возможность задания множественных таблиц маршрутизаций.
В ядре отвечает за это опция:
options ROUTETABLES=[количество таблиц]
Распределения трафика будет осуществляться средствами пакетного фильтра ipfw.
Задаем маршруты по умолчанию:
setfib 0 route add default 1.0.1.1 # таблица по умолчанию
setfib 1 route add default 1.1.1.1 # новая таблица
Файл конфигурации для запуска ipfw:
cmd="/sbin/ipfw"
$cmd add 10 check-state
$cmd add 20 prob 0.5 setfib 0 tcp from 192.168.0.0/16 to not 192.168.0.0/16 setup keep-state
$cmd add 30 setfib 1 tcp from 192.168.0.0/16 to not 192.168.0.0/16 setup keep-state
$cmd add 40 allow all from any to any
Таким образом мы задаем распределение трафика 50/50. Если каналы не равноценные
то нужно выставить процентную весомость этих каналов.
Трансляция адресов (NAT).
Под эту задачу я выбрал ipnat, реализацию NAT от фаервола ipf.
пример /etc/ipnat.rules:
map vlan0 192.168.0.0/16 -> 1.0.1.1/32
map tun0 192.168.0.0/16 -> 1.1.1.1/32
Также можно выбрать демон natd или новый, работающий на уровне ядра, NAT,
который появился во FreeBSD 7.
|
|
|
|
Раздел: Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter |