Гид по технологиям

Как настроить кластер pfSense 2.0 с использованием CARP

• 8 min read • Сеть • Обновлено 22 Nov 2025
Как настроить кластер pfSense 2.0 с CARP
Как настроить кластер pfSense 2.0 с CARP

Цель статьи

Объяснить практически и последовательно, как настроить два идентичных устройства pfSense 2.0 в HA-кластер с CARP (Common Address Redundancy Protocol) для обеспечения отказоустойчивости WAN и LAN адресов. Подход применим для крайних (edge) и внутренних периметров сети.

Ключевые варианты запроса (SEO)

настроить кластер pfSense, pfSense CARP, pfSense 2.0 отказоустойчивость, виртуальный IP CARP, синхронизация pfSense


Требования

  • Два идентичных компьютера (рекомендуется отдельный физический хост, не виртуальная машина для edge-файрволов). VMs возможны, но лучше держать устройства вне основной виртуальной инфраструктуры.
  • Минимум по 3 сетевые карты на каждое устройство: WAN, LAN и SYNC (выделенная подсеть для синхронизации).
  • pfSense 2.0 установлена на обоих устройствах, с базовой конфигурацией сетевых интерфейсов.
  • Резервные копии конфигурации перед началом.

Важно: выделенный SYNC-интерфейс уменьшает риск утечки конфиденциальных данных и предотвращает лишние задержки синхронизации.

Пример используемых IP-адресов (из HowTo)

Network Configuration:

Firewall 1 Firewall 2
WAN IP: 192.168.100.1 WAN IP: 192.168.100.2
SYNC IP: 10.155.0.1 SYNC IP: 10.155.0.2
LAN IP: 192.168.1.252 LAN IP: 192.168.1.253

Виртуальные IP, которые будут разделяться:

WAN Virtual IP: 192.168.100.200
LAN Virtual IP: 192.168.1.254

Примечание: подставьте адреса вашей сети. Подсеть SYNC должна быть недоступна извне.

Схема того, что мы строим

Демонстрационная схема двух pfSense с выделенным SYNC-интерфейсом, WAN и LAN виртуальными IP

1. Подготовка правил доступа для SYNC

  1. Войдите в веб-интерфейс обоих pfSense.
  2. Перейдите в Брандмауэр → Правила (Firewall | Rules), выберите интерфейс SYNC.
  3. Нажмите плюс для добавления правила. Установите Protocol = any (временно), добавьте понятное описание и сохраните.
  4. Нажмите Apply Changes, если появится кнопка.

Скриншот создания правила для SYNC-интерфейса

Совет: после успешной настройки можно сузить правило по IP-адресам/портам, чтобы разрешать трафик только между парой pfSense.

2. Настройка синхронизации конфигурации (на резервном узле)

  1. Откройте резервный (backup) firewall.
  2. Перейдите в Брандмауэр → Виртуальные IP (Firewall | Virtual IPs), вкладка CARP Settings.
  3. Поставьте галочку Synchronize Enabled и в качестве интерфейса синхронизации выберите SYNC. Сохраните.

Настройка синхронизации на резервном узле

Примечание: на резервном узле чаще всего оставляют только приём синхронизации — основную настройку (куда синхронизировать) выполняют на ведущем узле.

3. Настройка синхронизации конфигурации (на основном узле)

  1. Войдите в основной (primary) firewall.
  2. Перейдите в Брандмауэр → Виртуальные IP, вкладка CARP Settings.
  3. Отметьте Synchronize Enabled и выберите SYNC как интерфейс синхронизации.
  4. Отметьте опции: Synchronize Rules, Synchronize NAT, Synchronize Virtual IPs.
  5. В поле Synchronize to IP укажите SYNC IP резервного узла (например, 10.155.0.2).
  6. Установите Remote System Password — назначьте надёжный пароль для удалённой синхронизации.
  7. Сохраните и примените изменения.

Настройка синхронизации на основном узле

Пояснение: pfSense использует XMLRPC для синхронизации конфигурации. Для синхронизации таблицы состояний используется pfsync (см. раздел о расширенной синхронизации).

4. Создание виртуальных IP (VIP) — WAN

  1. На основном узле перейдите в Брандмауэр → Виртуальные IP → Virtual IPs.
  2. Нажмите плюс, выберите тип CARP.
  3. Интерфейс: WAN. Укажите IP Address (например, 192.168.100.200).
  4. Создайте Virtual IP Password (пароль для CARP). Оставьте VHID Group = 1 и Advertising Frequency = 0 (или выставьте по требованиям вашей сети).
  5. Добавьте описание, сохраните и примените.

Создание VIP для WAN

Объяснение терминов в одну строку:

  • CARP: протокол для совместного использования IP между несколькими хостами.
  • VHID: идентификатор группы CARP — он должен быть уникален для каждой виртуальной адресной группы в сети.
  • Advertising Frequency / advskew: параметр приоритета; меньшие значения дают более высокий приоритет (master).

5. Создание виртуальных IP (VIP) — LAN

Повторите процесс для LAN: выберите Interface = LAN, задайте IP (192.168.1.254), назначьте другую VHID Group (например, 3), добавьте описание и примените.

Создание VIP для LAN

После этого в разделе Виртуальные IP вы увидите два типа CARP VIP.

Список CARP VIP на основном узле

Если вы войдёте на резервный узел и откроете Виртуальные IP, виртуальные адреса должны присутствовать — это подтверждение успешной синхронизации.

Как это работает (коротко)

Два pfSense постоянно синхронизируют выбранные настройки (правила, NAT, VIP и т.д.). CARP обеспечивает общий виртуальный IP: при недоступности основного узла резервный принимает VIP и продолжает обработку трафика.

Важно: в моих тестах переключение занимало ~10 секунд из‑за того, что FreeBSD применяет VIP на интерфейсе после потери связи с основным узлом.

Тестирование отказа

  1. Откройте постоянный ping к LAN или WAN виртуальному IP с внешнего устройства.
  2. На основном узле отключите сетевой кабель или выключите устройство.
  3. Наблюдайте: адрес может быть недоступен несколько секунд, затем резервный узел поднимет VIP и связь восстановится.

Совет: выполняйте тестирование в окне технического обслуживания и предварительно уведомите заинтересованные стороны.


Дополнительные рекомендации и варианты

Альтернативные подходы

  • Использовать pfsync для синхронизации таблицы состояний (state table) — тогда TCP/UDP сессии продолжат жить после переключения. Это отдельная настройка на интерфейсе SYNC.
  • Аппаратные балансировщики/VRRP-подобные решения — в больших корпоративных средах иногда предпочитают аппаратные кластеры.

Когда этот подход не подходит

  • Когда требуется географически распределённая High Availability (CARP обычно работает в пределах одного L2/L3 сегмента).
  • При отсутствии выделенного канала SYNC или при нестабильных сетях — синхронизация будет ненадёжной.

Ментальные модели / эвристики

  • Разделяй контрольные каналы: SYNC отдельно от пользовательского трафика.
  • VIP = согласованный адрес; CARP решает, кто отвечает за него.
  • Низкий advskew = высокий приоритет (станет master быстрее).

Уровни зрелости (maturity)

  • Уровень 1: Два узла, только конфигурация синхронизируется (правила, NAT, VIP).
  • Уровень 2: Добавлен pfsync — синхронизация таблицы состояний для непрерывности сессий.
  • Уровень 3: Мониторинг, автоматические оповещения, регулярные тесты и проверенная процедура отката.

Контрольный список перед вводом в эксплуатацию (администратор)

  • Установлены и протестированы физические подключения (WAN, LAN, SYNC).
  • Резервные копии конфигураций обоих узлов.
  • Совпадают версии pfSense и пакетов на обоих узлах.
  • VHID уникален для каждой VIP-группы.
  • Ограничены правила доступа на SYNC (только IP пары).
  • Установлен надёжный Remote System Password.
  • План отката и окно обслуживания согласованы.

Плейбук: краткая процедура переключения и отката

  1. Подготовка: уведомить команду, сделать бэкап.
  2. Тест: провести проверку ping на VIP и сервисы.
  3. Принудительное переключение: уменьшить advskew на нужном узле или выключить основной узел.
  4. Восстановление: вернуть основной узел в сеть, проверить его логи, синхронизацию.
  5. Откат: восстановить исходные advskew/приоритеты и подтвердить, что VIP снова на основном (если требуется).

Отладка — частые ошибки и их решения

  • VIP не отображается на резервном узле: проверьте настройки CARP sync, доступность SYNC IP и Remote System Password.
  • Конфликты VHID: убедитесь, что каждая VIP-группа использует уникальный VHID.
  • Правила SYNC блокируют трафик: временно откройте Protocol = any и проверьте соединение; потом сузьте правила.
  • Сессии не переживают failover: включите pfsync на SYNC-интерфейсе для репликации таблицы состояний.
  • Несовпадающие версии pfSense: синхронизируемые объекты могут не применяться — обновите ПО одинаково.

Критерии приёмки

  • Резервный узел получил синхронизированные правила, NAT и VIP (визуально в веб-интерфейсе).
  • При тестовом выключении основного узла виртуальные IP поднимаются на резервном и сервисы возобновляют работу.
  • Время переключения соответствует ожиданиям операционной политики (обычно <30 с, зависит от конфигурации).

Тестовые сценарии (acceptance)

  • Сценарий 1: Отключение кабеля основного узла — VIP поднимается на резервном в рамках допустимого SLA.
  • Сценарий 2: Проверка синхронизации правил — добавить правило на основном, убедиться, что оно появилось на резервном.
  • Сценарий 3: (при pfsync) Установить длительную TCP-сессию и протестировать, что она остаётся активной после failover.

Безопасность и рекомендации по защите SYNC

  • SYNC-сеть должна быть закрытой (не маршрутизируемой извне).
  • Разрешайте доступ на SYNC только между адресами парных pfSense.
  • Используйте сложный Remote System Password и HTTPS для веб-интерфейса.
  • Логируйте попытки доступа и интегрируйте с SIEM при возможности.

Краткий глоссарий (1 строка)

  • CARP — протокол для совместного использования IP-адресов между хостами.
  • VHID — уникальный идентификатор группы CARP.
  • VIP — виртуальный IP, на который переключается трафик.
  • SYNC — выделенный интерфейс/подсеть для синхронизации конфигурации.
  • pfsync — механизм синхронизации таблицы состояний между pfSense.

Часто задаваемые вопросы

Q: Нужно ли настраивать pfsync для корректного failover?
A: pfsync нужен, если вы хотите, чтобы активные соединения (state) продолжали существовать после переключения. Без pfsync сессии могут прерваться.

Q: Можно ли использовать виртуальные машины для pfSense в HA?
A: Можно, но для edge-фаерволов лучше физические устройства. В виртуализированных средах убедитесь, что выделенные NIC не конкурируют с гипервизором.

Q: Сколько времени занимает переключение?
A: Зависит от конфигурации; в примерах тестирования наблюдалась задержка около 10 секунд, но время может варьироваться.


Резюме

Настройка pfSense 2.0 в HA с CARP — надёжный способ организовать отказоустойчивость WAN и LAN IP. Ключевые шаги: выделить SYNC-интерфейс, открыть правила для синхронизации, включить синхронизацию на основном и резервном узлах, создать CARP VIP для WAN и LAN и протестировать failover. Не забудьте про безопасность SYNC-сети, проверку VHID и, при необходимости, pfsync для репликации состояний.

Важное: перед развёртыванием делайте бэкапы конфигураций и тестируйте поведение в контролируемой среде.


Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро