Установка собственного OpenVPN-сервера на VPS Печать

  • OpenVPN, личный ВПН, личный VPN, VPN, ВПН, personal VPN
  • 0

OpenVPN — один из самых популярных VPN-протоколов, обеспечивающий высокий уровень безопасности, поддержку большинства операционных систем и гибкие возможности настройки. В данной инструкции рассмотрена установка OpenVPN на VPS под управлением Ubuntu 22.04 или Ubuntu 24.04.

Перед началом работы убедитесь, что у вас есть:

  • VPS с Ubuntu 22.04 или новее;
  • Root-доступ к серверу;
  • Публичный IPv4-адрес;
  • SSH-клиент для подключения к серверу.

Шаг 1. Подключение к серверу

Подключитесь к серверу по SSH:

ssh root@SERVER_IP

Замените SERVER_IP на IP-адрес вашего VPS.

Шаг 2. Обновление системы

Обновите систему:

apt update && apt upgrade -y

Шаг 3. Установка OpenVPN и Easy-RSA

Установите OpenVPN и инструменты для создания сертификатов:

apt install openvpn easy-rsa -y

Проверьте установку:

openvpn --version

Шаг 4. Настройка центра сертификации (CA)

Создайте каталог Easy-RSA:

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

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

./easyrsa init-pki

Создайте корневой сертификат:

./easyrsa build-ca nopass

Введите название организации или нажмите Enter для использования значения по умолчанию.

Шаг 5. Создание сертификата сервера

Создайте сертификат сервера:

./easyrsa build-server-full server nopass

Сгенерируйте параметры Диффи-Хеллмана:

./easyrsa gen-dh

Создайте TLS-ключ защиты:

openvpn --genkey secret ta.key

Шаг 6. Создание сертификата клиента

Создайте клиентский сертификат:

./easyrsa build-client-full client1 nopass

При необходимости можно создавать дополнительные клиентские сертификаты для каждого устройства.

Шаг 7. Копирование файлов OpenVPN

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

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

Шаг 8. Создание конфигурации OpenVPN

Создайте файл конфигурации:

nano /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

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 8.8.8.8"

keepalive 10 120

cipher AES-256-GCM
auth SHA256

persist-key
persist-tun

user nobody
group nogroup

verb 3

Шаг 9. Включение IP Forwarding

Откройте системный файл:

nano /etc/sysctl.conf

Найдите строку:

#net.ipv4.ip_forward=1

и замените на:

net.ipv4.ip_forward=1

Примените настройки:

sysctl -p

Шаг 10. Настройка NAT

Определите сетевой интерфейс сервера:

ip route

Обычно это eth0 или ens3.

Добавьте правило NAT:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Сохраните правила:

apt install iptables-persistent -y
netfilter-persistent save

Шаг 11. Запуск OpenVPN

Запустите службу:

systemctl start openvpn-server@server

Добавьте автозапуск:

systemctl enable openvpn-server@server

Проверьте состояние:

systemctl status openvpn-server@server

Шаг 12. Настройка Firewall

Если используется UFW:

ufw allow 1194/udp

Разрешите маршрутизацию:

ufw allow OpenSSH
ufw reload

Проверьте статус:

ufw status

Шаг 13. Создание клиентского конфигурационного файла

Создайте файл:

nano client.ovpn

Добавьте:

client
dev tun
proto udp

remote SERVER_IP 1194

resolv-retry infinite
nobind

persist-key
persist-tun

remote-cert-tls server

cipher AES-256-GCM
auth SHA256

verb 3

Замените SERVER_IP на IP-адрес вашего VPS.

Шаг 14. Добавление сертификатов в клиентский файл

Добавьте содержимое следующих файлов в конец client.ovpn:

<ca>
Содержимое файла ca.crt
</ca>

<cert>
Содержимое client1.crt
</cert>

<key>
Содержимое client1.key
</key>

<tls-auth>
Содержимое ta.key
</tls-auth>

key-direction 1

После этого клиентский файл будет полностью готов к использованию.

Подключение Windows

  1. Скачайте и установите OpenVPN Connect.
  2. Запустите программу.
  3. Нажмите Import Profile.
  4. Выберите файл client.ovpn.
  5. Нажмите Connect.

Подключение Android

  1. Установите OpenVPN Connect из Google Play.
  2. Нажмите Import Profile.
  3. Выберите файл client.ovpn.
  4. Подключитесь к VPN.

Подключение iPhone

  1. Установите OpenVPN Connect из App Store.
  2. Импортируйте файл client.ovpn.
  3. Разрешите создание VPN-подключения.
  4. Подключитесь к серверу.

Проверка работы VPN

После подключения откройте:

https://whatismyipaddress.com

IP-адрес должен соответствовать IP вашего VPS.

Добавление новых устройств

Для каждого нового устройства рекомендуется:

  1. Создать отдельный клиентский сертификат.
  2. Сгенерировать отдельный файл .ovpn.
  3. Использовать уникальное имя клиента.

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

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

Проверьте включение IP Forwarding:

sysctl net.ipv4.ip_forward

Результат должен быть:

net.ipv4.ip_forward = 1

TLS Handshake Failed

Проверьте правильность сертификатов и содержимое файла ta.key.

Не удается подключиться к серверу

Убедитесь, что открыт порт UDP 1194 и отсутствуют ограничения со стороны Firewall или провайдера VPS.

AUTH FAILED

Проверьте правильность клиентского сертификата и ключа.

VPN не запускается после перезагрузки

Убедитесь, что служба добавлена в автозагрузку:

systemctl enable openvpn-server@server

Помог ли вам данный ответ?

« Назад