OpenVPN — классический VPN-протокол. Стабильный, поддерживает TCP и UDP, но медленнее WireGuard и легко детектируется DPI.
sudo apt update
sudo apt install -y openvpn easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
nano vars
Изменить значения:
export KEY_COUNTRY="UA"
export KEY_PROVINCE="KV"
export KEY_CITY="Kiev"
export KEY_ORG="MyVPN"
export KEY_EMAIL="admin@example.com"
export KEY_NAME="server"
Применить и создать CA:
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
Ключи:
- ca.crt — корневой сертификат
- server.crt — сертификат сервера
- server.key — приватный ключ сервера
- dh2048.pem — параметры Diffie-Hellman
source vars
./build-key client1
sudo mkdir -p /etc/openvpn
sudo cp ~/openvpn-ca/keys/ca.crt ~/openvpn-ca/keys/server.crt ~/openvpn-ca/keys/server.key ~/openvpn-ca/keys/dh2048.pem /etc/openvpn/
sudo nano /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 /etc/openvpn/dh2048.pem
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
status /var/log/openvpn-status.log
verb 3
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server
sudo systemctl status openvpn@server
Скопировать на клиент:
- ca.crt
- client1.crt
- client1.key
sudo nano /etc/openvpn/client.conf
client
dev tun
proto udp
remote SERVER_IP 1194
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-GCM
auth SHA256
persist-key
persist-tun
verb 3
Запуск на клиенте:
sudo openvpn --config /etc/openvpn/client.conf
sudo ufw allow 1194/udp
# Статус
sudo systemctl status openvpn@server
# Логи
sudo journalctl -u openvpn@server -f
# Пинг
ping 10.8.0.1
# Внешний IP
curl https://ifconfig.me
Последнее обновление: 2026-07-18