MAATRIX / Блог / OpenVPN на VPS: ставим свой сервер правильно

OpenVPN на VPS: ставим свой сервер правильно

Блог MAATRIX · 2026-07-07

OpenVPN — проверенный годами протокол: работает почти везде, умеет TCP на 443 порту (когда UDP режут) и гибко настраивается. Разберём два пути — быстрый скрипт за 3 минуты и ручную настройку для тех, кто хочет понимать каждый шаг.

Когда выбирать OpenVPN

['OpenVPN тяжелее и медленнее WireGuard, но у него есть козырь: он умеет маскироваться под обычный HTTPS-трафик на TCP-443. Там, где UDP-туннели глушат, OpenVPN на 443 часто продолжает работать.', '
  • Нужна работа в жёстких сетях, где режут всё, кроме 443.
  • Нужна совместимость со старым софтом и корпоративными клиентами.
  • Нужны сложные политики: сертификаты, отзыв доступа, TLS-auth.
', 'Для личного быстрого VPN обычно берут WireGuard, а OpenVPN — когда важнее «пролезть», чем «быстро». Ещё один плюс OpenVPN — зрелая экосистема: клиенты под любую ОС, интеграция с двухфакторной аутентификацией, готовые GUI-панели вроде OpenVPN Access Server для тех, кто не хочет возиться с конфигами вручную.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для OpenVPN

Быстрый способ: install-скрипт

['Самый простой путь — известный скрипт angristan/openvpn-install. Он сам ставит пакеты, генерирует сертификаты и выдаёт готовый .ovpn.', '
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh\nchmod +x openvpn-install.sh\n./openvpn-install.sh
', 'Скрипт задаст вопросы (протокол, порт, DNS) — можно жать Enter на дефолтах. В конце появится файл client.ovpn, который скачиваете на устройство.', 'Добавить ещё одного клиента позже — запустить скрипт снова, он предложит пункт меню.']

Ручная установка: пакеты и easy-rsa

['Для контроля над каждым шагом ставим руками. Начинаем с пакетов и центра сертификации.', '
apt update && apt install openvpn easy-rsa -y\nmake-cadir ~/easy-rsa\ncd ~/easy-rsa\n./easyrsa init-pki\n./easyrsa build-ca nopass
', 'Генерируем сертификат и ключ сервера, параметры Диффи-Хеллмана и TLS-ключ:', '
./easyrsa build-server-full server nopass\n./easyrsa gen-dh\nopenvpn --genkey secret ta.key
']

Конфиг сервера

['Копируем ключи в /etc/openvpn/server/ и создаём /etc/openvpn/server/server.conf:', '
port 1194\nproto udp\ndev tun\nca ca.crt\ncert server.crt\nkey server.key\ndh dh.pem\ntls-auth ta.key 0\nserver 10.9.0.0 255.255.255.0\npush "redirect-gateway def1"\npush "dhcp-option DNS 1.1.1.1"\nkeepalive 10 120\ncipher AES-256-GCM\nuser nobody\ngroup nogroup\npersist-key\npersist-tun
', 'Включаем форвардинг и NAT (замените eth0 на свой интерфейс из ip route):', "
echo 'net.ipv4.ip_forward=1' | tee -a /etc/sysctl.conf\nsysctl -p\niptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
", '
ufw allow 1194/udp\nsystemctl enable --now openvpn-server@server
']

Клиентский .ovpn

['Для клиента генерируем сертификат и собираем один файл со всеми ключами внутри — так удобнее переносить.', '
cd ~/easy-rsa\n./easyrsa build-client-full client1 nopass
', 'В .ovpn прописываете remote и вставляете содержимое ca.crt, client1.crt, client1.key и ta.key между соответствующими тегами:', '
client\ndev tun\nproto udp\nremote YOUR_SERVER_IP 1194\ncipher AES-256-GCM\nauth-nocache\nremote-cert-tls server\n<ca>...</ca>\n<cert>...</cert>\n<key>...</key>\n<tls-auth>...</tls-auth>
', 'Импортируете этот файл в приложение OpenVPN Connect (есть под Windows, macOS, iOS, Android).']

Режим TCP-443 для жёстких сетей

['Если UDP режут, переводим OpenVPN на TCP и порт 443 — трафик становится неотличим от обычного HTTPS. В server.conf меняете proto udp на proto tcp и port 1194 на port 443, в клиенте — то же самое.', '
proto tcp\nport 443
', 'Учтите: TCP-в-TCP медленнее, зато проходит почти везде. Эффект «TCP meltdown» — когда два уровня повторной передачи начинают мешать друг другу — заметен на нестабильных каналах, поэтому держите TCP-режим как запасной, а по умолчанию сидите на UDP.', 'Дополнительно можно поднять OpenVPN за stunnel или обфускацию, чтобы даже handshake выглядел как чистый TLS. Но если задача именно в глубокой маскировке, честнее сразу смотреть в сторону Shadowsocks или XRay — они спроектированы под это.']

Частые ошибки

['
  • TLS handshake failed — не совпадают ta.key или направление (0 на сервере, 1 на клиенте). При inline-tls-auth добавьте key-direction 1 в клиент.
  • Подключилось, сайтов нет — забыли MASQUERADE или ip_forward.
  • Порт закрыт — проверьте ufw и firewall в панели хостинга.
', 'OpenVPN считает нагрузку на CPU при шифровании — на слабом железе это узкое место. AMD EPYC у MAATRIX держит AES-256-GCM с аппаратным ускорением, так что даже TCP-режим не проседает.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для OpenVPN

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

OpenVPN или WireGuard для новичка?

Для простого личного VPN проще и быстрее WireGuard. OpenVPN берут, когда нужна маскировка под HTTPS на 443 или совместимость с корпоративным софтом.

Почему мой OpenVPN медленный?

Скорее всего вы в режиме TCP. UDP всегда быстрее; переходите на TCP только если UDP в вашей сети режут.

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

Через easy-rsa: ./easyrsa revoke client1, затем gen-crl и подключение crl-verify в конфиге. Скомпрометированный сертификат перестанет работать.