Маршрутизация в pfSense - шлюзы и статические маршруты

Маршрутизация в pfSense определяет, каким путём пакеты достигают сетей назначения. pfSense реализует маршрутизацию средствами сетевого стека FreeBSD и предоставляет три механизма управления маршрутами: шлюзы (gateways), статические маршруты (static routes) и маршрутизация на основе политик (policy-based routing) через правила файрвола.

Принципы маршрутизации

При поступлении пакета pfSense определяет следующий узел (next hop) на основе таблицы маршрутизации. Таблица формируется автоматически из адресов интерфейсов и дополняется статическими маршрутами, настроенными администратором. По умолчанию весь трафик, не принадлежащий непосредственно подключённым сетям, направляется через шлюз по умолчанию (default gateway).

Механизм маршрутизации работает до применения правил файрвола. Пакет сначала проходит NAT-трансляцию (если применимо), затем выбирается маршрут, и после этого применяются правила фильтрации. Это важно учитывать при проектировании сетевой топологии с несколькими шлюзами.

Шлюзы

Шлюзы (gateways) - точки выхода трафика из pfSense. Каждый шлюз представляет собой IP-адрес маршрутизатора следующего хопа на определённом интерфейсе. pfSense автоматически создаёт шлюзы для WAN-интерфейсов при получении параметров через DHCP или PPPoE. Шлюзы для внутренних сетей (LAN, OPT) необходимо создавать вручную.

Настройка шлюзов выполняется в разделе System > Routing > Gateways. Каждый шлюз характеризуется именем, привязкой к интерфейсу, IP-адресом и параметрами мониторинга. pfSense непрерывно контролирует доступность шлюзов с помощью демона dpinger, что позволяет автоматически переключать трафик при отказе основного канала.

Шлюз по умолчанию

Шлюз по умолчанию определяет маршрут для всего трафика, не совпавшего ни с одним явным маршрутом в таблице. В конфигурации с одним WAN-интерфейсом шлюз по умолчанию назначается автоматически. При наличии нескольких WAN-подключений администратор явно указывает шлюз по умолчанию в разделе System > Routing > Gateways, вкладка Default Gateway.

Gateway Groups

Gateway Groups позволяют объединять несколько шлюзов в логические группы для обеспечения отказоустойчивости (failover) и балансировки нагрузки (load balancing). Каждый шлюз в группе получает приоритет (Tier) и вес (Weight). Шлюзы с одинаковым приоритетом используются одновременно для балансировки, шлюзы с более высоким номером приоритета активируются только при отказе всех шлюзов с меньшим номером.

Статические маршруты

Статические маршруты необходимы, когда целевая сеть доступна через маршрутизатор, отличный от шлюза по умолчанию. Типичные сценарии: доступ к удалённым подсетям за внутренним маршрутизатором, маршрутизация трафика VPN-туннелей и связь с сетями филиалов через выделенные каналы.

Статические маршруты настраиваются в разделе System > Routing > Static Routes. Каждый маршрут определяет сеть назначения и шлюз, через который она доступна. Шлюз должен быть предварительно создан в разделе Gateways.

Policy-Based Routing

Policy-based routing (PBR) в pfSense реализуется через поле Gateway в правилах файрвола. В отличие от классической маршрутизации, основанной исключительно на адресе назначения, PBR позволяет направлять трафик через определённый шлюз на основе адреса источника, протокола, порта назначения и других критериев.

Типичные сценарии применения: принудительная маршрутизация трафика определённых хостов через конкретный WAN-канал, направление VoIP-трафика через канал с минимальной задержкой и разделение трафика гостевой сети и основной сети по разным провайдерам.

Содержание раздела

  • Статические маршруты - создание шлюзов, настройка статических маршрутов, просмотр таблицы маршрутизации и диагностика
  • Policy Routing - маршрутизация трафика на основе правил файрвола, использование Gateway Groups и сценарии применения

Связанные разделы

  • Файрвол pfSense - правила фильтрации, алиасы и управление политикой безопасности
  • Multi-WAN в pfSense - настройка нескольких WAN-подключений с отказоустойчивостью и балансировкой
  • VLAN в pfSense - сегментация сети на уровне канального уровня, требующая корректной маршрутизации между VLAN
Last updated on