К контенту
habrforever
ЖИВА #openvpn ≈2026 · ~7 мин чтения

OpenVPN. Разворачивание на сервере — актуализация 2026

оригинал на Хабре habr.com/…/912336
снимок Wayback не сохранялся
статус на Хабре (ноябрь 2026) доступна
права © автор, переиздание в архивных целях с указанием источника

OpenVPN. Разворачивание на сервере

Архивное переиздание с актуализацией. Оригинал опубликован на Habr (≈2026), автор — неизвестен. оригинал доступен на Habr по состоянию на ноябрь 2026. Ниже — редакция ноября 2026: что работает сейчас, что изменилось и как правильно повторить рецепт сегодня. Полный текст оригинала — в конце, без купюр.

TL;DR — версия 2026

OpenVPN для обхода блокировок в 2026 не годится — сигнатуры известны DPI. Но как корпоративный remote-access за TLS-фронтендом или на порту 443/tcp он жив и поддерживается.

Оригинал был написан, когда OpenVPN был синонимом слова «VPN». В 2026 у него узкая, но честная роль: корпоративный доступ, там, где обфускация не нужна, а нужна зрелость — PKI, MFA, аудиты, клиент под каждую платформу. Для обхода цензуры он проигрывает по всем пунктам: ТСПУ (DPI-боксы) стоят у всех крупных российских провайдеров и умеют резать VPN-хендшейки WireGuard, OpenVPN и «голый» Shadowsocks, а классический OpenVPN-хендшейк — первый в их списке: Египет, Иран, Китай и РФ режут его годами. фактическим стандартом антицензурного туннелирования в 2026 стал VLESS + REALITY (Xray-core): он маскируется под обычный HTTPS-трафик к крупному сайту и не требует собственного домена и сертификата.

Статус оригинала

Что оставить из оригинального гайда

Всё про PKI честно и сейчас: корневой CA, сертификаты сервера/клиента, CRL — та же связка easy-rsa 3, что и в статье. tls-crypt вместо tls-auth (скрывает сам факт OpenVPN на порту), data-ciphers AES-256-GCM:CHACHA20-POLY1305, топология subnet, push "block-outside-dns" для Windows-клиентов — базовый скелет 2026 тот же.

Что менять срочно

  • UDP/1194 → TCP/443 за nginx/stunnel, либо shared secret в cloaking;
  • tls-auth → tls-crypt (метаданные рукопожатия больше не видны);
  • директивы cipher в старых конфигах игнорируются OpenVPN 2.6+ — всё задаётся data-ciphers;
  • добавьте MFA (pam + TOTP или Keycloak), парольные фразы сертификатов в 2026 не защита;
  • Docker-сети из «админ удаленку облегчал»-статей — проверяйте --cap-add NET_ADMIN и подсеть не конфликтует с k8s CNI.

Иллюстрации из оригинала

Иллюстрация из оригинала статьи

Что изменилось с ≈2026 года

  • OpenVPN 2.6/2.7: data-ciphers, tls-crypt по умолчанию ожидаемо, поддержка DCO (ускорение в ядре)
  • EasyRSA 3.2, /etc/openvpn/easy-rsa переехал — пути из старых статей не совпадают
  • провайдеры VPS массово закрывают 1194/udp для новых аккаунтов
  • старые клиенты OpenVPN Connect не понимают современные конфиги без обновления
  • в тексте оригинала: классический OpenVPN легко детектится DPI (используется в корпсредах, но не для обхода блокировок)

Чек-лист 2026

  • TCP/443 + tls-crypt
  • data-ciphers без устаревших CBC
  • MFA на подключение
  • CRL и автоматический отзыв
  • логи — минимум, и не в РФ-юрисдикцию

Вердикт

Если вы читаете это, чтобы «настроить VPN как в статье» — не надо: берите WireGuard/AWG или VLESS. Если вы админ и вам нужен remote-access с PKI и аудитом — оригинальная статья после микро-правок выше всё ещё рабочий документ.


ОРИГИНАЛ СТАТЬИ (без изменений)

Привет хабр! В этой статье хочу рассказать, как развернуть свой собственный vpn сервис. Тут будет только базовая настройка, рассчитанная только на личное пользование, но, ее хватит чтобы спокойно полистать youtube и прочие ресурсы, которых вам возможно не хватает.

**Дисклеймер: **я не являюсь профессионалом по части администрирования и сетевой инженерии. В данной статье будет использоваться ряд не безопасных команд. Если ваш сервер используется для чего-то еще, используйте материал данной статьи с осторожностью. На что обратить особое внимание, вы можете понять из существующих комментариев к статье. Данная статья была написана в качестве туториала исключительно для быстрого и простого но не безопасного ручного, разворачивания сервиса.

Стартовая точка

Отправной точкой будет аренда виртуального сервиса. В рамках данной статьи я не буду рассказывать о том, как и где его арендовать, а просто оставлю приглянувшуюся статью.

Для написания статьи я арендовал VPS со следующими характеристиками:

OS: Ubuntu 24.04 LTS

HDD: 10 Гб (место на диске)

RAM: 0.5 Гб (оперативная память)

CPU: 1x2.2 ГГц (процессор)

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

IP: XXX.XXX.XXX.XXX (IPv4 адрес вашего сервера)

LOGIN: Имя пользователя, созданного на сервере (чаще всего это будет root)

PASSWORD: Пароль для созданного пользователя

Имея вышеуказанную информацию, вы можете зайти на свой сервер по SSH.

Для тех, у кого Windows

С помощью CMD (информация с сайта)

Откройте «Параметры» — «Приложения».

Выберите подпункт «Дополнительные компоненты».

Найдите в списке «Клиент OpenSSH» и нажмите «Установить». Если этой кнопки нет, значит, служба уже включена.

После установки перезагрузите компьютер.

После включения нажмите Win+R, введите в поле «cmd» и Enter

Далее вы

Способ подключения через PowerShell можно посмотреть тут

Для того, чтобы это сделать, вам нужно открыть консоль и в ней выполнить следующую команды.

ssh <LOGIN>@<IP>
# В первый раз вы получите следующее сообщение
# ...
# Are you sure you want to continue connecting (yes/no/[fingerprint])?
# Пишем в консоли yes
yes
# Далее вам предложат ввести пароль
# <LOGIN>@<IP>'s password:
# Вводим пароль
<PASSWORD>

Теперь мы зашли на сервер.

Первоначальная настройка сервера

**Важно: **пока не закончится этот блок или не будет сказано обратного, не выходите из консоли

Примечание: Для вставки скопированного текста обычно можно либо нажать на колесико мышки внутри окна консоли, либо использовать комбинацию клавиш CTRL + SHIFT + V.

Для начала добавим пользователя (вы можете выбрать любое имя, я далее буду использовать имя vpn).

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

adduser vpn

Далее нам необходимо наделить нового пользователя административными правами, добавив в группу sudo.

usermod -aG sudo vpn

Теперь давайте обновим установленные пакеты и установим фаервол.

sudo apt update && sudo apt install ufw -y

И разрешим подключение по ssh.

sudo ufw allow OpenSSH
# Вывод должен быть следующим
# Available applications:
#   OpenSSH

Если вы получили аналогичное сообщение, то можно спокойно включать фаервол.

sudo ufw enable
# Проверить статус можно следующей командой sudo ufw status

Далее вам нужно открыть новую консоль и попробовать подключиться от имени созданного пользователя.

ssh vpn@<IP>

Когда вы зайдете на сервер, необходимо также проверить, что вам доступно выполнение команд от имени администратора. Для этого попробуем переключиться на пользователя root.

sudo su
# Тут вас попросят ввести пароль

Если все получилось, то имя пользователя в консоли изменится на root, чтобы вернуться обратно, нажмите CTRL + D и убедитесь, что вы снова под своим пользователем. Теперь можно смело закрывать первую консоль.

Рекомендую вам настроить SSH ключи вместо аутентификации по паролю. В контексте данной статьи этот пункт мы не будем рассматривать, но я оставлю вам инструкцию о том, как это сделать

DigitalOcean (На английском и может не работать без VPN)

timeweb (На русском, есть раздел для Windows)

Установка OpenVPN

Источник с альтернативными вариантами установки

Скачиваем установочный скрипт

Старайтесь всегда проверять содержание bash скриптов из неизвестных вам источников, да и вообще любых источников

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh

Разрешаем выполнение скаченного файла

chmod +x openvpn-install.sh

Начинаем установку (возможно вам потребуется добавить sudo перед следующей командой)

./openvpn-install.sh
# Вам будет предложен ряд вопросов, вы можете выбрать то, что вам нужно, если
# вы знаете, что делать, в противном случае можете оставить по умолчанию
# просто прокликав Enter
# После установки вам будет предложенно ввести имя первого клиента, я укажу vpn
# На остальные вопросы можно также прокликать Enter

После окончания выполнения скрипта, в вашей директории создастся файл с конфигурацией. В моем случае он будет называться vpn.ovpn так как именем клиента я указал именно vpn.

Примечание: чтобы посмотреть, какие файлы лежат в текущей директории, используйте одну из следующих команд ls, ls -l, ll

Примечание: для того, чтобы создать нового клиента, вам необходимо повторно выполнить скрипт openvpn-install.sh. Вам предложат, 4 варианта, введите цифру, под которой указано Add a new user и нажмите ENTER, укажите новое имя и выберите интересующие вас опции

Скачивание файла конфигурации

Далее, нам необходимо скачать файл с сервера

Вот статья о том, как это сделать с примером в том числе на windows

Открываем новое окно консоли на вашем устройстве и вводим следующую команду

# Копируем файл vpn.ovpn из домашней директории пользователя vpn на сервере
# в домашнюю директорию на вашем устройстве
scp vpn@<IP>:~/vpn.ovpn ~/

Возможные проблемы*:*

Permission denied (publickey) - скорее всего возникнет, если вы настроили ключ ssh и его имя отлично от id_rsa, в данном случае вам необходимо использовать флаг -i после команд ssh и scp указав путь до вашего ключа. ssh -i /path/to/key <LOGIN>@<IP>

Также вашему пользователю может не хватить прав для скачивания файла, тогда на сервере вы можете изменить права на файл или директорию (если не хотите париться, то можете написать sudo chmod 777 vpn.ovpn, что не рекомендуется) но лучше понять, что вы делаете

Вы можете находиться не в домашней директории, чтобы понять откуда скачивать файл, можно прописать команду pwd она выведет текущую директорию и тогда ваша команда по скачиванию файла будет выглядеть следующим образом scp <LOGIN>@<IP>:/path/from/pwd/vpn.ovpn ~/

Подключение VPN

Для большинства устройств есть официальное приложение OpenVPN для подключения клиента, поэтому тут расскажу, что нужно делать на ubuntu

Я работаю на Kubuntu 25.04. Поэтому пример подключения будет на нем.

Для того, чтобы у вас заработало подключение вам необходимо установить несколько модулей в вашей системе

sudo apt-get install openvpn network-manager-openvpn
# также вам может понадобиться установка network-manager-openvpn-gnome
# и перезагрузка

Далее нам нужно открыть настройки wifi и сети и добавить новую сеть

Иллюстрация из оригинала статьи

Открывшееся окно пролистываем в самый низ и выбираем пункт “Импортировать VPN-соединение”, ищем наш файл и нажимаем открыть. Новая конфигурация openvpn должна добавиться в список доступных.

Подключаем VPN и можем проверять, что наш IP изменился.

по теме #openvpn