установка openvpn сервера на ubuntu
установка openvpn сервера на ubuntu
Установка OpenVPN-сервера на Ubuntu: не просто инструкция, а щит от реальных угроз
установка openvpn сервера на ubuntu — это не ритуал для гиков. Это практический способ защитить трафик от перехвата провайдером «Ростелеком», обойти блокировку Telegram в публичном Wi-Fi или изолировать торрент-клиент от основной сети. Ниже — пошаговый гайд с техническими нюансами, которые опускают 99% авторов.
Почему OpenVPN до сих пор актуален в эпоху WireGuard?
WireGuard быстрее. Но OpenVPN остаётся золотым стандартом для self-hosted решений. Причина — зрелость и гибкость:
- Поддержка TCP и UDP. В условиях DPI (Deep Packet Inspection), как в сетях МТС или Билайн, TCP/443 маскируется под HTTPS.
- Совместимость со старыми клиентами: Android 5+, Windows 7 без сторонних драйверов.
- Возможность шифрования через TLS 1.3 + AES-256-GCM или ChaCha20-Poly1305.
- Готовые скрипты типа
openvpn-install.sh, но только если вы понимаете, что они делают.
WireGuard требует статических IP или дополнительного менеджера (например, Netmaker). Для домашнего сервера на Ubuntu 22.04 LTS OpenVPN — разумный выбор.
Пошаговая установка OpenVPN-сервера на Ubuntu 22.04/24.04
Все команды выполняются от root или через
sudo. Требуется чистая Ubuntu без предустановленных VPN-стеков.
Шаг 1. Обновление системы и установка зависимостей
apt update && apt upgrade -y
apt install openvpn easy-rsa iptables-persistent -y
easy-rsa — утилита для генерации сертификатов. iptables-persistent сохранит правила NAT после перезагрузки.
Шаг 2. Настройка PKI (инфраструктуры открытых ключей)
make-cadir /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
Редактируем vars:
nano vars
Указываем параметры по умолчанию:
set_var EASYRSA_REQ_COUNTRY "RU"
set_var EASYRSA_REQ_PROVINCE "Moscow"
set_var EASYRSA_REQ_CITY "Moscow"
set_var EASYRSA_REQ_ORG "My Home Lab"
set_var EASYRSA_REQ_EMAIL "admin@example.local"
set_var EASYRSA_REQ_OU "Security"
Генерируем CA (центр сертификации):
./easyrsa init-pki
./easyrsa build-ca nopass
Создаём серверный сертификат и ключ:
./easyrsa build-server-full server nopass
Генерируем Diffie-Hellman параметры (для Perfect Forward Secrecy):
./easyrsa gen-dh
Создаём TLS-auth ключ (защита от DoS и MITM):
openvpn --genkey --secret ta.key
Шаг 3. Конфигурация сервера
Копируем шаблон:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
Основные параметры в /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-auth /etc/openvpn/ta.key 0
cipher AES-256-GCM
auth SHA256
tls-version-min 1.3
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 1.1.1.1"
keepalive 10 120
persist-key
persist-tun
user nobody
group nogroup
status openvpn-status.log
verb 3
explicit-exit-notify 1
Важно:
redirect-gateway def1перенаправляет весь трафик через VPN. Если нужно только доступ к локальной сети — удалите эту строку.
Шаг 4. Настройка NAT и IP forwarding
Разрешаем форвардинг:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
Добавляем правило NAT для интерфейса eth0 (замените на ваш внешний интерфейс):
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
netfilter-persistent save
Шаг 5. Запуск и автозагрузка
systemctl enable openvpn@server
systemctl start openvpn@server
Проверяем статус:
systemctl status openvpn@server
ip a show tun0
Если tun0 активен — сервер работает.
Создание клиентского профиля (.ovpn)
Для каждого пользователя:
cd /etc/openvpn/easy-rsa/
./easyrsa build-client-full user1 nopass
Собираем всё в один файл:
cat > /etc/openvpn/client-user1.ovpn <<EOF
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
verb 3
<ca>
$(cat pki/ca.crt)
</ca>
<cert>
$(sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' pki/issued/user1.crt)
</cert>
<key>
$(cat pki/private/user1.key)
</key>
<tls-auth>
$(cat /etc/openvpn/ta.key)
</tls-auth>
key-direction 1
EOF
Скопируйте client-user1.ovpn на устройство клиента. Импортируйте в OpenVPN Connect (Android/iOS) или NetworkManager (Linux).
Чего вам НЕ говорят в других гайдах
Большинство руководств молчат о трёх смертельных рисках self-hosted VPN:
- Ваш IP — это ваша цифровая подпись
Если вы запускаете OpenVPN-сервер дома на белом IP от «Дом.ru» или «МегаФон», все подключения будут вести к вашему физическому адресу. Судебный запрос к провайдеру раскроет вас за часы. Это не анонимность, а лишь шифрование канала.
- Логирование по умолчанию — реальность
OpenVPN сам по себе не пишет логи сессий. Но:
- Ядро Linux может логировать соединения через netfilter.
- Провайдер VPS (если используете облако) хранит netflow.
- systemd-journald сохраняет события запуска/остановки.
Чтобы минимизировать следы:
echo 'OPENVPN_LOG_LEVEL=none' >> /etc/default/openvpn
systemctl mask systemd-journald
(последнее — экстремально, но эффективно)
- Утечки WebRTC и DNS — даже при работающем VPN
OpenVPN перенаправляет трафик, но браузеры игнорируют это при WebRTC. Проверьте на browserleaks.com/webrtc. Решение:
- В Firefox: media.peerconnection.enabled = false
- В Chrome: расширение uBlock Origin с правилом webrtc-hide-local-ips-with-public-ip
DNS-утечки случаются, если клиент не принимает push "dhcp-option DNS ...". Всегда проверяйте через ipleak.net.
- Kill Switch — иллюзия без правильной настройки
Если OpenVPN падает, трафик пойдёт напрямую. Настоящий kill switch требует строгих iptables-правил:
Разрешаем только локальный трафик и через tun0
iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A OUTPUT -d YOUR_VPN_SERVER_IP -j ACCEPT
Но это сломает обновления ОС. Лучше использовать ufw с профилем.
Self-hosted vs коммерческие VPN: таблица реальных различий
| Критерий | Self-hosted OpenVPN (Ubuntu) | NordVPN | ProtonVPN | Mullvad | Hola Free VPN |
|---|---|---|---|---|---|
| Юрисдикция | Ваш провайдер (RU/DE/US) | Панама | Швейцария | Швеция | Израиль |
| Политика логов | Зависит от вас | No-logs (аудит 2023) | No-logs (аудит Quarkslab) | No-logs (аудит 2024) | Продаёт трафик (2019 утечка) |
| Протоколы | OpenVPN (UDP/TCP) | OpenVPN, NordLynx (WireGuard) | OpenVPN, WireGuard | WireGuard, OpenVPN | Прокси (не VPN!) |
| Реальная скорость (на 100 Мбит/с) | 70–85 Мбит/с | 60–90 Мбит/с | 65–92 Мбит/с | 75–95 Мбит/с | <10 Мбит/с, с рекламой |
| Цена | От 0 ₽ (дома) до 300 ₽/мес (VPS) | ~700 ₽/мес | Бесплатный тариф | ~750 ₽/мес | Бесплатно (но вы — товар) |
| Защита от DPI | Только с TCP/443 + obfsproxy | Встроена | Встроена | Встроена | Нет |
Примечание: Hola — не VPN, а P2P-прокси. В 2019 году выяснилось, что пользователи Hola становились выходными узлами для корпоративного трафика без согласия.
Сценарии использования: когда self-hosted OpenVPN оправдан
- Доступ к домашней сети из отпуска
Вы в Турции, а NAS с фото — дома. OpenVPN даёт безопасный тоннель к локальным ресурсам без проброса портов.
- Обход блокировок в публичных сетях
В аэропорту «Шереметьево» заблокирован YouTube. Подключение к своему серверу в Hetzner (Германия) восстанавливает доступ.
- Изоляция торрент-трафика
Настройте отдельный клиентский профиль только для qBittorrent. Через split tunneling (на роутере с OpenWrt) торренты идут через VPN, а остальное — напрямую.
- Защита от MITM в кафе
«Кофе Хауз» в Москве? Без VPN ваш пароль от почты может украсть сосед за столиком. OpenVPN шифрует всё, включая HTTP-запросы.
Диагностика и тестирование: как убедиться, что всё работает
- Проверка IP: ipleak.net — должен показывать IP вашего сервера.
- DNS-утечка: тот же сайт — DNS-серверы должны быть 8.8.8.8 или 1.1.1.1.
- WebRTC: browserleaks.com/webrtc — не должно быть локального IP.
- Kill Switch: отключите OpenVPN — интернет должен пропасть (если настроен правильно).
- Логи сервера:
tail -f /var/log/openvpn-status.log— активные сессии в реальном времени.
Альтернативы: стоит ли смотреть на WireGuard или IPsec?
- WireGuard: на 30–40% быстрее, но требует статического IP или cloudflare tunnels. Идеален для VPS → VPS.
- IPsec/L2TP: поддержка «из коробки» в Windows/macOS, но уязвим к блокировке (UDP/500 легко детектится).
- Shadowsocks: не VPN, а socks5-over-encryption. Обходит DPI лучше, но не шифрует метаданные.
Для домашнего использования на Ubuntu OpenVPN остаётся балансом между надёжностью и функциональностью.
VPN замедляет интернет — на сколько реально?
На проводном соединении с AES-256-GCM потеря — 10–15%. На Wi-Fi в кафе — до 30% из-за пакетной потери. WireGuard снижает задержку до 5 мс против 15–25 мс у OpenVPN.
Меня найдёт спецслужба при использовании self-hosted VPN?
Если сервер у вас дома — да. Ваш IP зарегистрирован на вас. Если сервер в облаке (Hetzner, OVH) — только по решению суда в стране хостинга. Но в рамках соглашений 14 Eyes данные могут быть переданы.
WireGuard или OpenVPN — что безопаснее?
Оба используют современные криптопримитивы. WireGuard проще (меньше кода = меньше багов), но OpenVPN имеет больше опций для обхода цензуры (TCP/443, obfs4). Для большинства — эквивалентны.
Можно ли использовать OpenVPN для торрентов?
Да, но только если сервер не в юрисдикции, где запрещены P2P (например, не в США). Лучше арендовать VPS в Нидерландах или Румынии. Домашний сервер — рискованно: провайдер может отключить за нарушение ToS.
Как часто менять сертификаты OpenVPN?
CA — раз в 10 лет. Сертификаты клиентов — при утечке или увольнении пользователя. Серверный сертификат — раз в 2 года. Используйте `./easyrsa renew server --days-extend 730`.
Бесплатные VPN в App Store безопасны?
Нет. Большинство — сборщики данных. Например, в 2023 году исследование AV-Test показало, что 7 из 10 бесплатных VPN для Android отправляли IMEI и список приложений третьим лицам. Лучше self-hosted или проверенный платный сервис.
Вывод
установка openvpn сервера на ubuntu — это мощный инструмент для контроля над своим трафиком, но не панацея от слежки. Он защищает от перехвата в публичных сетях, обходит базовые блокировки и изолирует рискованные приложения. Однако он не скрывает вашу личность от государства, если сервер привязан к вашему имени. Используйте его как часть стратегии безопасности: вместе с Tor для анонимности, с брандмауэром для kill switch и с регулярным аудитом конфигурации. И помните: лучший VPN — тот, который вы понимаете от и до.
Question: Do withdrawals usually go back to the same method as the deposit?