Сейчас всё внимание достаётся WireGuard, и заслуженно. Но у OpenVPN осталась своя ниша: он работает через TCP-порт 443, встроен в роутеры и корпоративные клиенты, а в некоторых сетях проходит там, где UDP-протоколы блокируют. Если это ваш случай, вот самый короткий надёжный путь к работающему серверу.
Что понадобится
- VPS со своим публичным IP. Клиенты подключаются из интернета, поэтому NAT-тариф не подойдёт — для личного использования хватит Nano-IP за $8 в месяц.
- Ubuntu 22.04/24.04 или Debian 12, root или пользователь с sudo.
- Минут десять.
1. Запускаем скрипт установки
Настраивать центр сертификации, ключи и маршрутизацию вручную — это долгий вечер. Популярный скрипт openvpn-install от angristan делает всё за один проход. Скачайте его и прочитайте перед запуском: это shell-скрипт, который меняет сетевые настройки, и вам стоит знать, что именно он делает:
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
less openvpn-install.sh
sudo ./openvpn-install.sh
Скрипт задаст несколько вопросов. Разумные ответы:
- IP-адрес: публичный IPv4 сервера (он определится сам).
- IPv6: да, если хотите IPv6 через туннель.
- Порт:
1194по умолчанию или443, если планируете TCP. - Протокол: UDP быстрее, TCP проходит через строгие файрволы.
- DNS: любой публичный резолвер, которому доверяете.
- Сжатие: нет. У него известные проблемы безопасности в связке с шифрованием.
В конце скрипт создаст первый клиентский файл, например /root/phone.ovpn.
2. Открываем порт
Скрипт сам настраивает правила iptables. Если у вас ещё и UFW, разрешите порт VPN явно:
sudo ufw allow 1194/udp
sudo ufw status
Если выбрали TCP, подставьте 443/tcp.
3. Переносим клиентский файл на устройство
Скопируйте .ovpn по SSH:
scp -P 22 root@203.0.113.10:/root/phone.ovpn .
Импортируйте его в приложение OpenVPN Connect, в NetworkManager на Linux или в роутер. В файле лежит закрытый ключ этого клиента, так что обращайтесь с ним как с паролем: не пересылайте по почте и не оставляйте в общей папке.
4. Проверяем, что всё работает
На сервере:
systemctl list-units --type=service | grep -i openvpn
journalctl -u 'openvpn*' --since "10 min ago"
На клиенте подключитесь и проверьте свой публичный IP. Должен показываться адрес сервера.
Добавление и отзыв устройств
Снова запустите скрипт:
sudo ./openvpn-install.sh
Он предложит добавить клиента, отозвать существующего или удалить OpenVPN совсем. Один клиент на устройство — небольшое усилие, которое окупается: украли ноутбук — отзываете один файл, и больше ничего не меняется.
Честно о компромиссах
OpenVPN старше и тяжелее WireGuard. Он шифрует на одном ядре, поэтому на тарифе с 1 vCPU полной скорости быстрого домашнего канала не будет. Рукопожатие медленнее, а батарея телефона садится быстрее. Если ни одна из особенностей OpenVPN вам не нужна, берите нашу инструкцию по WireGuard — большинству мы бы посоветовали именно его.
Где OpenVPN выигрывает, так это в совместимости: TCP 443 для простого файрвола выглядит как обычный HTTPS, а многие устройства понимают OpenVPN из коробки.
Больше о личном VPN — на странице про VPN, а как устроены IPv4 и IPv6 на наших тарифах — в документации по сети.
Комментарии
Пока нет комментариев. Будьте первым.