Экспорт конфигурации клиентов OpenVPN в pfSense - генерация
Пакет OpenVPN Client Export в pfSense предназначен для автоматической генерации клиентских конфигурационных файлов и установщиков на основе параметров действующего OpenVPN-сервера. Вместо ручного создания .ovpn-файлов и копирования сертификатов администратор получает готовые к распространению пакеты для всех основных платформ: Windows, macOS, Linux, iOS и Android. Это исключает ошибки при ручном формировании конфигураций и существенно сокращает время подключения новых пользователей.
Утилита экспорта работает исключительно с серверами в режиме Remote Access (SSL/TLS или SSL/TLS + User Auth). Для site-to-site туннелей экспорт не предусмотрен, поскольку конфигурация обеих сторон формируется вручную.
Установка пакета
Пакет openvpn-client-export не входит в базовую установку pfSense и требует отдельной инсталляции через менеджер пакетов.
- Перейти в System > Package Manager > Available Packages.
- В строке поиска ввести
openvpn-client-export. - Нажать Install напротив найденного пакета, затем подтвердить установку.
- Дождаться завершения - процесс занимает 10-30 секунд в зависимости от скорости соединения.
После установки в меню VPN > OpenVPN появляется вкладка Client Export.
Внимание:
Перед использованием экспорта необходимо полностью настроить OpenVPN-сервер удалённого доступа: создать CA, серверный сертификат, пользовательские сертификаты и настроить сам сервер. Без действующего сервера вкладка экспорта не отобразит доступных конфигураций. Подробности настройки сервера описаны в разделе Сервер удаленного доступа .
Параметры экспорта
При переходе на вкладку VPN > OpenVPN > Client Export в верхней части страницы расположены глобальные параметры, применяемые ко всем экспортируемым конфигурациям.

Рис. 1. Глобальные параметры экспорта клиентских конфигураций
Выбор сервера
В поле Remote Access Server необходимо выбрать экземпляр OpenVPN-сервера, для которого будут генерироваться клиентские конфигурации. В списке отображаются только серверы в режиме Remote Access.
Разрешение имени хоста
Параметр Host Name Resolution определяет, какой адрес будет указан в директиве remote клиентской конфигурации. Доступные варианты:
| Вариант | Описание | Применимость |
|---|---|---|
| Interface IP Address | IP-адрес WAN-интерфейса pfSense | Статический внешний адрес |
| Automagic Multi-WAN IPs | Автоматическое формирование директив remote из правил проброса портов | Multi-WAN с несколькими провайдерами |
| Automagic Multi-WAN DDNS | Использование DDNS-записей, привязанных к правилам проброса | Multi-WAN с динамическими адресами |
| Installation Hostname | Имя хоста из System > General Setup | Hostname зарегистрирован в публичном DNS |
| Dynamic DNS Hostname | DDNS-запись, настроенная на pfSense | Один провайдер с динамическим адресом |
| Other | Произвольный адрес или FQDN | NAT перед pfSense, нестандартные сценарии |
Для большинства установок с одним провайдером и динамическим IP-адресом следует использовать Dynamic DNS Hostname. При наличии статического адреса - Interface IP Address.
Дополнительные параметры подключения
| Параметр | Описание |
|---|---|
| Verify Server CN | Управляет проверкой Common Name серверного сертификата через verify-x509-name. Рекомендуется оставить в режиме автоматического определения |
| Block Outside DNS | Принудительное использование DNS-серверов, полученных через VPN. Актуально для Windows 10 и новее, где возможна утечка DNS-запросов |
| Legacy Client | Генерация директив, совместимых с OpenVPN 2.4.x. Требуется при использовании устаревших клиентов |
| Silent Installer | Добавление флагов тихой установки в Windows-инсталлятор. Полезно для массового развёртывания через GPO или SCCM |
| Use Random Local Port | Использование случайного локального порта на стороне клиента. Рекомендуется включить для возможности одновременного подключения к нескольким VPN |
Параметры сертификатов
| Параметр | Описание |
|---|---|
| PKCS#11 Certificate Storage | Поддержка аппаратных токенов и смарт-карт для хранения сертификатов |
| Microsoft Certificate Storage | Хранение сертификатов в хранилище Windows вместо файлов на диске |
| Password Protection | Защита паролем файла PKCS#12 или пакета Viscosity |
Прокси-сервер
При необходимости подключения через HTTP-прокси следует указать его тип, адрес, порт и учётные данные. Эти параметры будут включены в экспортируемые конфигурации в виде директивы http-proxy.
Дополнительные директивы
Поле Additional configuration options позволяет добавить произвольные директивы OpenVPN в экспортируемые конфигурации. Например:
ping 10
ping-restart 60
hand-window 90Каждая директива указывается на отдельной строке. Синтаксис соответствует формату конфигурационного файла OpenVPN.
Типы экспорта
Пакет предоставляет несколько форматов экспорта, ориентированных на различные платформы и клиентские приложения.
| Тип экспорта | Формат | Платформы | Особенности |
|---|---|---|---|
| Inline Configurations | .ovpn | Windows, macOS, Linux | Единый файл с встроенными сертификатами и ключами. Универсальный формат |
| Inline Configurations (Android) | .ovpn | Android | Адаптирован для OpenVPN for Android |
| Inline Configurations (OpenVPN Connect) | .ovpn | iOS, Android | Оптимизирован для приложения OpenVPN Connect |
| Bundled Configurations | .zip | Windows, macOS, Linux | Архив с отдельными файлами: конфигурация, TLS-ключ, PKCS#12 |
| Configuration File Only | .ovpn | Все | Только конфигурационный файл без сертификатов |
| Windows Installer (2.5.x) | .exe | Windows 10/11 | Установщик OpenVPN GUI с встроенной конфигурацией. 64- и 32-разрядные версии |
| Windows Installer (2.4.x) | .exe | Windows 7/8/10 | Для устаревших систем, не поддерживающих OpenVPN 2.5+ |
| Viscosity Bundle | .visc.zip | macOS, Windows | Пакет для клиента Viscosity (коммерческое приложение) |
Рекомендации по выбору формата
- Стандартное развёртывание: Inline Configuration (
.ovpn) - работает с любым клиентом OpenVPN на любой платформе. - Массовое развёртывание на Windows: Windows Installer с включённой опцией Silent Installer - позволяет устанавливать VPN-клиент через GPO без взаимодействия с пользователем.
- Мобильные устройства: Inline Configuration (OpenVPN Connect) - файл импортируется непосредственно в приложение OpenVPN Connect на iOS или Android.
- Корпоративная среда macOS: Viscosity Bundle - если в организации используется клиент Viscosity.
- Повышенные требования безопасности: Bundled Configuration с PKCS#12 и паролем - сертификаты защищены паролем, что предотвращает использование конфигурации при компрометации файла.
Экспорт для конкретного пользователя
Под блоком глобальных параметров отображается список доступных для экспорта клиентов. Состав списка зависит от режима аутентификации сервера:
- SSL/TLS: отображаются все пользовательские сертификаты, выпущенные центром сертификации, указанным в настройках сервера.
- SSL/TLS + User Auth: отображаются пользователи локальной базы или внешнего каталога, имеющие привязанные сертификаты.
Для каждого пользователя доступны все форматы экспорта. При нажатии на соответствующую ссылку генерируется файл с встроенным сертификатом и ключом этого конкретного пользователя.
Поле поиска в верхней части списка позволяет быстро найти нужного пользователя при большом количестве сертификатов.
Внимание:
Если в списке отсутствуют ожидаемые пользователи, необходимо проверить: привязан ли к пользователю сертификат, выпущен ли он тем же CA, который указан в настройках OpenVPN-сервера, и не отозван ли сертификат в CRL (Certificate Revocation List).
Настройка параметров подключения
Переопределение адреса подключения
В сценариях, когда pfSense расположен за NAT-устройством или балансировщиком нагрузки, внешний адрес VPN-сервера отличается от адреса на интерфейсе pfSense. В этом случае следует использовать вариант Other в поле Host Name Resolution и указать внешний IP-адрес или FQDN вручную.
DNS-серверы в экспортируемой конфигурации
DNS-серверы, передаваемые клиенту через VPN, настраиваются не в параметрах экспорта, а в настройках OpenVPN-сервера: VPN > OpenVPN > Servers > Edit > DNS Server 1-4. Пакет экспорта автоматически включает указанные DNS-серверы в генерируемые конфигурации.
Пользовательские директивы
Дополнительные параметры, указанные в поле Additional configuration options, добавляются в конец каждого экспортируемого файла конфигурации. Это позволяет принудительно задать маршруты, настроить keepalive-интервалы или указать параметры, отсутствующие в графическом интерфейсе.
Пример типичных дополнительных директив:
# Prevent DNS leaks on Windows
block-outside-dns
# Force all traffic through VPN
redirect-gateway def1
# Set connection timeout
connect-timeout 30Сохранение настроек по умолчанию
Кнопка Save as default в нижней части блока параметров сохраняет текущие настройки экспорта. При следующем открытии вкладки сохранённые значения будут восстановлены автоматически. Это удобно при регулярной выдаче конфигураций новым пользователям.
Распространение конфигураций клиентам
Экспортированные файлы содержат закрытый ключ и сертификат пользователя, что делает их критически важными с точки зрения безопасности. При передаче конфигураций конечным пользователям необходимо соблюдать следующие правила:
Защищённый канал передачи. Файлы конфигурации следует передавать только по зашифрованным каналам: корпоративная электронная почта с шифрованием, защищённый файловый обмен или личная передача на носителе. Передача через незашифрованные мессенджеры или публичные файлообменники недопустима.
Защита паролем. При использовании формата Bundled Configuration или Viscosity Bundle рекомендуется включить опцию Password Protection. Это обеспечивает дополнительный уровень защиты при компрометации файла.
Одноразовая ссылка. При невозможности личной передачи следует использовать сервисы одноразовых ссылок с ограничением по времени и количеству скачиваний.
Отзыв при компрометации. При подозрении на компрометацию конфигурационного файла необходимо немедленно отозвать сертификат пользователя через System > Certificates и добавить его в CRL, привязанный к OpenVPN-серверу.
Инструкция для пользователя. К конфигурационному файлу следует приложить краткую инструкцию по импорту: для Windows - установка OpenVPN GUI и размещение файла в
C:\Users\<user>\OpenVPN\config\, для macOS - импорт в Tunnelblick или Viscosity, для мобильных устройств - импорт через OpenVPN Connect.
Устранение неполадок
В списке экспорта отсутствуют пользователи
Типичные причины:
- Пользователю не назначен сертификат. Проверить в System > User Manager > Users > Edit User > User Certificates.
- Сертификат выпущен другим CA, отличным от указанного в настройках OpenVPN-сервера.
- Сертификат отозван и присутствует в CRL.
- OpenVPN-сервер настроен в режиме Peer-to-Peer, а не Remote Access.
Экспортированная конфигурация не подключается
- Проверить, что адрес в директиве
remoteфайла.ovpnдоступен из внешней сети. Для этого выполнитьtelnet <адрес> <порт>с клиентского устройства. - Убедиться, что на WAN-интерфейсе pfSense создано правило, разрешающее входящий трафик на порт OpenVPN (по умолчанию UDP 1194).
- Если pfSense расположен за NAT, проверить, что проброс порта настроен корректно на вышестоящем маршрутизаторе.
- Проверить логи OpenVPN: Status > OpenVPN на стороне сервера, логи клиента - в интерфейсе клиентского приложения.
Несоответствие сертификатов
Ошибка TLS Error: TLS handshake failed или VERIFY ERROR указывает на проблему с сертификатами:
- Серверный сертификат имеет тип Server Certificate, а не User Certificate.
- Клиентский и серверный сертификаты выпущены одним CA.
- Сертификаты не истекли - проверить сроки действия в System > Certificates.
- TLS-ключ (static key) совпадает на сервере и в экспортированной конфигурации. При перегенерации TLS-ключа на сервере требуется повторный экспорт конфигураций.
Windows: ошибка при тихой установке
При использовании Silent Installer через GPO установщик может завершиться с ошибкой, если:
- Политика запрещает установку TAP-драйвера без подтверждения администратора. Необходимо добавить сертификат издателя TAP-драйвера в хранилище доверенных издателей.
- Антивирусное программное обеспечение блокирует установку. Следует добавить исключение для установщика OpenVPN.
Связанные разделы
- Сервер удаленного доступа - полная настройка OpenVPN-сервера, создание CA и сертификатов
- Site-to-Site туннель - объединение площадок через OpenVPN
- IPsec для мобильных клиентов - альтернативный вариант VPN для мобильных устройств без установки дополнительного ПО