В статье разберём:
- чем отличаются OpenVPN и WireGuard;
- как установить и настроить VPN-сервер на VPS;
- как подключить клиента и протестировать соединение;
- как ограничить доступ и повысить безопасность.
Что понадобится
-
VPS на Linux (Ubuntu, Debian или CentOS) с доступом по SSH и правами sudo.
-
Открытый UDP-порт для работы VPN (по умолчанию 1194 для OpenVPN или 51820 для WireGuard).
-
Пакеты
openvpn
иeasy-rsa
илиwireguard
— в зависимости от выбранного решения. -
Базовые знания сетевых интерфейсов и маршрутизации в Linux.
Перед началом рекомендуется обновить систему и включить фаервол для ограничения входящих подключений:
sudo apt update && sudo apt upgrade -y
sudo ufw allow OpenSSH
После настройки VPN фаервол потребуется дополнить правилами для разрешения VPN-трафика.

Совет: выбирайте WireGuard для современных конфигураций — он быстрее, проще и эффективнее OpenVPN. Однако OpenVPN может быть предпочтителен, если требуется совместимость с устаревшими клиентами.
Установка и базовая настройка OpenVPN
OpenVPN — классическое решение для создания защищённых туннелей между сервером и клиентами. Его преимуществами являются стабильность, гибкость настроек и поддержка большинства ОС.
Установка OpenVPN и Easy-RSA
sudo apt install openvpn easy-rsa -y
После установки создайте каталог для ключей и сертификатов:
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
Генерация ключей и сертификатов
Инициализируйте PKI и создайте корневой сертификат центра сертификации (CA):
./easyrsa init-pki
./easyrsa build-ca
Создайте ключи для сервера:
./easyrsa gen-req server nopass
./easyrsa sign-req server server
После этого в каталоге pki/
появятся необходимые файлы: ca.crt
, server.crt
, server.key
. Их нужно будет указать в конфигурации OpenVPN.

Совет: храните приватные ключи в защищённом каталоге и не передавайте их по нешифрованным каналам.
Настройка сервера OpenVPN и подключение клиента
После генерации сертификатов можно приступить к настройке самого VPN-сервера. Конфигурация OpenVPN хранится в файле /etc/openvpn/server.conf
.
Пример конфигурации сервера
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh none
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"
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
Сохраните файл и включите сервис:
sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server
Разрешение трафика через VPN
Настройте маршрутизацию и разрешите форвардинг пакетов:
sudo nano /etc/sysctl.conf
Найдите строку и раскомментируйте:
net.ipv4.ip_forward=1
Примените изменения:
sudo sysctl -p
Создание клиентского профиля
Создайте ключ и сертификат для клиента:
cd ~/openvpn-ca
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
Затем соберите клиентский файл .ovpn
с указанием адреса вашего сервера:
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.crt)
(вставьте содержимое client1.crt)
(вставьте содержимое client1.key)

Совет: передавая клиентский файл, используйте защищённый канал — SCP, SFTP или вручную через зашифрованный архив.
Установка и настройка WireGuard на VPS
WireGuard — современный VPN-протокол с минималистичной архитектурой и высокой скоростью. Он использует криптографию последнего поколения и крайне прост в настройке.
Установка WireGuard
sudo apt install wireguard -y
Создание ключей
wg genkey | sudo tee /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
Команда создаст приватный и публичный ключи, которые будут использоваться для установления защищённого соединения.
Настройка интерфейса
Откройте файл конфигурации:
sudo nano /etc/wireguard/wg0.conf
Пример настройки сервера:
[Interface]
Address = 10.9.0.1/24
ListenPort = 51820
PrivateKey = (содержимое private.key)
SaveConfig = true
[Peer]
PublicKey = (ключ клиента)
AllowedIPs = 10.9.0.2/32
Разрешите форвардинг пакетов и добавьте правило в фаервол:
sudo sysctl -w net.ipv4.ip_forward=1
sudo ufw allow 51820/udp
Запуск WireGuard
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Проверить активные соединения можно командой:
sudo wg show

Совет: WireGuard не использует сертификаты — только ключи. Это значительно упрощает конфигурацию, но требует внимательного контроля доступа к файлам /etc/wireguard
.
Добавление клиентов WireGuard и проверка соединения
Для подключения нового клиента к WireGuard нужно создать пару ключей и добавить его в конфигурацию сервера. Каждый клиент получает собственный IP-адрес в подсети VPN.
Создание ключей клиента
wg genkey | tee client1_private.key | wg pubkey | tee client1_public.key
Добавьте клиента на сервере в файл /etc/wireguard/wg0.conf
:
[Peer]
PublicKey = (client1_public.key)
AllowedIPs = 10.9.0.2/32
Теперь создайте конфигурацию клиента:
[Interface]
Address = 10.9.0.2/24
PrivateKey = (client1_private.key)
DNS = 8.8.8.8
[Peer]
PublicKey = (server_public.key)
Endpoint = your_server_ip:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Сохраните файл, например, как wg0.conf
, и перенесите его на клиентскую машину. Для запуска VPN выполните:
sudo wg-quick up wg0
Проверка подключения
После установки соединения на сервере можно увидеть подключённых клиентов:
sudo wg show
Вывод покажет публичные ключи, IP-адреса и статистику обмена пакетами. Для проверки доступности серверных ресурсов выполните:
ping 10.9.0.1

Совет: при необходимости ограничьте доступ клиентов к внутренним IP-адресам с помощью параметра AllowedIPs
, чтобы разрешить доступ только к нужным подсетям или службам.
Итоги
-
Разобрали настройку VPN-доступа с использованием OpenVPN и WireGuard.
-
Создали серверные и клиентские конфигурации, ключи и сертификаты.
-
Включили маршрутизацию трафика и проверили соединение между клиентом и сервером.
-
Настроили шифрованный туннель для безопасного доступа к внутренним ресурсам VPS.
Вывод: собственный VPN-сервер на VPS обеспечивает полную безопасность при подключении к административным панелям и внутренним сервисам. OpenVPN подходит для классических сценариев с сертификатами, а WireGuard — для быстрой и современной настройки с минимальными затратами ресурсов. Оба решения позволяют защитить трафик и централизовать доступ к инфраструктуре.
