Всем привет, в свое время данный форум мне очень помог, и сейчас хочу снова прибегнуть к вашей помощи.
Имеется шлюз-сервер на: FreeBSD 9.3-RELEASE #2: Thu Jun 11 09:52:58 MSK 2015
И центральный L3 Коммутатор.
В шлюзе серверное железо с сетевыми картами с поддержкой 802.1Q.
Был подключен второй провайдер, и отсюда появился вопрос, как можно организовать работу всей инфраструктуры.
em0 - Интерфейс смотрящий в сеть 192.168.1.10
em1 - Интерфейс смотрящий во внешний мир 11.11.11.11На сервере стоит IPFW + Kernel NAT, почти все правила IPFW имеют вид:
allow tcp from me [port] to any via em1 , то есть пакеты пропускаются непосредственно через интерфейс, как таковой IP адрес в правилах почти нигде не фигурирует
Я объединил на коммутаторе оба провайдера по разным VLAN в trunk, который подал на em1
Я прошу прощение, за мое невежество, но возможно ли создать на внешнем интерфейсе два VLANа
ifconfig_vlan10="inet 11.11.11.11 netmask 255.255.255.252 vlan 10 vlandev em1"
ifconfig_vlan11="inet 22.22.22.22 netmask 255.255.255.252 vlan 11 vlandev em1"
Затем простой метрикой выставить главным основной канал, а второстепенным - резервный.
То есть по приоритету все пакеты будут ломиться в основной vlan, а как только он не сможет обеспечить работу все пакеты пойдут на резерв.
И так как они оба vlandev em1, то правила файерволла не придется переписывать повторно, так как их довольно много. Или так не получится? И все равно конфиг придется полностью разделять на оба виртуальных интерфейса по виду:
allow tcp from me [port] to any via vlan10
allow tcp from me [port] to any via vlan11
Или все таки IPFW умеет работать с транком?
Отсюда возникает еще один вопрос
defaultrouter="11.11.11.10"
rc.conf, на сколько я знаю не поддерживает больше одного defaultrouter, а следовательно что бы назначить на второй интерфейс его шлюз нам придется использовать что-то другое. Возможно ли здесь использование демона mrouted для решение этой задачи? Если да, то как должно выглядеть правило, я так понимаю: route add IP 22.22.22.21 -iface vlan11
Жду ваших ценных советов и замечаний, если данный метод заработает то, выложу статью на wiki