Гид по технологиям

Настройка OpenVPN на Linux: пошаговое руководство

• 8 min read • Сеть • Обновлено 28 Nov 2025
Как настроить OpenVPN на Linux
Как настроить OpenVPN на Linux

Содержание

  • Подготовка сервера для OpenVPN
  • Установка OpenVPN на сервере
  • Подключение к OpenVPN с Linux
  • Подключение к OpenVPN с Windows
  • Подключение к OpenVPN с Mac
  • Добавление нового клиента на сервер OpenVPN
  • Удаление клиентов из OpenVPN
  • Удаление OpenVPN с сервера
  • Когда это не подходит и альтернативы
  • Безопасность и рекомендации по защите
  • Чек‑листы для роли администратора и пользователя
  • Критерии приёмки и тесты
  • Часто задаваемые вопросы

Введение

Виртуальные частные сети (VPN) скрывают ваши сетевые соединения и повышают безопасность при работе в публичных сетях. Многие провайдеры предлагают готовые решения, но собственный сервер даёт полный контроль над трафиком и конфигурацией. В этом руководстве мы развернём маршрутный (routing) OpenVPN-сервер на Ubuntu, подключим клиенты и разберём сопутствующие операции: добавление/удаление клиентов, безопасные настройки и тесты.

Важно: в примерах используется Ubuntu, но все шаги применимы и для большинства других дистрибутивов Linux с системой apt.


Подготовка сервера для OpenVPN

Что делает этот раздел: подготавливает пакетный менеджер, загружает установочный скрипт и даёт базовые рекомендации по сетевой подготовке.

  1. Обновите индекс пакетов и установите необходимые утилиты:
sudo apt update
sudo apt install -y wget curl ca-certificates
  1. Загрузите сторонний скрипт установки OpenVPN от angristan (автоматизирует большую часть работы):
wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh -O ./openvpn-install.sh

Терминал при загрузке установочного скрипта OpenVPN.

  1. Дайте скрипту права на исполнение:
sudo chmod ug+x ./openvpn-install.sh

Примечание: скрипт автоматизирует создание CA, ключей и конфигурации демона OpenVPN. Если вы хотите управлять сертификатами вручную — используйте официальную документацию OpenVPN и easy-rsa.


Установка OpenVPN на сервере

Запустите инсталлятор от имени суперпользователя и следуйте интерактивным подсказкам:

sudo ./openvpn-install.sh

Что ожидается на каждом шаге (пояснения к подсказкам скрипта):

  • Интерфейс: скрипт спросит IP/интерфейс. Для сервера VPS обычно достаточно оставить значение по умолчанию и нажать Enter.

Подсказка выбора интерфейса в инсталляторе.

  • IPv6: вам предложат включить поддержку IPv6 — нажмите Y, если у сервера есть IPv6-адрес. Если нет, введите N.

Подсказка включения IPv6.

  • Порт и протокол: рекомендуется оставить UDP и порт по умолчанию (1194), если у вас нет причин менять их.

  • DNS: скрипт предложит выбрать DNS-резолвер. Популярные варианты — Cloudflare и Google (8.8.8.8). Выберите в соответствии с политиками вашего проекта.

Подсказка выбора DNS-сервера.

  • Сжатие и шифрование: по соображениям безопасности лучше отключить сжатие (вредно при применении compression-oracle-атаки) и выбрать современные шифры. Скрипт предложит эти варианты — рекомендуем отказаться от компрессии и согласиться на современные настройки шифрования.

Подсказка дополнительных опций в инсталляторе.

После завершения установки скрипт создаст клиентский .ovpn‑файл (например, maketecheasier.ovpn) в домашнем каталоге root или указанной учётной записи.

Совет: если вы хотите интегрировать routing с существующей сетью, проверьте правила iptables/nftables и параметры sysctl (net.ipv4.ip_forward = 1).


Подключение к вашему OpenVPN с Linux

Кратко: вы переносите .ovpn‑файл на локальную машину и импортируете его в системные настройки сети или в клиент OpenVPN.

  1. Скопируйте файл .ovpn на локальный компьютер. На примере scp:
scp user@your.server.ip.address:/home/youruser/maketecheasier.ovpn /home/$USER/

Замените user и путь на фактические значения.

  1. Откройте «Настройки» (Settings) вашей рабочей среды, перейдите в раздел «Сеть», нажмите «+» возле VPN и выберите «Импорт из файла…».

Скриншот приложения Настройки в Ubuntu.

Выбор раздела Сеть в настройках GNOME.

Кнопка добавления нового VPN-подключения.

Импорт .ovpn-файла в Ubuntu.

  1. Выберите .ovpn‑файл в файловом диалоге и нажмите «Открыть», затем «Добавить».

Детали OpenVPN-подключения в GNOME.

Готово — подключение доступно через панель задач.

Советы по отладке:

  • Просмотрите системный журнал: sudo journalctl -u NetworkManager -b –no-pager
  • Если клиент не подключается, проверьте доступность порта сервера (sudo ss -upln | grep 1194) и правила файрвола (iptables/nftables, cloud provider security groups).

Подключение к вашему OpenVPN с Windows

  1. Скачайте официальный клиент OpenVPN Connect или OpenVPN Community Client с сайта разработчика.
  2. Запустите установщик и следуйте мастеру: Accept → Next → Install.

Экран лицензионного соглашения для клиента OpenVPN на Windows.

Процесс установки клиента OpenVPN на Windows.

  1. При первом запуске клиента согласитесь с политикой сбора данных (если предлагается), затем перейдите на вкладку Upload File и выберите ваш .ovpn файл.

Согласие с политикой сбора данных OpenVPN.

Кнопка Browse в клиенте OpenVPN.

  1. Нажмите Connect после проверки параметров.

Окно подключения OpenVPN в Windows.

Подсказки:

  • Запуск от имени администратора может понадобиться для установки сетевого адаптера TAP.
  • Пользовательские политики антивируса или корпоративный прокси могут блокировать соединение.

Подключение к вашему OpenVPN с Mac

  1. Скачайте OpenVPN Connect для macOS или альтернативный клиент, например Tunnelblick.

Выбор двоичных файлов для OpenVPN на Mac.

  1. Установите приложение, согласитесь с лицензионным соглашением и запустите его.

Лицензионное соглашение клиента OpenVPN на Mac.

Процесс установки клиента OpenVPN на Mac.

  1. Откройте Launchpad, запустите OpenVPN Connect, согласитесь с политикой и загрузите .ovpn через Upload File → Browse.

OpenVPN в Launchpad на Mac.

Подтверждение политики сбора данных в OpenVPN для macOS.

Кнопка Upload File в OpenVPN для Mac.

Кнопка Browse в OpenVPN для Mac.

Окно с деталями сервера OpenVPN на Mac.

Заметка: Tunnelblick — удобная бесплатная альтернатива для macOS, если OpenVPN Connect не подходит.


Добавление нового клиента на сервер OpenVPN

Чтобы сгенерировать ещё один клиентский профиль, просто запустите инсталлятор снова:

sudo ./openvpn-install.sh

При появлении меню выберите опцию добавления клиента (обычно «1»), присвойте имя клиенту (например, maketecheasier-2) и решите, требуется ли пароль для ключа. Скрипт сгенерирует новый .ovpn файл в домашнем каталоге.

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

Распределяйте .ovpn файлы по защищённым каналам (SCP, зашифрованная почта, физический носитель). Не отправляйте ключи в открытом виде в публичных чатах.


Удаление клиента из OpenVPN

Чтобы удалить существующий профиль, запустите тот же инсталлятор и выберите удаление клиента (обычно опция «2»), затем укажите индекс клиента в списке.

sudo ./openvpn-install.sh

Процесс удаления конфигурации клиента на сервере.

Удаление удаляет ключи и файлы конфигурации, а также обновляет серверный список разрешённых клиентов.

Совет: храните резервную копию и журнал изменений (audit log) перед удалением для возможности восстановления.


Удаление OpenVPN с сервера

Если нужно полностью удалить OpenVPN, снова запустите инсталлятор и выберите опцию удаления OpenVPN (обычно «3»). Скрипт снимет конфигурацию и удалит созданные файлы.

sudo ./openvpn-install.sh

Когда это не подходит и альтернативы

OpenVPN — гибкое решение, но есть случаи, когда стоит выбрать альтернативу:

  • Нужна сверхнизкая задержка и современная криптография → рассмотрите WireGuard.
  • Требуется простая организация частной сети между устройствами без проброса портов → Tailscale (на базе WireGuard) проще в эксплуатации.
  • На macOS удобнее Tunnelblick как GUI‑альтернатива.
  • Если вы хотите избежать ручного управления сертификатами — используйте облачные VPN/SD-WAN решения.

Краткое сравнение (качественное):

  • OpenVPN: совместимость, зрелость, гибкая настройка, но может быть медленнее.
  • WireGuard: простота, производительность, но менее гибкая аутентификация на уровне PKI.
  • Tailscale: минимум настроек, NAT traversal, но модель централизована.

Безопасность и рекомендации по защите

Рекомендации по жёсткой конфигурации сервера OpenVPN:

  • Отключите компрессию трафика (в конфиге client и server): это предотвращает уязвимости, связанные с компрессией.
  • Используйте современные шифры (AES‑GCM, CHACHA20‑POLY1305) и TLS 1.2/1.3, если возможно.
  • Включите перенаправление IPv4: sysctl net.ipv4.ip_forward = 1.
  • Жёстко настройте файрвол: разрешите только порты OpenVPN и административный доступ по SSH из доверенных адресов.
  • Регулярно ротируйте ключи и сертификаты; удаляйте неиспользуемые клиентские профили.
  • Используйте fail2ban или аналогичные инструменты для защиты от перебора SSH и попыток доступа к VPN.
  • Храните резервную копию CA и ключей в зашифрованном хранилище.

Короткий чек безопасности:

  • Проверить включён ли IP forwarding
  • Проверить правила NAT/masquerade
  • Проверить список клиентов и удалённые ключи
  • Убедиться, что система обновлена (apt upgrade)

Чек‑лист для роли администратора

  • Установить обновления на сервере
  • Установить wget, curl, ca-certificates
  • Скачать и проверить целостность скрипта перед выполнением
  • Настроить резервное копирование ключей CA
  • Отключить компрессию в конфигурации OpenVPN
  • Настроить iptables/nftables и включить MASQUERADE
  • Ограничить доступ к SSH через firewall
  • Завести журнал операций при добавлении/удалении клиентов

Чек‑лист для конечного пользователя

  • Получить .ovpn файл безопасным способом
  • Импортировать профиль в клиент
  • Протестировать подключение и проверить IP/маршрут (curl ifconfig.me)
  • Проверить доступ к ресурсам внутри сети, если нужно

Критерии приёмки и тесты

Минимальный набор тестов, который должен пройти развернутый VPN:

  1. Подключение клиента: клиент успешно устанавливает VPN‑сессию и получает IP из пула.
  2. Маршрутизация наружу: трафик клиента выходит через публичный IP сервера (если это требуется).
  3. Доступ к внутренним ресурсам: при необходимости клиент имеет доступ к внутренним хостам.
  4. Отказоустойчивость: при перезапуске сервиса OpenVPN клиенты восстанавливают соединение.
  5. Безопасность: сканирование портов не выявляет лишних открытых сервисов.

Примеры команд проверки:

# Проверить состояние службы
sudo systemctl status openvpn-server@server.service

# Проверить порт (UDP 1194 по умолчанию)
sudo ss -ulpn | grep 1194

# Проверить форвардинг
sysctl net.ipv4.ip_forward

# Проверить внешний IP через VPN
curl --interface tun0 ifconfig.me

Часто задаваемые вопросы

Можно ли пробросить порт на машину внутри OpenVPN?

Нет. OpenVPN в маршрутизации по умолчанию не принимает входящие соединения извне к хостам внутри VPN без дополнительной настройки проброса портов на сервере или использования обратного проксирования. Решения: проброс портов на маршрутизаторе, настройка статического NAT или динамического DNS.

Теряю ли я внешний IP при подключении к OpenVPN?

Не теряете «оригинальный» локальный IP, но после подключения трафик может выходить через IP сервера VPN. Это нормальное поведение: ваш внешний видимый IP в интернете станет IP сервера (если настроен full-tunnel).

Можно ли использовать несколько конфигураций OpenVPN на одной машине?

Да. Убедитесь, что каждая конфигурация имеет уникальное имя и unit-файл. Пример копии и включения второго клиента:

sudo cp ./maketecheasier-new.ovpn /etc/openvpn/client-2.conf
sudo systemctl disable --now openvpn@client.service
sudo systemctl enable --now openvpn@client-2.service

Когда OpenVPN не годится: примеры и альтернативы

Контрпримеры, когда OpenVPN может оказаться неудачным выбором:

  • Вам нужна минимальная задержка для игр или VoIP — WireGuard часто даёт лучшую производительность.
  • Нужна простая организация приватной mesh‑сети между мобильными устройствами — Tailscale устраняет хлопоты с пробросом портов.
  • Нужно централизованное управление доступом и большая интеграция с IAM — корпоративные SD‑WAN/Cloud VPN решения будут удобнее.

Короткая глоссарий (1 строка на термин)

  • CA — центр сертификации, отвечает за выпуск и подпись сертификатов.
  • .ovpn — единый файл конфигурации клиента OpenVPN, содержащий ключи и параметры.
  • Routing — организация передачи пакетов между сетями на уровне IP (в отличие от bridging).
  • NAT (MASQUERADE) — преобразование исходных адресов пакетов для выхода в интернет через один IP.

Резюме

OpenVPN остаётся надёжным и гибким решением для личного и корпоративного VPN. Быстрая установка через сторонний инсталлятор подходит для большинства задач, но требует внимательной настройки безопасности: отключайте компрессию, используйте надёжные шифры, ограничивайте доступ по файрволу и храните ключи в защищённом хранилище. Для задач с высокими требованиями к производительности или минимизации операций управления рассмотрите WireGuard или Tailscale.

Image credit: Anthony Choren via Unsplash (фон) и Wikimedia Commons (логотип). Все скриншоты и изменения — Ramces Red.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

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

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро