Настройка правил firewall на резервном канале
- 
 Доброе утро,господа. 
 Ситуация : есть физический хост с pfsense 2.2.2 , установлены 3 сетевых адаптера -WAN , LAN , OPT1.Есть два канала от провайдеров - на WAN - основной,на OPT - резервный.Пока WAN работает-OPT1 не используется. LAN смотрит в локальную сеть.Резервирование (failover) настроено через System->Routing->Groups с помощью "Tier", переключение по триггеру "Member down" происходит успешно.
 Проблема вот в чём: необходимо,чтобы через резервный канал OPT1 из локальной сети был разрешён только VOIP трафик (порты 5060 и т.п.),а весь остальной трафик был запрещён-ума не приложу,как это сделать. Ситуация наверняка не уни кальная,возможно кто-то решал подобные задачи с помощью pfsens'a.Прошу поделиться мыслями по этому поводу.
- 
 Это нужно только при падении WAN или всегда? 
 Если навсегда - создать на LAN 2 правила - одно запрещающее VOIP с явным указанием шлюза WAN, 2-е разрешающее, с явным указанием шлюза OPT.
 Нужные порты можно завести как алиас, этот алиас затем задействовать в правиле(ах).Шлюз указывается Advanced features-Gateway. В принципе любые правила можно задавать, указывая вместо default конкретный gateway. 
- 
 Это нужно только при падении WAN или всегда? 
 Если навсегда - создать на LAN 2 правила - одно запрещающее VOIP с явным указанием шлюза WAN, 2-е разрешающее, с явным указанием шлюза OPT.Шлюз указывается Advanced features-Gateway Это нужно только на период падения WAN.А по поводу явного указания шлюза -это интересная мысль 
- 
 Это нужно только на период падения WAN.А по поводу явного указания шлюза -это интересная мысль Так если WAN падает, VOIP и так пойдет через OPT. 
- 
 Это нужно только на период падения WAN.А по поводу явного указания шлюза -это интересная мысль Так если WAN падает, VOIP и так пойдет через OPT. И всё остальное тоже,а этого нужно избежать.По резервному каналу должен идти только VOIP ,и ничего больше.Как бы разрулить это правилами? 
- 
 В принципе любые правила можно задавать, указывая вместо default конкретный gateway. Примерно так: 1.Разрешение всего трафика через WAN 1 
 2.Разрешение VOIP через OPT1
 3.Запрет всего через OPT1? 
- 
 И всё остальное тоже,а этого нужно избежать.По резервному каналу должен идти только VOIP ,и ничего больше.Как бы разрулить это правилами? Еще раз. Создать создать на LAN 1-е правило, запрещающее VOIP с явным указанием шлюза WAN. 
 Создать на LAN 2-е правило, запрещающее все, кроме DNS и VOIP с явным указанием шлюза OPT.
- 
 И всё остальное тоже,а этого нужно избежать.По резервному каналу должен идти только VOIP ,и ничего больше.Как бы разрулить это правилами? Еще раз. Создать создать на LAN 1-е правило, запрещающее VOIP с явным указанием шлюза WAN. 
 Создать на LAN 2-е правило, запрещающее все, кроме DNS и VOIP с явным указанием шлюза OPT.Я понял Вас,спасибо) Есть не очевидный (видимо) момент -до падения основного канала (WAN) никакого трафика вообще не должно идти через OPT1(трафик дорогой) 
- 
 Я понял Вас,спасибо) Есть не очевидный (видимо) момент -до падения основного канала (WAN) никакого трафика вообще не должно идти через OPT1(трафик дорогой) Так на то и правильные указания tier в failover. 
 Для гарантии дайте WAN максимальный Weight в System: Gateways: Edit gateway->adwanced, а OPT - минимальный.
 Но незначительный служебный трафик по OPT все равно будет идти, будет ли его считать провайдер - не знаю.
 Если OPT - PPPOE, например, и задержка на поднятие интерфейса не критична, можно включить Dial on demand в настройках OPT.
- 
 Я понял Вас,спасибо) Есть не очевидный (видимо) момент -до падения основного канала (WAN) никакого трафика вообще не должно идти через OPT1(трафик дорогой) Так на то и правильные указания tier в failover. 
 Для гарантии дайте WAN максимальный Weight в System: Gateways: Edit gateway->adwanced, а OPT - минимальный.
 Но незначительный служебный трафик по OPT все равно будет идти, будет ли его считать провайдер - не знаю.
 Если OPT - PPPOE, например, и задержка на поднятие интерфейса не критична, можно включить Dial on demand в настройках OPT.Большое спасибо за подробные рекомендации ) OPT как раз PPPOE . 
 Теперь далее- не работают почему-то вот эти правила (на скриншоте) :Трафик продолжает успешно ходить,ничего не дропается.ЧЯДН?  
 
- 
 У Вас сейчас весь трафик идет через WAN_DHCP6. Далее, sip чаще всего исп. UDP - у Вас же стоит TCP во 2-м правиле сверху. 
- 
 
- 
 У Вас сейчас весь трафик идет через WAN_DHCP6. Но физически WAN_DHCP6 выключен,и весь трафик идёт через OPT1. 
 Поле Gateway вообще за что отвечает и на что влияет?
- 
 sip чаще всего исп. UDP - у Вас же стоит TCP во 2-м правиле сверху. 
- 
 Но физически WAN_DHCP6 выключен,и весь трафик идёт через OPT1. Reset states сделайте. Поле Gateway вообще за что отвечает и на что влияет? Еще и как. Если только правильно настроено. 
- 
 У Вас сейчас весь трафик идет через WAN_DHCP6. Т.е. порядок правил не корректен. А если поменять порядок правил,и поставить allow VOIP для OPT1 то весь трафик будет идти через OPT1(резервный канал) всегда независимо от того,работает ли WAN.. 
 Задача в том,чтобы тем или иным образом
 а) Заставить ВЕСЬ трафик в штатном режиме(это когда WAN работает) ходить через WAN -и VOIP в том числе.OPT при этом поднят,но трафик через него должен быть запрещён-даже VOIP (канал этот резервный,трафик на нём тарифицируется довольно дорого)
 б)При переключении на резервный канал OPT через него разрешается только хождение VOIP (SIP ,RTP ну и DNS).
 Возможно ли такое сотворить с помощью Pfsense? Появилась было надежда с указанием в поле "Gateway" целевого шлюза для правила,но видимо это означает не то,что я думаю.
- 
 Ваше Default allow LAN to any rule, разрешающее все всем стоит выше остальных правил, из-за чего они не действуют - до них просто дело не доходит (правила выполняются сверху вниз). 
 Поставьте Default allow LAN to any rule последним, а свои правила - выше него.WAN_DHCP6 реально имет адрес IPv4 или IPv6? В правиле ведь явно задано IPv4. Без необходимости IPv6 использовать не надо. Появилась было надежда с указанием в поле "Gateway" целевого шлюза для правила,но видимо это означает не то,что я думаю. Указание поля Gateway позволяет привязать любое правило к шлюзу. Описанная вами задача выглядит решаемой. 
- 
 Ваше Default allow LAN to any rule, разрешающее все всем стоит выше остальных правил, из-за чего они не действуют - до них просто дело не доходит (правила выполняются сверху вниз). 
 Поставьте Default allow LAN to any rule последним, а свои правила - выше него.WAN_DHCP6 реально имет адрес IPv4 или IPv6? В правиле ведь явно задано IPv4. Без необходимости IPv6 использовать не надо. В реальности 4 версия IP,название просто осталось.Спасибо,сейчас попробую поменять правила местами. 
- 
 Спасибо,сейчас попробую поменять правила местами. В принципе правильно расположенное разрешающее правило с dst-портом 5060 с указанием шлюза OPT одновременно запретит такому трафику ходить через шлюз WAN Не забывать reset states или reboot. 
- 
 Появилась было надежда с указанием в поле "Gateway" целевого шлюза для правила,но видимо это означает не то,что я думаю. Указание поля Gateway позволяет привязать любое правило к шлюзу. Описанная вами задача выглядит решаемой. Увы,это иллюзия и нативными средствами pfsense 2.2.2 эту задачу решить не получится.Загвоздка в том,что правило разрешающее только VOIP через определённый интерфейс должно работать только при условии , что другой интерфейс лежит . Остаётся только организовать кластер pfsens'ов,или писать скрипты. 
