Быстрый старт OpenVPN Обновлено 3 мин Android, iOS, Windows, macOS

Установка OpenVPN на Ubuntu: пошаговое руководство

Пошаговая инструкция по установке OpenVPN на Ubuntu: от установки пакетов до настройки клиента и решения типичных проблем. Подходит для версий 20.04 и 22.04.

OpenVPNUbuntuустановканастройкаVPN
Содержание
КороткоУстановите OpenVPN и Easy-RSA, сгенерируйте сертификаты, настройте сервер и клиент, включите маршрутизацию и NAT. Проверьте подключение и устраните возможные ошибки.

Что нужно для установки OpenVPN на Ubuntu

Чтобы установить OpenVPN на Ubuntu, вам понадобится сервер с Ubuntu 20.04 или 22.04, доступ к root или sudo, а также открытый порт 1194 (UDP) в брандмауэре. Если вы планируете подключаться к серверу извне, убедитесь, что у вас статический IP-адрес. Для генерации сертификатов используйте Easy-RSA — это стандартный инструмент для управления ключами в OpenVPN.

Установка OpenVPN и Easy-RSA

Обновите список пакетов и установите необходимые программы:

sudo apt update
sudo apt install openvpn easy-rsa

После установки создайте отдельную директорию для Easy-RSA, чтобы не смешивать файлы с системными:

make-cadir ~/easy-rsa
cd ~/easy-rsa

Инициализируйте инфраструктуру открытых ключей (PKI) и создайте корневой сертификат:

./easyrsa init-pki
./easyrsa build-ca nopass

При запросе введите имя вашего центра сертификации, например MyCA. Этот сертификат будет использоваться для подписи всех остальных ключей.

Генерация сертификатов для сервера и клиентов

Создайте сертификат и ключ для сервера без пароля (чтобы сервер мог запускаться автоматически):

./easyrsa gen-req server nopass
./easyrsa sign-req server server

Затем сгенерируйте параметры Диффи-Хеллмана — это может занять несколько минут:

./easyrsa gen-dh

Для дополнительной защиты создайте ключ TLS (tls-crypt), который шифрует управляющий канал:

openvpn --genkey --secret ta.key

Теперь создайте сертификат для каждого клиента. Например, для клиента client1:

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

Скопируйте все необходимые файлы в каталог OpenVPN:

sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem ta.key /etc/openvpn/

Настройка сервера OpenVPN

Создайте файл конфигурации сервера /etc/openvpn/server.conf со следующим содержимым:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-crypt ta.key 0
auth SHA256
cipher AES-256-GCM
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

Включите IP-маршрутизацию, чтобы клиенты могли выходить в интернет через сервер:

sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

Настройте NAT с помощью iptables. Замените eth0 на ваш сетевой интерфейс (узнать его можно командой ip route):

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT

Чтобы правила сохранялись после перезагрузки, установите пакет iptables-persistent:

sudo apt install iptables-persistent -y
sudo netfilter-persistent save

Запустите OpenVPN и добавьте его в автозагрузку:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

Настройка клиента OpenVPN на Ubuntu

На клиентской машине создайте файл конфигурации client1.ovpn со следующим содержимым:

client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-crypt ta.key 1
auth SHA256
cipher AES-256-GCM
verb 3

Замените YOUR_SERVER_IP на реальный IP-адрес вашего сервера. Скопируйте файлы ca.crt, client1.crt, client1.key и ta.key на клиентскую машину и поместите их в ту же директорию, что и файл .ovpn.

Для подключения используйте команду:

sudo openvpn --config client1.ovpn

Или импортируйте файл в графический клиент OpenVPN, если он установлен.

Проверка подключения и типичные ошибки

После запуска клиента проверьте, получил ли он IP-адрес из подсети 10.8.0.0/24. На сервере выполните:

sudo systemctl status openvpn@server

Если подключение не устанавливается, проверьте:

  • Открыт ли порт 1194 в брандмауэре сервера.
  • Правильные ли пути к сертификатам в конфигурационных файлах.
  • Синхронизированы ли системные часы — сертификаты могут быть недействительны при расхождении времени.
  • Не блокирует ли порт провайдер.

Подробные ошибки смотрите в журналах: journalctl -u openvpn@server на сервере и в выводе клиента.

Дополнительные советы и альтернативы

Если вам нужен более простой способ настройки VPN на Ubuntu, обратите внимание на Amnezia VPN — он поддерживает OpenVPN и другие протоколы с удобным графическим интерфейсом. Также вы можете ознакомиться с обзором OpenVPN 3.8 для новых функций. Если вы ищете клиент для Windows, прочитайте как скачать OpenVPN для Windows 11.

Мини-чеклист

  • Убедитесь, что у вас есть root-доступ или sudo на сервере Ubuntu.
  • Откройте порт 1194 UDP в брандмауэре.
  • Установите openvpn и easy-rsa через apt.
  • Создайте PKI и корневой сертификат с помощью easyrsa.
  • Сгенерируйте сертификаты для сервера и каждого клиента.
  • Скопируйте сертификаты в /etc/openvpn/.
  • Настройте server.conf с правильными параметрами.
  • Включите IP-маршрутизацию и настройте NAT через iptables.
  • Запустите и включите службу openvpn@server.
  • Создайте клиентский конфиг и подключитесь.

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

  • Забывают открыть порт 1194 в брандмауэре.
  • Используют неправильные пути к сертификатам в конфигурации.
  • Не включают IP-маршрутизацию, из-за чего клиенты не получают интернет.
  • Не синхронизируют время на сервере и клиенте, что приводит к ошибкам сертификатов.
  • Путают ключ tls-crypt: на сервере указывается 0, на клиенте — 1.

Источники и документация

FAQ

Как установить OpenVPN на Ubuntu 22.04?

Процесс установки аналогичен описанному выше: обновите пакеты, установите openvpn и easy-rsa, сгенерируйте сертификаты и настройте конфигурацию. Все команды подходят для Ubuntu 22.04.

Как настроить OpenVPN клиент на Ubuntu?

Создайте файл .ovpn с параметрами клиента, скопируйте сертификаты и ключи, затем подключитесь через команду openvpn --config client.ovpn или импортируйте в графический клиент.

Почему OpenVPN не подключается на Ubuntu?

Проверьте, открыт ли порт 1194, правильность путей к сертификатам, синхронизацию времени и логи сервера и клиента. Часто проблема в брандмауэре или неверных ключах.

Хотите перейти сразу к рабочему доступу?

Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.

Получить доступ

Дальше по теме

Связанные статьи