настройка openvpn на vps ubuntu
настройка openvpn на vps ubuntu
Как безопасно настроить OpenVPN на VPS с Ubuntu: гайд без упрощений
Подробный гайд: настройка openvpn на vps ubuntu — от выбора сервера до защиты от утечек DNS и WebRTC. Безопасно и по шагам.
настройка openvpn на vps ubuntu — это не просто установка пакета и запуск службы. Это создание доверенного туннеля между вашим устройством и удалённым сервером, который должен быть защищён от перехвата, анализа трафика и утечек метаданных. В России, где провайдеры обязаны хранить данные пользователей и блокировать ресурсы по реестру Роскомнадзора, такой туннель становится инструментом не для «обхода закона», а для защиты приватности в публичных сетях и предотвращения слежки на уровне оператора связи.
Почему большинство гайдов опасны (и что они упускают)
Большинство руководств в интернете сводятся к трём командам: apt install openvpn, wget конфиг, systemctl start. Это работает — до первого обновления ядра, сбоя сети или DPI-анализа от провайдера. Они не рассказывают:
- Что делать, если ваш VPS находится в юрисдикции 14 Eyes (например, США или Нидерландах), и по запросу суда хостинг-провайдер передаст логи подключения.
- Как проверить, действительно ли ваш kill switch работает при потере соединения.
- Что даже при использовании OpenVPN утечки происходят через WebRTC в браузере или через IPv6, если он не отключён.
- Что бесплатные скрипты автоматической установки часто содержат backdoor или отправляют данные о вашем сервере автору.
Эти «мелочи» превращают ваш supposedly защищённый канал в источник уязвимостей.
Сценарии, где ваш OpenVPN спасает (и где — нет)
Журналист в командировке.
Подключается к Wi-Fi в аэропорту Домодедово. Без VPN его трафик виден администратору точки доступа, который может собирать cookies, заголовки и даже содержимое незашифрованных страниц. OpenVPN шифрует всё — от DNS-запросов до HTTP-трафика.
Пользователь торрентов.
Если вы раздаёте контент без лицензии, ваш IP попадает в списки правообладателей. Провайдер («Ростелеком», «МТС») получает уведомление и может ограничить доступ. OpenVPN маскирует ваш реальный IP — но только если сервер не ведёт логи и не расположен в стране с жёсткими законами об авторском праве.
Обход временной блокировки мессенджера.
В 2018 году Telegram был заблокирован в РФ через DPI. OpenVPN с правильной конфигурацией (TLS-crypt, obfs4) мог обойти фильтрацию. Но сегодня многие провайдеры блокируют не только IP, но и сигнатуры протоколов. Простой OpenVPN на стандартном порту 1194 может не сработать.
Айтишник на кофеварке в кафе.
SSH-сессия к корпоративному серверу через публичный Wi-Fi — мечта для MITM-атаки. OpenVPN создаёт защищённый тоннель, внутри которого уже работает SSH. Это defence-in-depth.
Но! OpenVPN не спасает от:
- Фишинга и вредоносного ПО на вашем устройстве.
- Анализа поведения внутри защищённого сервиса (например, если вы авторизованы в Google, он знает вас).
- Законных требований к вам лично, если вы нарушаете УК РФ.
Выбор VPS: не только цена и ping
Дешёвый VPS за $2.5/мес на OVH или Hetzner может показаться идеальным. Но обратите внимание:
- Юрисдикция хостинга. Сервер в Амстердаме формально подпадает под европейские законы, но Нидерланды — часть 14 Eyes. Лучше выбрать Румынию, Швейцарию или даже Казахстан (при условии доверия к провайдеру).
- Поддержка IPv6. Если она есть, но не настроена в OpenVPN — возможна утечка трафика по IPv6 вне туннеля.
- DDoS-защита. Если вы используете сервер для торрентов, будьте готовы к атакам. Некоторые провайдеры (например, DigitalOcean) сразу блокируют сервер при жалобе.
Рекомендуемая ОС — Ubuntu 22.04 LTS. Она стабильна, имеет долгосрочную поддержку и совместима с большинством скриптов.
Пошаговая настройка OpenVPN на Ubuntu 22.04
⚠️ Все команды выполняются от root или с
sudo.
Шаг 1. Обновление системы
apt update && apt upgrade -y
Шаг 2. Установка OpenVPN и Easy-RSA
apt install openvpn easy-rsa -y
Шаг 3. Генерация PKI (инфраструктуры открытых ключей)
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
Редактируем 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 "MySecureTunnel"
set_var EASYRSA_REQ_EMAIL "admin@example.com"
set_var EASYRSA_REQ_OU "IT"
Инициализируем PKI:
./easyrsa init-pki
./easyrsa build-ca nopass
Генерируем сертификат сервера:
./easyrsa build-server-full server nopass
Генерируем Diffie-Hellman параметры (медленно, но безопасно):
./easyrsa gen-dh
Создаём TLS-auth ключ:
openvpn --genkey --secret pki/ta.key
Шаг 4. Настройка сервера OpenVPN
Копируем файлы в /etc/openvpn/server/:
cp pki/ca.crt pki/private/ca.key pki/issued/server.crt pki/private/server.key pki/dh.pem pki/ta.key /etc/openvpn/server/
Создаём конфиг /etc/openvpn/server/server.conf:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 77.88.8.8"
keepalive 10 120
cipher AES-256-GCM
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
🔐 Используйте
AES-256-GCM— он быстрее и безопаснее старогоCBC. SHA256 вместо SHA1.
Шаг 5. Настройка файрвола и NAT
Разрешаем IP forwarding:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
Настраиваем iptables:
ufw allow OpenSSH
ufw allow 1194/udp
ufw enable
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/iptables/rules.v4
(Замените eth0 на ваш интерфейс — можно узнать через ip a.)
Шаг 6. Запуск службы
systemctl enable openvpn-server@server
systemctl start openvpn-server@server
Шаг 7. Генерация клиента
Для каждого устройства:
./easyrsa build-client-full client1 nopass
Создаём .ovpn файл:
{
cat <<EOF
client
dev tun
proto udp
remote YOUR_VPS_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
key-direction 1
verb 3
EOF
cat pki/ca.crt | sed -e 's/^/-----BEGIN CERTIFICATE-----\n/' -e 's/$/\n-----END CERTIFICATE-----/'
echo -e "<tls-auth>"
cat pki/ta.key
echo -e "</tls-auth>"
cat pki/issued/client1.crt
cat pki/private/client1.key
} > client1.ovpn
Скопируйте client1.ovpn на устройство.
Чего вам НЕ говорят в других гайдах
Бесплатные VPN — это продукт, а вы — клиент для рекламодателя
Сервер с 1 Гбит/с стоит от $50/мес. Если сервис бесплатный, он зарабатывает на вас:
- Продаёт историю посещений (даже без IP, достаточно cookie-профилей).
- Встраивает JavaScript для майнинга криптовалюты.
- Подменяет рекламу на свою (например, Hola VPN в 2015 году превратил пользователей в прокси-ботнет).
Fake-утечки и «проверки безопасности»
Сайты вроде vpnleaktest.com иногда показывают «утечку» даже при корректной настройке. Это маркетинговый ход, чтобы вы купили их «безопасный» VPN. Проверяйте через:
- ipleak.net — смотрите IPv4, IPv6, DNS, WebRTC.
- browserleaks.com/webrtc — отключите WebRTC в браузере или используйте Firefox с media.peerconnection.enabled = false.
Kill switch — не всегда работает
Если OpenVPN падает, трафик может пойти напрямую. На Linux используйте iptables с правилом по умолчанию DROP и только разрешайте трафик через tun0. На Windows — сторонние утилиты (например, VPNetMon), так как встроенный kill switch в клиентах часто игнорирует локальные подключения.
Юрисдикция и «no-log policy»
Провайдер может заявлять «no logs», но по решению суда обязан сохранить данные. Например, в 2020 году NordVPN (Панама) передал логи подключения по запросу из США. Проверяйте:
- Есть ли независимый аудит (Cure53, Deloitte)?
- Где физически расположены серверы?
- Кто владеет компанией?
Подделка kill switch в мобильных приложениях
Некоторые Android-приложения эмулируют kill switch, но на самом деле просто блокируют UI. Трафик продолжает идти в обход. Проверяйте через tcpdump или Wireshark.
Сравнение: самодельный OpenVPN против коммерческих решений
| Параметр | Самостоятельная настройка на VPS | Mullvad | IVPN | Proton VPN | HideMyAss | FreeVPN.ru |
|---|---|---|---|---|---|---|
| Юрисдикция | Зависит от VPS | Швеция | Гибралтар | Швейцария | Великобритания | Россия |
| Политика логов | Только вы контролируете | Нет | Нет | Нет | IP + время | Полные логи |
| Протоколы | OpenVPN, можно добавить WG | WG, OVPN | WG, OVPN | WG, OVPN | OVPN, PPTP | Только OVPN |
| Цена (в месяц) | От ₽300 (VPS) | ₽790 | ₽950 | Бесплатно/+ | ₽600 | Бесплатно |
| Защита от DPI | Только с obfsproxy/tls-crypt | Да | Да | Да | Нет | Нет |
| Реальная скорость | До 95% от канала VPS | 85–90% | 88–92% | 80–90% | 60–70% | <30% |
💡 Самодельный сервер даёт полный контроль, но требует времени на поддержку. Коммерческие сервисы удобны, но вы доверяете им свою безопасность.
Диагностика утечек и тестирование
После подключения:
1. Зайдите на ipleak.net. Убедитесь, что:
- Ваш IP — это IP вашего VPS.
- DNS-серверы — те, что вы указали (8.8.8.8 и 77.88.8.8).
- WebRTC не раскрывает локальный IP.
2. Отключите интернет на 10 секунд. Проверьте, не отправлялись ли пакеты напрямую (через tcpdump -i eth0 на VPS).
3. Используйте curl ifconfig.me — должен вернуть IP VPS.
Для split tunneling (раздельного туннелирования) на Linux:
ip route add TABLE_NAME default via YOUR_GATEWAY dev eth0
ip rule add from 192.168.1.0/24 lookup TABLE_NAME
Тогда трафик в локальную сеть пойдёт напрямую, а весь остальной — через VPN.
WireGuard или OpenVPN — что безопаснее?
OpenVPN — зрелый, аудированный, поддерживает TCP fallback и TLS-crypt для обхода DPI. WireGuard — новее, быстрее (на 15–20% выше throughput), проще в настройке, но менее гибкий в обходе цензуры. Для VPS в РФ лучше OpenVPN с obfs4 или Shadowsocks в качестве обёртки.
Вывод
настройка openvpn на vps ubuntu — это мощный способ взять контроль над своей сетевой приватностью, но только если вы понимаете все слои рисков: от юрисдикции сервера до утечек через браузер. Не верьте «автоматическим скриптам» без проверки кода. Не используйте дешёвые VPS в 14 Eyes без осознанного выбора. И помните: VPN защищает трафик между вами и сервером, но не делает вас невидимым внутри приложений. Правильно настроенный OpenVPN на Ubuntu — это не панацея, а один из элементов многоуровневой защиты, особенно актуальный в условиях российской цифровой реальности.
VPN замедляет интернет на сколько реально?
На качественном VPS с AES-NI поддержкой потеря скорости — 5–10%. При шифровании ChaCha20 или на слабом CPU — до 30%. Пинг увеличивается на величину RTT до сервера (например, VPS в Москве добавит 5–15 мс).
Меня найдёт спецслужба при использовании VPN?
Если вы не нарушаете закон, — нет. Если вы совершаете преступление (например, распространяете экстремистские материалы), VPN не спасёт: следствие запросит данные у хостинг-провайдера VPS. Особенно если сервер в РФ или стране-участнице 14 Eyes.
WireGuard или OpenVPN — что безопаснее?
Оба протокола криптографически надёжны. OpenVPN прошёл больше аудитов и лучше работает в сетях с DPI. WireGuard быстрее и проще, но менее устойчив к глубокой проверке пакетов. Для обхода блокировок в РФ предпочтителен OpenVPN с дополнительной обфускацией.
Нужно ли отключать IPv6 при использовании OpenVPN?
Да, если вы не настроили IPv6 в туннеле. Иначе часть трафика (особенно DNS) может уходить напрямую через IPv6, минуя VPN. В Ubuntu отключите через sysctl: net.ipv6.conf.all.disable_ipv6=1.
Можно ли использовать OpenVPN для торрентов на VPS в России?
Технически — да. Юридически — рискованно. Хостинг-провайдер в РФ получит жалобу от правообладателя и может заблокировать сервер. Лучше выбирать VPS в юрисдикции, лояльной к P2P (Румыния, Нидерланды — но с оговоркой о 14 Eyes).
Как проверить, работает ли kill switch на Linux?
Настройте iptables так: по умолчанию DROP весь OUTPUT, кроме трафика через интерфейс tun0. Пример: iptables -P OUTPUT DROPiptables -A OUTPUT -o lo -j ACCEPTiptables -A OUTPUT -o tun0 -j ACCEPT
При отключении OpenVPN весь внешний трафик будет блокироваться.
Clear structure and clear wording around bonus terms. The sections are organized in a logical order.
This is a useful reference. A short 'common mistakes' section would fit well here. Good info for beginners.