Skip to main content

pfSense: базовые сведения и продвинутые приёмы

1. Первичный доступ и учётные записи

После установки используются стандартные данные для входа:

  • Логин: admin
  • Пароль: pfsense

Вводятся при первом входе в WebGUI (https://<IP-адрес pfSense>). После входа система запускает мастер настройки и требует сменить пароль администратора.

Рекомендации:

  • Сразу создать нового пользователя-администратора и отключить дефолтный admin.
  • Включить доступ к WebGUI только по HTTPS, порт изменить с 443 на нестандартный (например, 8443).

2. Маршрутизация

Статический маршрут можно добавить как через WebGUI (System → Routing → Static Routes), так и из консоли (Shell).

Пример команды:

route add -net 192.168.50.0/24 192.168.1.1

Или с явным указанием маски:

route add -net 192.168.50.0 -netmask 255.255.255.0 192.168.1.1

Особенности:

  1. Такие маршруты из консоли временные — пропадут после перезагрузки.
  2. Для постоянного действия используйте WebGUI или добавьте запись в /conf/config.xml.
  3. Проверка таблицы маршрутов:
netstat -rn

3. Оптимизация в виртуализации (Proxmox/KVM/VMware)

VirtIO и другие виртуальные сетевые адаптеры поддерживают offloading, но в pfSense (FreeBSD) это часто вызывает проблемы.

Что отключаем (System → Advanced → Networking):

  • Disable hardware checksum offload
  • Disable hardware TCP segmentation offload
  • Disable hardware large receive offload

Почему:

  • pfSense может видеть пакеты с «неправильными» контрольными суммами и их отбрасывать.
  • IPsec/OpenVPN ломаются при offloading.
  • Виртуализация (KVM) обрабатывает offload иначе, чем ожидает FreeBSD → обрывы туннелей и ошибки TCP.
  • Прирост производительности в обычных сценариях минимален.

Эффект:

  • Более стабильная работа.
  • Чистые пакеты в стеке FreeBSD.
  • VPN и firewall работают корректно.

4. Продвинутые приёмы и тонкости

4.1. MSS Clamping для VPN

  • IPsec: Настраивается в VPN → IPsec → Phase 2 → Advanced Options → MSS Clamping. Оптимальное значение: 1380 (при MTU 1500).

  • OpenVPN: В настройках сервера в разделе Advanced Configuration добавить:

    tun-mtu 1500;
    mssfix 1380;

Зачем: при шифровании уменьшается эффективный MTU. Без ограничения MSS возможны фрагментация пакетов и проблемы с загрузкой сайтов/HTTPS.

Эффект: предотвращает подвисания TCP-сессий и ошибки при передаче больших пакетов через туннель.


4.2. Тонкая настройка Stateful Firewall

  • pfSense по умолчанию stateful (отслеживает соединения).

  • Можно:

    • Делать stateless-правила для UDP-мониторинга.
    • Включить Sloppy State Handling (System → Advanced → Firewall & NAT), если NAT обслуживает много клиентов.
  • Эффект: лучше контроль таблицы состояний, предотвращение переполнений.


4.3. Policy-Based Routing и Multi-WAN

  • Настройка маршрутов по политикам, а не только по IP.
  • Пример: трафик опубликованного ресурса идёт через IPsec, а остальной LAN — напрямую в Интернет.
  • Делается в Firewall Rules → Advanced → Gateway.

4.4. Aliases для упрощения управления

  • Где: Firewall → Aliases

  • Возможности:

    • Группы IP/сетей/портов для единообразного управления правилами.
    • DNS-алиасы для ограничений по домену.
  • Эффект: меньше ошибок и быстрее настройка.


4.5. Логирование и анализ трафика

  • Включать логирование только на нужных правилах.
  • Настроить Remote Syslog (Diagnostics → Syslog) для внешнего хранения логов.
  • Для анализа — встроенные RRD-графики или ntopng.
  • Эффект: диагностика инцидентов и контроль работы туннелей.

5. Особый случай: NAT + IPsec

Если один и тот же ресурс и публикуется в Интернет, и гоняется по IPsec:

  • В Phase 2 IPsec указываем внутренний IP ресурса, а не внешний NAT-адрес.
  • pfSense обычно сам добавляет NAT-исключения для IPsec, но лучше проверить в Firewall → NAT → Outbound (режим Hybrid Outbound NAT).