openvpn server ubuntu установка и настройка
OpenVPN сервер на Ubuntu: установка и настройка без компромиссов
Мета-заголовок: OpenVPN сервер Ubuntu: установка и настройка — полный гайд
Мета-описание: Пошаговая настройка OpenVPN на Ubuntu. Реальные риски, сравнение протоколов, kill switch, подводные камни. Начни сейчас →
openvpn server ubuntu установка и настройка — это та задача, которая кажется простой только на первый взгляд. Десятки статей копируют друг друга, но молчат о фатальных ошибках, превращающих твой VPN в решето. Давай разберёмся, как поднять OpenVPN на Ubuntu по-настоящему безопасно и быстро, без лишних движений.

Почему большинство инструкций врут?
Ты открываешь гайд — и видишь apt install openvpn, копипасту из трёх команд и фразу «готово». Но правда в том, что стандартная установка не защищает от утечек DNS, не настраивает kill switch и использует устаревшие шифры. Провайдеры вроде «Ростелекома» легко детектят OpenVPN по DPI (глубокий анализ пакетов), если не включить obfuscation. А ещё забывают про iptables — после переподключения VPN трафик может утекать наружу.
Я покажу, как избежать этих граблей. Но сначала — протокольные войны.

OpenVPN vs WireGuard: война протоколов за твой трафик
WireGuard — модный, быстрый, всего 4 000 строк кода. OpenVPN — монстр с 100 000 строк, зато гибкий. Сравним в таблице:
| Параметр | OpenVPN | WireGuard | IKEv2 | Shadowsocks |
|---|---|---|---|---|
| Шифрование по умолчанию | AES‑256‑GCM | ChaCha20 | AES‑256‑CBC | AES‑256‑CFB (или любой) |
| Perfect Forward Secrecy | Да (DHE) | Да (Curve25519) | Да (DH) | Нет (если не включить) |
| Сложность обхода DPI | Средняя (можно маскировать) | Высокая (легко детектится) | Низкая | Высокая (маскировка под HTTPS) |
| Скорость (реальная) | 150‑300 Мбит/с (на одном ядре) | 500‑900 Мбит/с | до 400 Мбит/с | 100‑200 Мбит/с |
| Поддержка на роутерах | OpenWrt, Keenetic, Asus | OpenWrt, Keenetic (с 2020), Asus | Keenetic, iOS | OpenWrt, Keenetic |
| Клиент для Windows | Любой (OpenVPN GUI) | Встроен в 10/11 (но настройка не для всех) | Встроен | Клиент Shadowsocks |
WireGuard даёт прирост пинга всего 1–5 мс, OpenVPN — 5–15 мс. Но если твой провайдер блокирует UDP или подрезает OpenVPN по портам, WireGuard без маскировки бесполезен. OpenVPN можно спрятать поверх TCP 443 — выглядит как HTTPS.
Чего вам НЕ говорят в других гайдах
1. Бесплатные VPN — это лотерея с минусом
Цена аренды VPS начинается от $5/мес. Если тебе предлагают «вечный бесплатный VPN», серверы оплачиваются из твоего же трафика. Известные случаи: Hola VPN продавала пропускную способность своих пользователей в ботнет. Другие подменяют рекламу на сайтах, внедряют трекеры, а некоторые — перехватывают SSL-сертификаты.
2. Kill switch — не панацея
После переподключения к сети (например, при смене Wi‑Fi на мобильный) kill switch может не сработать. Причина: маршруты iptables сбрасываются. Единственный надёжный способ — настроить --redirect-gateway в OpenVPN в сочетании с правилами iptables -A OUTPUT -o tun0 -j ACCEPT; iptables -A OUTPUT -j DROP (принудительный выпуск только через туннель).
3. Логи по закону
Если твой VPN-провайдер зарегистрирован в юрисдикции 14 Eyes (США, Великобритания, Австралия, Канада и др.), он может хранить логи по требованию суда. Даже если обещают «no‑log», проверяй независимые аудиты (Cure53, Quarkslab). Российские провайдеры обязаны передавать данные по закону 374‑ФЗ — выводы делай сам.
4. Утечки через WebRTC и IPv6
Даже при работающем OpenVPN браузер может раскрыть твой реальный IP через WebRTC. Также, если на сервере не отключён IPv6, трафик пойдёт по нему в обход VPN. Решение: отключай WebRTC в настройках браузера (или плагинами) и блокируй IPv6 на клиенте.
5. Фрод с «анонимностью»
Ни один VPN не делает тебя анонимным. Если ты используешь его для обхода блокировок, твои действия всё равно видны: IP на стороне сайта (если логируешься), криптографические отпечатки браузера (fingerprinting), метаданные трафика. VPN лишь скрывает адрес от провайдера, но не от спецслужб, если они заинтересуются.
Ручная установка OpenVPN на Ubuntu — шаг за шагом
Будем ставить на Ubuntu 22.04 / 24.04. Все команды — от root или через sudo.
1. Обновление и установка пакетов
apt update && apt upgrade -y
apt install openvpn easy-rsa iptables-persistent -y
2. Настройка PKI (инфраструктура открытых ключей)
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
Редактируем vars:
set_var EASYRSA_REQ_COUNTRY "RU"
set_var EASYRSA_REQ_PROVINCE "Moscow"
set_var EASYRSA_REQ_CITY "Moscow"
set_var EASYRSA_REQ_ORG "MyVPN"
set_var EASYRSA_REQ_EMAIL "admin@example.com"
set_var EASYRSA_REQ_OU "Tech"
set_var EASYRSA_ALGO "ec"
set_var EASYRSA_DIGEST "sha512"
set_var EASYRSA_CURVE "secp384r1"
Строим CA:
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-dh
openvpn --genkey secret /etc/openvpn/ta.key
3. Конфигурация сервера
Создаём /etc/openvpn/server.conf:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
tls-crypt /etc/openvpn/ta.key
cipher AES-256-GCM
data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
auth SHA512
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
push "block-outside-dns"
keepalive 10 120
topology subnet
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3
mssfix 1450
tun-mtu 1500
fast-io
Обрати внимание: tls-crypt вместо tls-auth — скрывает сам факт OpenVPN от DPI.
4. Iptables и форвардинг
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT
netfilter-persistent save
5. Генерация клиентского сертификата
cd /etc/openvpn/easy-rsa
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
Создаём .ovpn файл (шаблон):
client
dev tun
proto udp
remote <IP_сервера> 1194
resolv-retry infinite
nobind
remote-cert-tls server
cipher AES-256-GCM
data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
auth SHA512
key-direction 1
tls-crypt ta.key
<ca>
(содержимое ca.crt)
</ca>
<cert>
(содержимое client1.crt)
</cert>
<key>
(содержимое client1.key)
</key>
6. Включение и автозапуск
systemctl enable openvpn@server
systemctl start openvpn@server
Проверяем логи: journalctl -u openvpn@server.
Тонкая настройка: шифрование, MTU, kill switch
Почему AES‑256‑GCM, а не ChaCha20?
OpenVPN нативно работает с AES быстрее, если процессор поддерживает аппаратное ускорение (AES‑NI). ChaCha20 в OpenVPN эмулируется — падение скорости. WireGuard же спроектирован под ChaCha20 и выигрывает на мобильных ARM.
MTU и MSS
Проблемы с фрагментацией пакетов приводят к разрыву соединения. На сервере мы уже поставили mssfix 1450. Если клиенты жалуются на таймауты, уменьши до 1350 (актуально для LTE).
Kill switch на клиенте (Linux)
Добавь в конфигурацию клиента /etc/openvpn/client.conf:
redirect-gateway def1
block-outside-dns
И обязательно настрой iptables:
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A OUTPUT -d <IP_сервера> -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -j DROP
Это гарантирует, что без открытого туннеля трафик наружу не пойдёт.
Split tunnelling (частичная маршрутизация)
Если нужно, чтобы внутренние ресурсы (например, рабочий GitLab) шли напрямую, а остальное — через VPN:
push "route 10.0.0.0 255.0.0.0 net_gateway"
Тогда трафик к 10.x.x.x пойдёт мимо туннеля.
Таблица сравнения: WireGuard, OpenVPN, IKEv2, Shadowsocks
| Критерий | OpenVPN | WireGuard | IKEv2 | Shadowsocks |
|---|---|---|---|---|
| Аудит безопасности | Cure53, Quarkslab (модульный) | Cure53 (ядро) | Не проводился | Отсутствует |
| Маскировка трафика | TCP 443, obfuscation | Нет (обнаружим по сигнатуре) | IPsec (заметен) | HTTP/2 маскировка |
| Количество клиентов | Ограничено только сервером | Не более 2^32 | До 65000 | До 10000 |
| Сложность настройки | Высокая (PKI, сертификаты) | Низкая (одна пара ключей) | Средняя (EAP, сертификаты) | Низкая (пароль) |
| Perfect Forward Secrecy | Да (DHE) | Да (Curve25519) | Да (DH) | Нет |
| Поддержка kill switch | Полная (iptables) | Частичная (через сторонние утилиты) | Встроенная (Windows/Linux) | Отсутствует |
Реальные сценарии: от обхода блокировок до защиты от провайдера
Сценарий 1: Айтишник в кафе «Кофеварка»
Ты сидишь с ноутбуком в кофейне на Тверской. Подключаешься к открытому Wi‑Fi. Без VPN любой с тем же SSID может перехватить твои cookies или запустить атаку Man‑in‑the‑Middle. OpenVPN с шифрованием AES‑256‑GCM защищает даже от такого «соседа».
Сценарий 2: Обход блокировки мессенджера
Ростелеком блокирует Telegram по IP-адресам. Ты поднимаешь OpenVPN на сервере за пределами РФ, и трафик уходит через него. DPI провайдера видит только зашифрованный UDP на 1194 порт — если включён tls-crypt, он не может понять, что это VPN. Работает до тех пор, пока провайдер не начнёт глушить вообще весь UDP (такое бывает в час пик). Тогда
Good reminder about KYC verification. This addresses the most common questions people have.
This reads like a checklist, which is perfect for KYC verification. The wording is simple enough for beginners. Overall, very useful.
Appreciate the write-up; it sets realistic expectations about max bet rules. The checklist format makes it easy to verify the key points.