VPN
Модуль организует защищённое VPN-подключение MikoPBX к удалённой сети. Поддерживает OpenVPN, WireGuard (в том числе с обфускацией трафика) и Tailscale на платформах x86_64 и arm64.
Модуль VPN позволяет подключить MikoPBX к удалённой сети по защищённому туннелю. Это удобно, когда станция стоит за NAT и к ней нужен доступ извне или когда требуется объединить несколько площадок в одну сеть.
MikoPBX выступает в роли VPN-клиента: вы готовите конфигурацию на стороне VPN-сервера, а затем переносите её в модуль. Модуль сам поднимает туннель после настройки сети и при загрузке станции, следит за его состоянием и автоматически переподнимает соединение, если оно оборвалось.
Важно! В соответствии с требованиями законодательства об информации, информационных технологиях и защите информации текущий модуль может быть использован исключительно для целей построения и функционирования виртуальной частной сети, обеспечивающей безопасную передачу данных, передача которых не запрещена законом. Компания МИКО не несёт ответственности за действия пользователя в случае использования им указанной информации в целях, противоречащих законодательству Российской Федерации.
Поддерживаемые типы VPN
Модуль поддерживает четыре типа подключений. Тип выбирается при создании соединения и определяет формат конфигурации.
WireGuard
Современный быстрый туннель
Минимум настроек, высокая скорость, шифрование ChaCha20‑Poly1305
WireGuard (обфускация)
WireGuard с обфускацией трафика
Те же возможности WireGuard, плюс изменение сигнатуры трафика
OpenVPN
Универсальный совместимый туннель
Поддержка TUN/TAP, в том числе устаревших шифров (BF‑CBC, DES, RC4)
Tailscale
Управляемая mesh‑сеть
Авторизация по ключу, работа через облако Tailscale или собственный Headscale
Бинарные файлы всех VPN-клиентов (включая модуль ядра для режима обфускации) поставляются прямо в составе модуля и собраны статически под архитектуры x86_64 и arm64. Устанавливать что-либо на саму станцию вручную не требуется.
Создание подключения
Убедитесь, что модуль VPN установлен и включён в разделе «Управление модулями».
Откройте настройки модуля и добавьте новое подключение.
Заполните общие поля и в зависимости от выбранного типа — конфигурацию или параметры Tailscale.
Включите подключение и сохраните изменения. Туннель поднимется автоматически.
Каждое соединение описывается единым набором общих полей:
Название подключения
Произвольное имя для удобства (обязательное поле).
Тип VPN
OpenVPN, WireGuard (в том числе с обфускацией) или Tailscale.
Конфигурация
Текст конфигурационного файла VPN (для Tailscale заменяется отдельными полями). Обязательное поле.
Описание
Необязательный комментарий.
Включено
Поднимать ли туннель. Выключенное соединение хранится, но не запускается.
Конфигурация проверяется при сохранении. Если в ней не хватает обязательных директив для выбранного типа подключения, модуль выведет предупреждение.
Для каждого типа ниже приведены пример клиентской конфигурации, которую нужно вставить в поле «Конфигурация», и разбор опций.
WireGuard
WireGuard — это компактный современный протокол: текстовый конфиг, высокая скорость и стойкое шифрование. Подходит как основной вариант для большинства сценариев.
Пример конфигурации
Опции
PrivateKey
[Interface]
Приватный ключ MikoPBX. Уникален, хранится только на станции. Обязателен.
Address
[Interface]
IP-адрес и подсеть станции внутри туннеля.
PublicKey
[Peer]
Открытый ключ VPN-сервера. Обязателен.
Endpoint
[Peer]
Адрес и порт сервера (IP:порт, по умолчанию 51820). Обязателен.
AllowedIPs
[Peer]
Подсети, трафик в которые направляется в туннель. Обязателен.
PersistentKeepalive
[Peer]
Интервал keepalive (сек). Нужен, когда станция за NAT (рекомендуется 25).
Директива DNS = … автоматически удаляется при запуске: в MikoPBX нет resolvconf, и её наличие помешало бы поднять интерфейс.
Обязательные секции и параметры: [Interface] с PrivateKey, [Peer] с PublicKey, AllowedIPs и Endpoint.
WireGuard с обфускацией
Это вариант WireGuard с обфускацией трафика: за счёт служебного «шума» и модификации заголовков сигнатура потока отличается от стандартного WireGuard. Скорость остаётся близкой к WireGuard.
Пример конфигурации
Опции обфускации
К стандартным параметрам WireGuard добавляются параметры маскировки. Все они должны точно совпадать со значениями на сервере, иначе туннель не поднимется.
Jc
Количество «мусорных» пакетов, добавляемых для зашумления потока.
Jmin / Jmax
Минимальный и максимальный размер случайного джиттера.
S1 / S2
Размеры «магических» заголовков, маскирующих служебные пакеты.
H1–H4
Числовые маркеры заголовков, изменяющие сигнатуру пакетов относительно стандартного WireGuard.
Режим обфускации работает на уровне ядра и требует соответствующий модуль ядра, собранный под ядро MikoPBX (6.12.73‑MikoPBX). Он уже входит в состав модуля VPN — отдельно ничего ставить не нужно. Как и в WireGuard, директива DNS = … удаляется автоматически.
Обязательные параметры: все обязательные параметры WireGuard плюс параметр обфускации Jc.
OpenVPN
OpenVPN — наиболее универсальный вариант: работает с большинством существующих серверов, поддерживает режимы TUN и TAP, аутентификацию по сертификатам или по статическому ключу. Конфигурация задаётся в формате обычного .ovpn-файла.
Пример конфигурации (статический ключ)
Опции
dev tun / dev tap
Тип интерфейса: tun (уровень IP) или tap (уровень Ethernet). Обязательна.
remote
Адрес и порт сервера. Обязательна (либо блок <connection>).
proto
Транспорт: udp (быстрее) или tcp (надёжнее проходит фильтры).
cipher
Алгоритм шифрования (например, AES-256-CBC).
ifconfig
IP клиента и сервера в туннеле (для режима статического ключа).
secret
Статический ключ: [inline] — встроен в блок <secret>, либо путь к файлу.
keepalive
Интервал и таймаут проверки соединения.
allow-deprecated-insecure-static-crypto
Разрешает режим статического ключа в OpenVPN 2.7+.
Если в конфигурации используются устаревшие шифры (BF‑CBC, DES, RC4, IDEA, CAST5, SEED), модуль автоматически запускает специальную сборку openvpn-legacy со встроенным legacy-провайдером OpenSSL. Это нужно только для совместимости со старыми серверами OpenVPN (например, 2.2.x); вручную ничего переключать не требуется.
Обязательные директивы: remote (или блок <connection>) и dev tun/dev tap.
Tailscale
Tailscale — это не просто туннель, а управляемая mesh‑сеть. Узлы находят друг друга через сервер управления (control plane), получают адреса из диапазона 100.64.0.0/10 и соединяются напрямую. Для Tailscale в модуле вместо текстового конфига используются отдельные поля.
Поля Tailscale
Сервер авторизации
URL control plane. Оставьте пустым для облака Tailscale или укажите адрес своего Headscale.
Ключ авторизации
Auth key для неинтерактивного входа. Если оставить пустым — будет предложена авторизация через браузер.
Имя хоста
Имя станции в сети (tailnet), например mikopbx-office.
Дополнительные параметры
Прочие флаги tailscale up, по одному на строку (например, --advertise-exit-node).
Пример дополнительных параметров
Состояние Tailscale (идентичность узла и ключи) сохраняется на постоянном хранилище модуля и переживает перезагрузку станции и переустановку модуля. Поэтому при последующих запусках выполняется «тёплый» старт — без повторной авторизации.
Для уже подключённого соединения в интерфейсе доступны действия переавторизации (получить новую ссылку для входа) и выхода (logout с удалением сохранённого состояния).
Сборка Tailscale в модуле поддерживает транспорт с обфускацией: при наличии параметров обфускации они автоматически применяются к туннелю Tailscale. Это позволяет совместить удобство mesh‑сети с обфускацией транспорта.
Обязательный параметр для автоматического (неинтерактивного) подключения — ключ авторизации (--authkey). Без него потребуется ручная авторизация по ссылке.
Запуск и контроль состояния
Модуль поднимает все включённые соединения автоматически: после настройки сети и после загрузки станции. Состояние каждого туннеля проверяется по расписанию (раз в минуту) — если соединение оборвалось, оно поднимается заново.
В списке соединений отображается текущий статус, а для активных туннелей — назначенный IP-адрес, время последнего рукопожатия и объём переданных данных.
При выключении или удалении соединения соответствующий туннель немедленно останавливается, и связанные с ним сетевые маршруты удаляются.
Настройка VPN-сервера
Модуль — это клиентская часть. Конфигурацию для вставки готовят на стороне VPN-сервера. В репозитории модуля (каталог samples-server-configs) есть готовые скрипты для быстрого разворачивания тестового сервера каждого типа (WireGuard, WireGuard с обфускацией, OpenVPN со статическим ключом, Headscale для Tailscale) — они генерируют пары ключей и сразу формируют клиентский конфиг, который остаётся скопировать в модуль.
Ключевые параметры по умолчанию в этих примерах:
WireGuard
51820/udp
10.10.0.0/24
WireGuard (обфускация)
51821/udp
10.30.0.0/24
OpenVPN
1194/udp
10.20.0.0/24
Tailscale / Headscale
443/tcp
100.64.0.0/10
Пошаговый пример объединения двух АТС MikoPBX по WireGuard (включая ручную настройку на стороне сервера) приведён здесь:
WireGuard - VPNLast updated
Was this helpful?

