os:
FreeBSD freebsd.domain.ru 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Thu Dec 21 16:41:09 MSK 2006 test@freebsd.domain.ru:/usr/src/sys/i386/compile/CUBXL i386настройки сети:
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
inet 192.168.255.249 netmask 0xfffffff8 broadcast 192.168.255.255
ether 00:02:b3:2e:e3:d7
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
fxp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 195.x.x.215 netmask 0xffffff00 broadcast 195.x.x.255
ether 00:50:8b:5e:70:5a
media: Ethernet autoselect (10baseT/UTP)
status: active
fxp2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
inet 10.0.2.31 netmask 0xff000000 broadcast 10.255.255.255
ether 00:02:b3:5d:cb:98
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=0<> mtu 2020
syncpeer: 224.0.0.240 maxupd: 128
fxp0 - подсеть dmz
fxp1, fxp2 - интерфейсы, смотрящие, соотв., в инет ч/з 128kbs & 20mbs каналы.
хотелось бы, чтобы при падении одного из каналов (fxp2, например, как основного) пользователи переключались на fxp1 автоматически.
на ixbt.com http://forum.ixbt.com/topic.cgi?id=76:6339 посоветовали см. в сторону debian+iproute2 либо openbsd+pf. т.к. я немного знаю freebsd, а pf на ней работает, то решил попробовать связку freebsd+pf.
почитал мануал http://www.openbsd.org/faq/pf/pools.html#nat по pf и возник след. вопрос.
выбор интерфейса, на к-рый роутится трафик из внутр. подсети может быть осуществлен 4 способами:
1. bitmask - однозначно преобразует пул внутренних адресов в пул внешних комбинацией адреса сети внешнего интерфейса и адреса хоста клиента во внутр. сети
2. random - случайным образом выбирается интерфейс.
3. source-hash - жесткая привязка внутренних адресов к определенному внешнему интерфейсу.
4. round-robin - последовательный выбор следующего внешнего интерфейса (1->2->1->2...)
я не ошибся в инерпретации опций?
если нет, то вот суть вопроса: как я могу указать вероятность, с к-рой будет выбран тот или иной интерфейс? то есть: есть 2 канала, 20mbs & 128kbs; возможность динамической балансировки - это довесок и не критично (реализовать можно и policy-based routing). главное - чтобы при падении 1го канала исходящий трафик начинал использоваться 2ой канал без необходимости вмешательства тех. персонала =). если я выберу схему round-robin или random, не приведет ли это к снижению скорости доступа к инету: посылается один пакет ч/з быстрый канал, а след. или случайно выбранный - ч/з медленный. в рез-те часть пакетов идет ч/з 128кбс.