Бэкап и восстановление конфигурации 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 автоматически предложит установить недостающие пакеты при обнаружении их в конфигурации.
Ручное резервное копирование
Ручное создание резервной копии выполняется через веб-интерфейс и занимает несколько секунд.
Процедура создания бэкапа
- Перейти в Diagnostics > Backup & Restore
- Убедиться, что выбрана вкладка Backup & Restore
- Настроить параметры экспорта:
| Параметр | Описание |
|---|---|
| Backup area | Область бэкапа (ALL для полной копии или конкретная секция) |
| Skip packages | Исключить конфигурацию пакетов из бэкапа |
| Skip RRD data | Исключить данные графиков (значительно уменьшает размер файла) |
| Encryption | Шифрование файла бэкапа паролем |
| Password | Пароль для шифрования (при включённой опции Encryption) |
- Нажать Download configuration as XML
- Сохранить файл в защищённом месте
Области бэкапа
При выборе 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- |
Количество хранимых версий настраивается в Diagnostics > Backup & Restore, вкладка Config History, поле Backup Count.
Встроенная история позволяет:
- Просмотреть список изменений с указанием даты и описания
- Сравнить любые две версии конфигурации (diff)
- Восстановить любую из сохранённых версий
Внимание:
Локальная история бэкапов хранится на том же диске, что и основная конфигурация. При выходе диска из строя все версии будут утрачены. Локальная история не заменяет хранение бэкапов во внешнем расположении.
AutoConfigBackup
AutoConfigBackup (ACB) - облачный сервис автоматического резервного копирования, предоставляемый Netgate для устройств с активной подпиской pfSense Plus или для Netgate hardware. Сервис автоматически загружает зашифрованную копию конфигурации в облако при каждом изменении.
Настройка AutoConfigBackup
- Перейти в Services > Auto Config Backup
- Ввести учётные данные Netgate Portal
- Задать пароль шифрования
| Параметр | Описание |
|---|---|
| Enable ACB | Включить автоматическое резервное копирование |
| Encryption Password | Пароль для шифрования бэкапов (хранится только локально) |
Особенности ACB
- Конфигурация шифруется локально перед отправкой - Netgate не имеет доступа к содержимому
- Хранится до 100 последних версий конфигурации
- Восстановление возможно из списка сохранённых версий в веб-интерфейсе
- При потере пароля шифрования восстановление из ACB невозможно
Резервное копирование по расписанию через cron
Для автоматического создания бэкапов по расписанию с сохранением на внешнем ресурсе можно использовать пакет Cron и скрипт экспорта конфигурации.
Настройка автоматического бэкапа через SCP
- Установить пакет Cron через System > Package Manager
- Создать задание 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 |
Восстановление из резервной копии
Полное восстановление
Полное восстановление заменяет всю текущую конфигурацию содержимым файла бэкапа.
- Перейти в Diagnostics > Backup & Restore
- В секции Restore Backup выбрать файл бэкапа
- Настроить параметры восстановления:
| Параметр | Описание |
|---|---|
| Restore area | ALL для полного восстановления |
| Configuration file | Файл .xml с резервной копией |
| Encryption | Указать, зашифрован ли файл |
| Password | Пароль расшифровки (если файл зашифрован) |
- Нажать Restore Configuration
- Дождаться перезагрузки системы
После полного восстановления pfSense автоматически:
- Применит все настройки интерфейсов
- Восстановит правила файрвола и NAT
- Перезапустит VPN-сервисы
- Предложит установить недостающие пакеты
Частичное восстановление
Частичное восстановление позволяет заменить только определённую секцию конфигурации, не затрагивая остальные настройки.
- В поле Restore area выбрать нужную секцию (Firewall Rules, OpenVPN, NAT и др.)
- Загрузить файл бэкапа
- Нажать Restore Configuration
Частичное восстановление полезно для:
- Восстановления правил файрвола после ошибочных изменений
- Переноса VPN-конфигурации с другого устройства
- Восстановления настроек DHCP без изменения остальной конфигурации
Восстановление из локальной истории
- Перейти в Diagnostics > Backup & Restore, вкладка Config History
- Найти нужную версию конфигурации по дате и описанию
- Нажать значок восстановления напротив выбранной версии
- Подтвердить восстановление
Восстановление после полной потери системы
При полной потере системы (выход диска из строя, уничтожение оборудования) процедура восстановления состоит из следующих шагов:
- Установить pfSense на новое оборудование
- Выполнить начальную настройку (назначение интерфейсов, базовый IP-адрес)
- Получить доступ к веб-интерфейсу
- Перейти в Diagnostics > Backup & Restore
- Восстановить конфигурацию из файла бэкапа
- Дождаться перезагрузки
- Установить недостающие пакеты
- Проверить работоспособность всех сервисов
Миграция конфигурации между устройствами
Миграция между устройствами с одинаковой версией pfSense
При переносе конфигурации между устройствами с одинаковой версией pfSense достаточно выполнить стандартную процедуру бэкапа и восстановления. Следует учитывать:
- Назначение интерфейсов (interface assignment) должно соответствовать новому оборудованию
- При различии сетевых адаптеров может потребоваться переназначение интерфейсов через консоль
- CARP VHID и Virtual IP требуют проверки после переноса
Миграция между разными версиями pfSense
pfSense поддерживает восстановление конфигурации от более ранних версий с автоматической миграцией формата.
| Направление миграции | Поддержка |
|---|---|
| Старая версия на новую | Поддерживается с автоматической конвертацией |
| Новая версия на старую | Не поддерживается - возможны ошибки формата |
Рекомендуемая процедура миграции между версиями:
- Создать бэкап на старом устройстве
- Установить новую версию pfSense на целевое оборудование
- Восстановить конфигурацию из бэкапа
- Проверить журнал миграции на предмет предупреждений
- Протестировать все критичные сервисы
Миграция между различным оборудованием
При переносе конфигурации на оборудование с другим набором сетевых интерфейсов:
- Восстановить конфигурацию из бэкапа
- При запросе системы выполнить переназначение интерфейсов через консоль
- Сопоставить физические интерфейсы нового оборудования с логическими интерфейсами конфигурации
- Проверить корректность назначения IP-адресов на каждом интерфейсе
Внимание:
При несовпадении количества или типов интерфейсов между старым и новым оборудованием часть настроек может потребовать ручной корректировки. Особое внимание следует уделить правилам файрвола, привязанным к конкретным интерфейсам.
Пакет Backup для дополнительных файлов
Стандартный бэкап config.xml не включает пользовательские файлы, размещённые вне конфигурации. Для их резервного копирования предназначен пакет Backup.
Установка и настройка
- Установить пакет Backup через System > Package Manager
- Перейти в Diagnostics > Backup Files/Dirs
- Добавить файлы и каталоги для включения в бэкап:
| Пример файлов | Назначение |
|---|---|
| /boot/loader.conf.local | Пользовательские параметры загрузки |
| /boot/device.hints | Настройки оборудования |
| /usr/local/etc/custom_scripts/ | Пользовательские скрипты |
| /var/db/pkg/ | Информация об установленных пакетах |
Файлы, добавленные через пакет Backup, включаются в основной бэкап config.xml в виде base64-закодированного содержимого.
Устранение неполадок
Восстановление не удаётся
| Проблема | Причина | Решение |
|---|---|---|
| Ошибка формата XML | Повреждённый файл бэкапа | Проверить целостность файла, попробовать другую версию |
| Ошибка расшифровки | Неверный пароль | Убедиться в корректности пароля шифрования |
| Интерфейсы не назначены | Различие оборудования | Выполнить переназначение через консоль |
| Пакеты не работают | Пакеты не установлены | Установить пакеты через Package Manager |
Несовместимость версий при восстановлении
Если восстановление конфигурации от более новой версии pfSense на более старую приводит к ошибкам:
- Установить версию pfSense, соответствующую бэкапу
- Восстановить конфигурацию
- При необходимости выполнить понижение версии через консоль (не рекомендуется)
Восстановление при утрате доступа к веб-интерфейсу
Если веб-интерфейс недоступен, конфигурацию можно восстановить через консоль:
- Подключиться к консоли (физически или через serial)
- Выбрать опцию 15) Restore recent configuration
- Выбрать версию конфигурации для восстановления
- Подтвердить восстановление
Альтернативный метод - копирование файла 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 вместо незащищённых протоколов |
| Раздельное хранение паролей | Пароль шифрования хранить отдельно от файла бэкапа |
| Аудит доступа | Вести журнал доступа к файлам бэкапов |
Тестирование восстановления
Резервная копия полезна только в случае успешного восстановления. Необходимо периодически проводить тестовое восстановление:
- Развернуть тестовый экземпляр pfSense (виртуальная машина)
- Восстановить конфигурацию из бэкапа
- Проверить корректность всех настроек
- Убедиться, что все сервисы запускаются
- Документировать результаты тестирования
Рекомендуемая периодичность тестирования - не реже одного раза в квартал.
Документирование процедур
Для каждого межсетевого экрана следует документировать:
- Расположение файлов бэкапов и пароли шифрования (в менеджере паролей)
- Процедуру восстановления с указанием ответственных лиц
- Порядок переназначения интерфейсов при миграции на резервное оборудование
- Контактную информацию для эскалации при проблемах восстановления
Связанные разделы
- Управление сертификатами - сертификаты и ключи, хранящиеся в config.xml
- Управление пользователями - учётные записи и привилегии, включённые в бэкап
- Высокая доступность - CARP - синхронизация конфигурации между узлами HA-кластера