linux:proxy_vpn:openvpn_v2

Це стара версія документу!


OpenVPN v2

Ось повна детальна інструкція для встановлення OpenVPN на Ubuntu 22.04, враховуючи нюанси EasyRSA 3.


📌 Встановлення OpenVPN та EasyRSA

1️⃣ Оновлення системи

sudo apt update && sudo apt upgrade -y

📍 Директорія: будь-яка

2️⃣ Встановлення OpenVPN та необхідних пакетів

sudo apt install openvpn easy-rsa -y

📍 Директорія: будь-яка


📌 Налаштування PKI (Сертифікати)

3️⃣ Копіювання EasyRSA в робочу директорію

sudo cp -r /usr/share/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa

📍 Директорія: /etc/openvpn/easy-rsa

4️⃣ Ініціалізація PKI

sudo ./easyrsa init-pki

📍 Директорія: /etc/openvpn/easy-rsa

5️⃣ Створення CA (Центра сертифікації)

sudo ./easyrsa build-ca

• Коли спитає Common Name (CN), введи наприклад MyVPN-CA.

📍 Директорія: /etc/openvpn/easy-rsa

6️⃣ Генерація серверного ключа та сертифіката

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

• На запит Sign the certificate? введи yes.

📍 Директорія: /etc/openvpn/easy-rsa

7️⃣ Генерація клієнтського сертифіката

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

На запит Sign the certificate? введи yes.

📍 Директорія: /etc/openvpn/easy-rsa

8️⃣ Генерація параметрів Diffie-Hellman

sudo ./easyrsa gen-dh

📍 Директорія: /etc/openvpn/easy-rsa

9️⃣ Генерація TLS-ключа для захисту від атак

sudo openvpn --genkey secret /etc/openvpn/easy-rsa/pki/ta.key

📍 Директорія: будь-яка


📌 Налаштування OpenVPN-сервера

🔟 Копіювання сертифікатів у папку OpenVPN

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

📍 Директорія: /etc/openvpn/easy-rsa

1️⃣1️⃣ Створення конфігураційного файлу сервера

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/dh.pem
tls-auth /etc/openvpn/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-CBC
auth SHA256
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log

verb 3
explicit-exit-notify 1

Збережи (Ctrl + X, Y, Enter).


📌 Налаштування маршрутизації

1️⃣2️⃣ Включення IP Forwarding

sudo nano /etc/sysctl.conf

📍 Директорія: будь-яка

🔹 Знайди рядок:

#net.ipv4.ip_forward=1

🔹 Зміни на:

net.ipv4.ip_forward=1

Збережи (Ctrl + X, Y, Enter), потім активуй зміни:

sudo sysctl -p

📍 Директорія: будь-яка

1️⃣3️⃣ Налаштування iptables

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o **eth0**  -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables.rules

eth0 заміни на свій інтерфейс

Для збереження правил назавжди використаєм:


📍 Директорія: будь-яка

🔹 Щоб правила зберігались після перезавантаження, створи скрипт:

''sudo nano /etc/network/if-up.d/iptables''

📍 Директорія: /etc/network/if-up.d/

🔹 Встав це:

''#!/bin/sh
iptables-restore </etc/iptables.rules''

Збережи (Ctrl + X, Y, Enter).

Зроби файл виконуваним:

''sudo chmod +x /etc/network/if-up.d/iptables''

📌 Запуск OpenVPN

1️⃣4️⃣ Запуск сервера

''sudo systemctl start openvpn@server''

📍 Директорія: будь-яка

Переконайся, що VPN працює:

''sudo systemctl status openvpn@server''

1️⃣5️⃣ Додавання в автозапуск

''sudo systemctl enable openvpn@server''

📍 Директорія: будь-яка


📌 Налаштування клієнта

1️⃣6️⃣ Генерація клієнтського файлу конфігурації

''nano client.ovpn''

📍 Директорія: будь-яка

🔹 Встав вміст (заміни YOUR_VPN_SERVER_IP на реальну IP-адресу VPS):

''client
dev tun
proto udp
remote YOUR_VPN_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
verb 3
key-direction 1

<ca>
# Встав сюди вміст файлу ca.crt
</ca>
<cert>
# Встав сюди вміст файлу client1.crt
</cert>
<key>
# Встав сюди вміст файлу client1.key
</key>
<tls-auth>
# Встав сюди вміст файлу ta.key
</tls-auth>''

Збережи (Ctrl + X, Y, Enter).


1️⃣7️⃣ Копіювання файлів на клієнт

''scp client.ovpn user@your-client-ip:/home/user/''

📍 Директорія: будь-яка


📌 Підключення клієнта

🔹 На клієнті (Linux, Mac, Windows) запусти:

''sudo openvpn --config client.ovpn''

Готово! 🎉 Тепер твій VPN-сервер працює. 🚀

  • linux/proxy_vpn/openvpn_v2.1742214833.txt.gz
  • Востаннє змінено: 17/03/2025 09:33
  • (зовнішнє редагування)