Пример настройки PF для двух каналов с симметричной маршрутизацией
Файл с примером настройки PF для двух каналов с симметричной маршрутизацией pf-dual.conf.
- Задача: FreeBSD 7.2-RELEASE #0. Две сетевые карты: rl0 (основной провайдер, шлюз по умолчанию, ifconfig_rl0="DHCP"), vr0 (резервный провайдер, ifconfig_vr0="inet x.x.x.x netmask 255.255.255.224"). Письма должны пересылаться через удаленный почтовый сервер используя маршрут резервного провайдера vr0, весь остальной трафик (репликация MySQL) должен уходить по route default rl0. SSH и Apache должны быть доступны через оба интерфейса.
- Решение: Решение приведенное в файле pf-dual.conf с использованием маркера tagged у меня не заработало. Предполагаю потому что PF не был скомпилирован в ядро, а загружался как модуль.
ext_if_a="rl0" ext_if_b="vr0" ext_gw_a="x.x.x.161" ext_gw_b="x.x.x.253" #Normalization: scrub incoming packets scrub in all # pass traffic on the loopback interface in either direction pass quick on lo0 all # spoofing antispoof quick for $ext_if_a inet #Симметричная маршрутизация: (если пакет пришел из канала A, ответ пойдет #через канал A независимо от default route). pass in quick on $ext_if_a reply-to ($ext_if_a $ext_gw_a) keep state pass in quick on $ext_if_b reply-to ($ext_if_b $ext_gw_b) keep state pass in all pass out all