Бэкап и восстановление конфигурации pfSense

Резервное копирование pfSense основано на экспорте файла конфигурации config.xml, который содержит все параметры системы. Правильно организованный процесс резервного копирования позволяет восстановить межсетевой экран за минуты после аппаратного сбоя, ошибки администратора или компрометации системы. Данное руководство охватывает все методы создания резервных копий, процедуры восстановления и лучшие практики обеспечения сохранности конфигурации.

Структура config.xml

Файл config.xml располагается в каталоге /cf/conf/ и содержит полную конфигурацию pfSense в формате XML.

Что включено в config.xml

КомпонентОписание
Сетевые интерфейсыНазначение, IP-адреса, VLAN, мосты
Правила файрволаВсе правила фильтрации, NAT, floating rules
VPN-конфигурацииOpenVPN, IPsec, WireGuard - все параметры туннелей
Пользователи и группыЛокальная база учётных записей , привилегии
СертификатыCA, серверные и клиентские сертификаты , CRL
Серверы аутентификацииНастройки LDAP, RADIUS
DHCP и DNSКонфигурация DHCP-сервера, DNS-резолвера/форвардера
МаршрутизацияСтатические маршруты, шлюзы, группы шлюзов
Настройки пакетовКонфигурация установленных пакетов (HAProxy, Snort и др.)
Системные параметрыЧасовой пояс, hostname, DNS-серверы, NTP

Что НЕ включено в config.xml

КомпонентОписаниеСпособ резервного копирования
Установленные пакетыБинарные файлы пакетовПереустановка после восстановления (список пакетов сохранён в config.xml)
RRD-данныеГрафики мониторинга (трафик, нагрузка)Отдельный экспорт через Diagnostics > Backup & Restore
Пользовательские файлыИзменения в /boot/loader.conf.local, скриптыПакет Backup или ручное копирование
Логи системыЖурналы событийНастройка удалённого syslog
DHCP leasesТекущие аренды DHCPНе требует резервного копирования
Состояние файрволаТаблица состояний (state table)Не требует резервного копирования

Внимание:

Список установленных пакетов сохраняется в config.xml, но сами пакеты необходимо переустановить после восстановления. pfSense автоматически предложит установить недостающие пакеты при обнаружении их в конфигурации.

Ручное резервное копирование

Ручное создание резервной копии выполняется через веб-интерфейс и занимает несколько секунд.

Процедура создания бэкапа

  1. Перейти в Diagnostics > Backup & Restore
  2. Убедиться, что выбрана вкладка Backup & Restore
  3. Настроить параметры экспорта:
ПараметрОписание
Backup areaОбласть бэкапа (ALL для полной копии или конкретная секция)
Skip packagesИсключить конфигурацию пакетов из бэкапа
Skip RRD dataИсключить данные графиков (значительно уменьшает размер файла)
EncryptionШифрование файла бэкапа паролем
PasswordПароль для шифрования (при включённой опции Encryption)
  1. Нажать Download configuration as XML
  2. Сохранить файл в защищённом месте

Области бэкапа

При выборе Backup area доступны следующие варианты:

ОбластьСодержимое
ALLПолная конфигурация системы
AliasesТолько алиасы файрвола
Captive PortalНастройки Captive Portal
DHCP ServerКонфигурация DHCP
DNS ServerНастройки DNS
Firewall RulesПравила файрвола
InterfacesКонфигурация сетевых интерфейсов
IPsecНастройки IPsec VPN
NATПравила NAT
OpenVPNКонфигурация OpenVPN
SNMPНастройки SNMP
Static RoutesСтатическая маршрутизация

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

Шифрование бэкапа

Шифрование резервной копии настоятельно рекомендуется, поскольку config.xml содержит:

  • Пароли пользователей (в хэшированном виде)
  • Закрытые ключи сертификатов (в открытом виде)
  • Pre-shared keys VPN-туннелей
  • Shared secrets серверов аутентификации
  • Пароли bind-аккаунтов LDAP

При включении шифрования файл защищается паролем с использованием AES-256-CBC. Пароль необходимо сохранить отдельно от файла бэкапа - без него восстановление невозможно.

Именование файлов бэкапа

pfSense формирует имя файла в формате: config-<hostname>-<YYYY><MM><DD><HH><MM><SS>.xml

Рекомендуется дополнительно включать в имя причину создания бэкапа при ручном переименовании:

config-fw01-20260406-before-vpn-changes.xml
config-fw01-20260406-after-upgrade-2.7.2.xml

Автоматическое резервное копирование

Встроенное автоматическое резервное копирование

pfSense автоматически создаёт резервную копию конфигурации при каждом изменении через веб-интерфейс. История изменений хранится локально и доступна в Diagnostics > Backup & Restore, вкладка Config History.

ПараметрЗначение по умолчанию
Количество хранимых версий30
Расположение/cf/conf/backup/
Формат имениconfig-.xml

Количество хранимых версий настраивается в Diagnostics > Backup & Restore, вкладка Config History, поле Backup Count.

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

  • Просмотреть список изменений с указанием даты и описания
  • Сравнить любые две версии конфигурации (diff)
  • Восстановить любую из сохранённых версий

Внимание:

Локальная история бэкапов хранится на том же диске, что и основная конфигурация. При выходе диска из строя все версии будут утрачены. Локальная история не заменяет хранение бэкапов во внешнем расположении.

AutoConfigBackup

AutoConfigBackup (ACB) - облачный сервис автоматического резервного копирования, предоставляемый Netgate для устройств с активной подпиской pfSense Plus или для Netgate hardware. Сервис автоматически загружает зашифрованную копию конфигурации в облако при каждом изменении.

Настройка AutoConfigBackup

  1. Перейти в Services > Auto Config Backup
  2. Ввести учётные данные Netgate Portal
  3. Задать пароль шифрования
ПараметрОписание
Enable ACBВключить автоматическое резервное копирование
Encryption PasswordПароль для шифрования бэкапов (хранится только локально)

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

  • Конфигурация шифруется локально перед отправкой - Netgate не имеет доступа к содержимому
  • Хранится до 100 последних версий конфигурации
  • Восстановление возможно из списка сохранённых версий в веб-интерфейсе
  • При потере пароля шифрования восстановление из ACB невозможно

Резервное копирование по расписанию через cron

Для автоматического создания бэкапов по расписанию с сохранением на внешнем ресурсе можно использовать пакет Cron и скрипт экспорта конфигурации.

Настройка автоматического бэкапа через SCP

  1. Установить пакет Cron через System > Package Manager
  2. Создать задание cron для копирования конфигурации:
0 2 * * * /usr/bin/scp /cf/conf/config.xml backup@storage.example.com:/backups/pfsense/config-$(date +\%Y\%m\%d).xml

Для работы SCP без пароля необходимо настроить SSH-аутентификацию по ключу между pfSense и сервером хранения.

Альтернативные методы автоматизации

МетодОписание
SCP/SFTPКопирование на удалённый сервер по SSH
Backup PackageПакет для бэкапа файлов и каталогов, не входящих в config.xml
XMLRPCПрограммный доступ к конфигурации через API

Восстановление из резервной копии

Полное восстановление

Полное восстановление заменяет всю текущую конфигурацию содержимым файла бэкапа.

  1. Перейти в Diagnostics > Backup & Restore
  2. В секции Restore Backup выбрать файл бэкапа
  3. Настроить параметры восстановления:
ПараметрОписание
Restore areaALL для полного восстановления
Configuration fileФайл .xml с резервной копией
EncryptionУказать, зашифрован ли файл
PasswordПароль расшифровки (если файл зашифрован)
  1. Нажать Restore Configuration
  2. Дождаться перезагрузки системы

После полного восстановления pfSense автоматически:

  • Применит все настройки интерфейсов
  • Восстановит правила файрвола и NAT
  • Перезапустит VPN-сервисы
  • Предложит установить недостающие пакеты

Частичное восстановление

Частичное восстановление позволяет заменить только определённую секцию конфигурации, не затрагивая остальные настройки.

  1. В поле Restore area выбрать нужную секцию (Firewall Rules, OpenVPN, NAT и др.)
  2. Загрузить файл бэкапа
  3. Нажать Restore Configuration

Частичное восстановление полезно для:

  • Восстановления правил файрвола после ошибочных изменений
  • Переноса VPN-конфигурации с другого устройства
  • Восстановления настроек DHCP без изменения остальной конфигурации

Восстановление из локальной истории

  1. Перейти в Diagnostics > Backup & Restore, вкладка Config History
  2. Найти нужную версию конфигурации по дате и описанию
  3. Нажать значок восстановления напротив выбранной версии
  4. Подтвердить восстановление

Восстановление после полной потери системы

При полной потере системы (выход диска из строя, уничтожение оборудования) процедура восстановления состоит из следующих шагов:

  1. Установить pfSense на новое оборудование
  2. Выполнить начальную настройку (назначение интерфейсов, базовый IP-адрес)
  3. Получить доступ к веб-интерфейсу
  4. Перейти в Diagnostics > Backup & Restore
  5. Восстановить конфигурацию из файла бэкапа
  6. Дождаться перезагрузки
  7. Установить недостающие пакеты
  8. Проверить работоспособность всех сервисов

Миграция конфигурации между устройствами

Миграция между устройствами с одинаковой версией pfSense

При переносе конфигурации между устройствами с одинаковой версией pfSense достаточно выполнить стандартную процедуру бэкапа и восстановления. Следует учитывать:

  • Назначение интерфейсов (interface assignment) должно соответствовать новому оборудованию
  • При различии сетевых адаптеров может потребоваться переназначение интерфейсов через консоль
  • CARP VHID и Virtual IP требуют проверки после переноса

Миграция между разными версиями pfSense

pfSense поддерживает восстановление конфигурации от более ранних версий с автоматической миграцией формата.

Направление миграцииПоддержка
Старая версия на новуюПоддерживается с автоматической конвертацией
Новая версия на старуюНе поддерживается - возможны ошибки формата

Рекомендуемая процедура миграции между версиями:

  1. Создать бэкап на старом устройстве
  2. Установить новую версию pfSense на целевое оборудование
  3. Восстановить конфигурацию из бэкапа
  4. Проверить журнал миграции на предмет предупреждений
  5. Протестировать все критичные сервисы

Миграция между различным оборудованием

При переносе конфигурации на оборудование с другим набором сетевых интерфейсов:

  1. Восстановить конфигурацию из бэкапа
  2. При запросе системы выполнить переназначение интерфейсов через консоль
  3. Сопоставить физические интерфейсы нового оборудования с логическими интерфейсами конфигурации
  4. Проверить корректность назначения IP-адресов на каждом интерфейсе

Внимание:

При несовпадении количества или типов интерфейсов между старым и новым оборудованием часть настроек может потребовать ручной корректировки. Особое внимание следует уделить правилам файрвола, привязанным к конкретным интерфейсам.

Пакет Backup для дополнительных файлов

Стандартный бэкап config.xml не включает пользовательские файлы, размещённые вне конфигурации. Для их резервного копирования предназначен пакет Backup.

Установка и настройка

  1. Установить пакет Backup через System > Package Manager
  2. Перейти в Diagnostics > Backup Files/Dirs
  3. Добавить файлы и каталоги для включения в бэкап:
Пример файловНазначение
/boot/loader.conf.localПользовательские параметры загрузки
/boot/device.hintsНастройки оборудования
/usr/local/etc/custom_scripts/Пользовательские скрипты
/var/db/pkg/Информация об установленных пакетах

Файлы, добавленные через пакет Backup, включаются в основной бэкап config.xml в виде base64-закодированного содержимого.

Устранение неполадок

Восстановление не удаётся

ПроблемаПричинаРешение
Ошибка формата XMLПовреждённый файл бэкапаПроверить целостность файла, попробовать другую версию
Ошибка расшифровкиНеверный парольУбедиться в корректности пароля шифрования
Интерфейсы не назначеныРазличие оборудованияВыполнить переназначение через консоль
Пакеты не работаютПакеты не установленыУстановить пакеты через Package Manager

Несовместимость версий при восстановлении

Если восстановление конфигурации от более новой версии pfSense на более старую приводит к ошибкам:

  1. Установить версию pfSense, соответствующую бэкапу
  2. Восстановить конфигурацию
  3. При необходимости выполнить понижение версии через консоль (не рекомендуется)

Восстановление при утрате доступа к веб-интерфейсу

Если веб-интерфейс недоступен, конфигурацию можно восстановить через консоль:

  1. Подключиться к консоли (физически или через serial)
  2. Выбрать опцию 15) Restore recent configuration
  3. Выбрать версию конфигурации для восстановления
  4. Подтвердить восстановление

Альтернативный метод - копирование файла config.xml напрямую:

# Скопировать файл бэкапа на USB-накопитель
# Подключить USB к устройству pfSense
# Через shell (опция 8 в консоли):
mount /dev/da0s1 /mnt
cp /mnt/config.xml /cf/conf/config.xml
reboot

Лучшие практики

Когда создавать бэкап

СобытиеДействие
Перед любым изменением конфигурацииСоздать бэкап
После успешного измененияСоздать бэкап
Перед обновлением pfSenseСоздать бэкап и сохранить внешнюю копию
Перед установкой или обновлением пакетовСоздать бэкап
Регулярно (ежедневно/еженедельно)Автоматический бэкап через cron

Стратегия хранения бэкапов

Рекомендуется следовать принципу 3-2-1:

  • 3 копии конфигурации (основная + два бэкапа)
  • 2 разных типа носителей (локальный диск + удалённый сервер)
  • 1 копия в территориально удалённом расположении

Безопасность бэкапов

МераОписание
ШифрованиеВсегда шифровать файлы бэкапов
Контроль доступаОграничить доступ к хранилищу бэкапов
Передача по защищённым каналамИспользовать SCP/SFTP вместо незащищённых протоколов
Раздельное хранение паролейПароль шифрования хранить отдельно от файла бэкапа
Аудит доступаВести журнал доступа к файлам бэкапов

Тестирование восстановления

Резервная копия полезна только в случае успешного восстановления. Необходимо периодически проводить тестовое восстановление:

  1. Развернуть тестовый экземпляр pfSense (виртуальная машина)
  2. Восстановить конфигурацию из бэкапа
  3. Проверить корректность всех настроек
  4. Убедиться, что все сервисы запускаются
  5. Документировать результаты тестирования

Рекомендуемая периодичность тестирования - не реже одного раза в квартал.

Документирование процедур

Для каждого межсетевого экрана следует документировать:

  • Расположение файлов бэкапов и пароли шифрования (в менеджере паролей)
  • Процедуру восстановления с указанием ответственных лиц
  • Порядок переназначения интерфейсов при миграции на резервное оборудование
  • Контактную информацию для эскалации при проблемах восстановления

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

Last updated on