Добавить в корзинуПозвонить
Найти в Дзене
Джо Аналитикс

Установка OpenVPN на VPS: пошаговое руководство

Развернуть собственный VPN-сервер — задача, которая решается за 15 минут. OpenVPN остаётся стандартом индустрии для создания защищённых туннелей: он проверен временем, поддерживает любые платформы и даёт полный контроль над инфраструктурой. В этой статье — инструкция по установке OpenVPN на VPS с нуля. OpenVPN — open-source решение для организации виртуальных частных сетей. Работает на транспортном уровне (SSL/TLS), поддерживает TCP и UDP, использует OpenSSL для шифрования. Сервер может обслуживать сотни клиентов одновременно, а конфигурация гибко настраивается под любые сценарии: от доступа к корпоративной сети до обхода региональных блокировок. В отличие от WireGuard, OpenVPN сложнее в настройке, но даёт больше возможностей: разные порты, протоколы, методы аутентификации и фильтрации трафика. Облачные VPN-сервисы удобны, но имеют минусы: Self-hosted OpenVPN даёт: Для 50+ одновременных подключений — 2 ядра и 1 ГБ RAM. Для запуска подойдёт любой VPS с Linux. Рекомендуем: Все команды вы
Оглавление

Развернуть собственный VPN-сервер — задача, которая решается за 15 минут. OpenVPN остаётся стандартом индустрии для создания защищённых туннелей: он проверен временем, поддерживает любые платформы и даёт полный контроль над инфраструктурой. В этой статье — инструкция по установке OpenVPN на VPS с нуля.

Что такое OpenVPN

OpenVPN — open-source решение для организации виртуальных частных сетей. Работает на транспортном уровне (SSL/TLS), поддерживает TCP и UDP, использует OpenSSL для шифрования. Сервер может обслуживать сотни клиентов одновременно, а конфигурация гибко настраивается под любые сценарии: от доступа к корпоративной сети до обхода региональных блокировок.

В отличие от WireGuard, OpenVPN сложнее в настройке, но даёт больше возможностей: разные порты, протоколы, методы аутентификации и фильтрации трафика.

Зачем self-hosted

Облачные VPN-сервисы удобны, но имеют минусы:

  • Логирование трафика (многие сервисы хранят метаданные)
  • Ограничения по скорости и числу устройств
  • Цена за подписку часто превышает стоимость VPS

Self-hosted OpenVPN даёт:

  • Полную приватность — никто, кроме вас, не видит логи
  • Неограниченное число клиентов (зависит от мощности VPS)
  • Экономию при регулярном использовании — VPS за $2-3/мес дешевле любого платного сервиса
  • Возможность кастомизации: свои сертификаты, порты, протоколы

Минимальные требования

  • CPU: 1 ядро (x86 или ARM)
  • RAM: 256 МБ (рекомендуется 512 МБ для 10+ клиентов)
  • Диск: 2 ГБ (система + конфиги)
  • ОС: Ubuntu 20.04/22.04/24.04 или Debian 11/12
  • Сеть: публичный IP, открытые порты (по умолчанию 1194/udp)

Для 50+ одновременных подключений — 2 ядра и 1 ГБ RAM.

Какой VPS выбрать

Для запуска подойдёт любой VPS с Linux. Рекомендуем:

  • Timeweb Cloud — российское облако, NVMe, от 800 ₽/мес
  • Reg.ru — VPS + домен в одном месте. Промокод 1524-DDFE-97B0-04A1 — скидка 5%.
  • RackNerd — от $21.99/год, зарубежная локация

Установка на Ubuntu/Debian

Все команды выполняются от root или через sudo. Проверьте версию ОС:

```bash lsb_release -a ```

Шаг 1. Обновление системы и установка зависимостей

```bash apt update && apt upgrade -y apt install wget curl iptables-persistent -y ```

Шаг 2. Загрузка скрипта установки OpenVPN

Используем официальный скрипт от Nyr — самый простой и проверенный способ:

```bash wget https://git.io/vpn -O openvpn-install.sh chmod +x openvpn-install.sh ```

Шаг 3. Запуск интерактивной установки

```bash bash openvpn-install.sh ```

Скрипт задаст несколько вопросов:

  • IP-адрес — ваш публичный IP (можно оставить автоопределение)
  • Порт — по умолчанию 1194, можно изменить (например, 443 для обхода DPI)
  • Протокол — UDP (рекомендуется) или TCP
  • DNS — выберите провайдера (Cloudflare, Google или кастомный)
  • Имя клиента — первое клиентское подключение (например, `client1`)

После ответов скрипт:

  • Установит OpenVPN
  • Сгенерирует сертификаты CA и сервера
  • Создаст конфигурационный файл сервера
  • Сгенерирует клиентский .ovpn файл

Шаг 4. Открытие порта в файрволе

Если используется ufw:

```bash ufw allow 1194/udp ufw enable ```

Если iptables:

```bash iptables -A INPUT -p udp --dport 1194 -j ACCEPT netfilter-persistent save ```

Шаг 5. Запуск и включение автозагрузки

```bash systemctl start openvpn-server@server systemctl enable openvpn-server@server systemctl status openvpn-server@server ```

Если статус `active (running)` — всё работает.

Шаг 6. Настройка форвардинга трафика (NAT)

Чтобы клиенты могли выходить в интернет через VPN:

```bash echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p ```

Проверьте правило NAT в iptables (скрипт Nyr добавляет его автоматически):

```bash iptables -t nat -L POSTROUTING ```

Должно быть правило `MASQUERADE` для сети 10.8.0.0/24.

Шаг 7. Создание дополнительных клиентов

Если нужно добавить ещё пользователей:

```bash bash openvpn-install.sh ```

Выберите опцию "Add a new client", введите имя. Скрипт создаст новый `.ovpn` файл в `/root/`.

Шаг 8. Получение клиентского файла

Конфигурационные файлы клиентов лежат в `/root/`:

```bash ls /root/*.ovpn ```

Скачайте файл, например, через SCP:

```bash scp root@ваш-сервер:/root/client1.ovpn . ```

Или скопируйте содержимое и сохраните локально:

```bash cat /root/client1.ovpn ```

Что получите в итоге

  • Рабочий VPN-сервер на OpenVPN с поддержкой до 100+ одновременных клиентов (зависит от мощности VPS)
  • Клиентские конфиги в формате .ovpn — совместимы с Windows, macOS, Linux, Android, iOS
  • Полный контроль над логами — можно включить или отключить логирование
  • Базовую защиту от DPI — если сменить порт на 443/tcp или 53/udp

Частые вопросы

1. Как обновить OpenVPN на сервере?

```bash apt update && apt upgrade openvpn -y systemctl restart openvpn-server@server ```

Скрипт Nyr ставит пакет из репозитория, поэтому обновления приходят через `apt upgrade`. Если нужна свежая версия из исходников — компилируйте вручную.

2. Как отозвать доступ клиента?

Запустите скрипт:

```bash bash openvpn-install.sh ```

Выберите "Revoke a client", укажите имя пользователя. После этого клиентский сертификат добавится в CRL (Certificate Revocation List), и подключение станет невозможным.

3. Почему клиент подключается, но интернет не работает?

Причины:

  • Не включён форвардинг трафика (`net.ipv4.ip_forward=1`)
  • Отсутствует правило NAT (проверьте `iptables -t nat -L POSTROUTING`)
  • В клиентском конфиге не указан редирект всего трафика — добавьте `redirect-gateway def1` вручную
  • DNS не настроен — проверьте `push "dhcp-option DNS 1.1.1.1"` в `/etc/openvpn/server.conf`

После исправлений перезапустите сервер:

```bash systemctl restart openvpn-server@server ```