linux:proxy_vpn:openvpn_v2

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
linux:proxy_vpn:openvpn_v2 [17/03/2025 11:11] – створено osvexlinux:proxy_vpn:openvpn_v2 [Невідома дата] (поточний) – зовнішнє редагування (Невідома дата) 127.0.0.1
Рядок 1: Рядок 1:
-====== OpenVPN v2 ======+====== OpenVPN ======
  
-Ось повна детальна інструкція для встановлення OpenVPN на Ubuntu 22.04, враховуючи нюанси EasyRSA 3.+Повна детальна інструкція для встановлення OpenVPN на Ubuntu 22.04, EasyRSA 3.
  
 ---- ----
  
-**📌 Встановлення OpenVPN та EasyRSA**+==== Встановлення OpenVPN та EasyRSA ====
  
-**1️⃣ Оновлення системи** +**1Оновлення системи** 
-<code>''sudo apt update && sudo apt upgrade -y''+<code> 
 +sudo apt update && sudo apt upgrade -y
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
-**2️⃣ Встановлення OpenVPN та необхідних пакетів** +**2Встановлення OpenVPN та необхідних пакетів** 
-<code>''sudo apt install openvpn easy-rsa -y''+<code> 
 +sudo apt install openvpn easy-rsa -y
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Налаштування PKI (Сертифікати)**+==== Налаштування PKI (Сертифікати) ====
  
-**3️⃣ Копіювання EasyRSA в робочу директорію** +**3Копіювання EasyRSA в робочу директорію** 
-<code>''sudo cp -r /usr/share/easy-rsa /etc/openvpn/ +<code> 
-cd /etc/openvpn/easy-rsa''+sudo cp -r /usr/share/easy-rsa /etc/openvpn/ 
 +cd /etc/openvpn/easy-rsa
  
 </code> </code>
-📍 **Директорія:** /etc/openvpn/easy-rsa 
  
-**4️⃣ Ініціалізація PKI** +**4Ініціалізація PKI** 
-<code>''sudo ./easyrsa init-pki''+<code> 
 +sudo ./easyrsa init-pki
  
 </code> </code>
-📍 **Директорія:** /etc/openvpn/easy-rsa 
  
-**5️⃣ Створення CA (Центра сертифікації)** +**5Створення CA (Центра сертифікації)** 
-<code>''sudo ./easyrsa build-ca''+<code> 
 +sudo ./easyrsa build-ca
  
 </code> </code>
-• Коли спитає **Common Name (CN)**, введи MyVPN-CA. 
  
-📍 **Директорія:** /etc/openvpn/easy-rsa+• Коли спитає **Common Name (CN)**, введи наприклад ''MyVPN-CA''.
  
-**6️⃣ Генерація серверного ключа та сертифіката** +**6Генерація серверного ключа та сертифіката** 
-<code>''sudo ./easyrsa gen-req server nopass +<code> 
-sudo ./easyrsa sign-req server server''+sudo ./easyrsa gen-req server nopass 
 +sudo ./easyrsa sign-req server server
  
 </code> </code>
-• На запит Sign the certificate? введи yes. 
  
-📍 **Директорія:** /etc/openvpn/easy-rsa+• На запит Sign the certificate? введи ''yes''.
  
-**7️⃣ Генерація клієнтського сертифіката** +**7Генерація клієнтського сертифіката** 
-<code>''sudo ./easyrsa gen-req client1 nopass +<code> 
-sudo ./easyrsa sign-req client client1''+sudo ./easyrsa gen-req client1 nopass 
 +sudo ./easyrsa sign-req client client1
  
 </code> </code>
-• На запит Sign the certificate? введи yes. 
  
-📍 **Директорія:** /etc/openvpn/easy-rsa+На запит Sign the certificate? введи ''yes''.
  
-**8️⃣ Генерація параметрів Diffie-Hellman** +**8Генерація параметрів Diffie-Hellman** 
-<code>''sudo ./easyrsa gen-dh''+<code> 
 +sudo ./easyrsa gen-dh
  
 </code> </code>
-📍 **Директорія:** /etc/openvpn/easy-rsa 
  
-**9️⃣ Генерація TLS-ключа для захисту від атак** +**9Генерація TLS-ключа для захисту від атак** 
-<code>''sudo openvpn --genkey --secret /etc/openvpn/easy-rsa/pki/ta.key''+<code> 
 +sudo openvpn --genkey secret /etc/openvpn/easy-rsa/pki/ta.key
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Налаштування OpenVPN-сервера**+==== Налаштування OpenVPN-сервера ====
  
-**🔟 Копіювання сертифікатів у папку OpenVPN** +**10) Копіювання сертифікатів у папку OpenVPN** 
-<code>''sudo cp pki/ca.crt pki/server.crt pki/server.key pki/dh.pem pki/ta.key /etc/openvpn/''+<code> 
 +sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem pki/ta.key /etc/openvpn/
  
 </code> </code>
-📍 **Директорія:** /etc/openvpn/easy-rsa 
  
-**1️⃣1️⃣ Створення конфігураційного файлу сервера** +**11) Створення конфігураційного файлу сервера** 
-<code>''sudo nano /etc/openvpn/server.conf''+<code> 
 +sudo nano /etc/openvpn/server.conf
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
-🔹 **Встав вміст:** +**Встав вміст:** 
-<code>''port 1194+<code> 
 +port 1194
 proto udp proto udp
 dev tun dev tun
Рядок 115: Рядок 116:
  
 verb 3 verb 3
-explicit-exit-notify 1''+explicit-exit-notify 1
  
 </code> </code>
 +
 Збережи (Ctrl + X, Y, Enter). Збережи (Ctrl + X, Y, Enter).
  
 ---- ----
  
-**📌 Налаштування маршрутизації**+==== Налаштування маршрутизації ====
  
-**1️⃣2️⃣ Включення IP Forwarding** +**12) Включення IP Forwarding** 
-<code>''sudo nano /etc/sysctl.conf''+<code> 
 +sudo nano /etc/sysctl.conf
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
-🔹 **Знайди рядок:** +Знайди рядок: ''#net.ipv4.ip_forward=1''
-<code>''#net.ipv4.ip_forward=1''+
  
-</code> +Зміни на: 
-🔹 **Зміни на:** + 
-<code>''net.ipv4.ip_forward=1''+<code> 
 +net.ipv4.ip_forward=1
  
 </code> </code>
-Збережи (Ctrl + X, Y, Enter), потім активуй зміни: 
  
-<code>''sudo sysctl -p''+**Збережи** (Ctrl + X, Y, Enter), потім активуй зміни: 
 +<code> 
 +sudo sysctl -p
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
-**1️⃣3️⃣ Налаштування iptables** +**13) Налаштування iptables**
-<code>''sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE +
-sudo iptables-save | sudo tee /etc/iptables.rules''+
  
-</code> +Всі можливі правила які потрібні для роботи OpenVPN
-📍 **Директорія:** будь-яка+
  
-🔹 Щоб правила зберігались після перезавантаження, створи скрипт: 
 <code> <code>
-''sudo nano /etc/network/if-up.d/iptables''+# Дозволяємо маршрутизацію 
 +sudo sysctl -w net.ipv4.ip_forward=1 
 + 
 +# Маскування (NAT) 
 +sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens5 -j MASQUERADE 
 + 
 +# Дозволяємо пересилати пакети між інтерфейсами 
 +sudo iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT 
 +sudo iptables -A FORWARD -10.8.0.0/24 -j ACCEPT 
 + 
 +# Дозволяємо вхідні з'єднання для OpenVPN 
 +sudo iptables -A INPUT -i ens5 -p udp --dport 1194 -j ACCEPT 
 + 
 +# Дозволяємо трафік між VPN та сервером 
 +sudo iptables -A INPUT -i tun0 -j ACCEPT 
 + 
 +# Дозволяємо відповіді на VPN-з'єднання 
 +sudo iptables -A OUTPUT -o tun0 -j ACCEPT
  
 </code> </code>
-📍 **Директорія:** /etc/network/if-up.d/ 
  
-🔹 Встав це:+**! **''ens5'' заміни на свій інтерфейс
  
-<code>''#!/bin/sh +\\ 
-iptables-restore < /etc/iptables.rules''+Для збереження правил назавжди використаєм: 
 + 
 +<code> 
 +sudo apt install iptables-persistent
  
 </code> </code>
-Збережи (Ctrl + X, Y, Enter). 
  
-Зроби файл виконуваним:+**! ** Під час установки пакету тобі буде запропоновано зберегти поточні правила. Тобі потрібно вибрати “Так” (**Yes**), щоб зберегти їх.\\ 
 +\\ 
 +Якщо потрібно вручну зберегти:
  
-<code>''sudo chmod +x /etc/network/if-up.d/iptables''+<code> 
 +sudo iptables-save> /etc/iptables/rules.v4
  
 </code> </code>
Рядок 175: Рядок 194:
 ---- ----
  
-**📌 Запуск OpenVPN**+==== Запуск OpenVPN ====
  
-**1️⃣4️⃣ Запуск сервера** +**14) Запуск сервера** 
-<code>''sudo systemctl start openvpn@server''+<code> 
 +sudo systemctl start openvpn@server
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
 Переконайся, що VPN працює: Переконайся, що VPN працює:
  
-<code>''sudo systemctl status openvpn@server''+<code> 
 +sudo systemctl status openvpn@server
  
 </code> </code>
-**1️⃣5️⃣ Додавання в автозапуск** + 
-<code>''sudo systemctl enable openvpn@server''+**15) Додавання в автозапуск** 
 +<code> 
 +sudo systemctl enable openvpn@server
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Налаштування клієнта**+==== Налаштування клієнта ====
  
-**1️⃣6️⃣ Генерація клієнтського файлу конфігурації** +**16) Генерація клієнтського файлу конфігурації** 
-<code>''nano client.ovpn''+<code> 
 +nano client.ovpn
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
-🔹 **Встав вміст (заміни YOUR_VPN_SERVER_IP на реальну IP-адресу VPS):** +Встав вміст (заміни ''YOUR_VPN_SERVER_IP'' на реальну IP-адресу VPS): 
-<code>''client+<code> 
 +client
 dev tun dev tun
 proto udp proto udp
Рядок 220: Рядок 242:
  
 <ca> <ca>
-# Встав сюди вміст файлу ca.crt+# Встав сюди вміст файлу ca.crt (/etc/openvpn/ca.crt) (раніше виконували копіювання цього файла в цю директорію)
 </ca> </ca>
 <cert> <cert>
-# Встав сюди вміст файлу client1.crt+# Встав сюди вміст файлу client1.crt (/etc/openvpn/easy-rsa/pki/issued/client.crt)
 </cert> </cert>
 <key> <key>
-# Встав сюди вміст файлу client1.key+# Встав сюди вміст файлу client1.key (/etc/openvpn/easy-rsa/pki/private/client.key)
 </key> </key>
 <tls-auth> <tls-auth>
-# Встав сюди вміст файлу ta.key +# Встав сюди вміст файлу ta.key (/etc/openvpn/ta.key) (раніше виконували копіювання цього файла в цю директорію) 
-</tls-auth>''+</tls-auth>
  
 </code> </code>
 +
 Збережи (Ctrl + X, Y, Enter). Збережи (Ctrl + X, Y, Enter).
  
 ---- ----
  
-**1️⃣7️⃣ Копіювання файлів на клієнт** +**17) Скачування файлів з сервера на клієнт (Linux, MacOS)** 
-<code>''scp client.ovpn user@your-client-ip:/home/user/''+<code> 
 +scp user@your-client-ip:/home/user/client.ovpn .
  
 </code> </code>
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Підключення клієнта**+==== Підключення клієнта ====
  
-🔹 **На клієнті (Linux, Mac, Windows) запусти:** +**На клієнті (Linux, Mac, Windows) запусти:** 
-<code>''sudo openvpn --config client.ovpn''+<code> 
 +sudo openvpn --config client.ovpn
  
 </code> </code>
 +
 Готово! 🎉 Тепер твій VPN-сервер працює. 🚀 Готово! 🎉 Тепер твій VPN-сервер працює. 🚀
 +
 +==== Додавання нового клієнського профіля на сервері OpenVPN ====
 +
 +**1) Перейти в директорію /easy-rsa**
 +<code>
 +cd /etc/openvpn/easy-rsa
 +
 +</code>
 +
 +**2)** **Генерація запиту на сертифікат для нового користувача**: Використовуємо команду для генерації запиту на сертифікат і приватного ключа для нового користувача (наприклад, ''client2''):
 +<code>
 +sudo ./easyrsa gen-req client2 nopass
 +
 +</code>
 +
 +**3)** **Підписання сертифіката користувача**: Тепер підписуємо цей запит сертифікаційним центром (CA):
 +<code>
 +sudo ./easyrsa sign-req client client2
 +
 +</code>
 +
 +=== Копіювання файлів на сервер ===
 +
 +Після підписання сертифіката користувача, необхідно перемістити файли сертифіката, приватного ключа та інших необхідних файлів в каталог ''/etc/openvpn/client''.
 +
 +**1. Переміщення файлів**: Ви повинні перемістити наступні файли в каталог ''/etc/openvpn/client'':
 +
 +   * Сертифікат користувача (''client2.crt'').
 +  * Приватний ключ користувача (''client2.key'').
 +
 +Приклад команд для переміщення:
 +
 +<code>
 +sudo cp /etc/openvpn/easy-rsa/pki/issued/client2.crt /etc/openvpn/client/
 +sudo cp /etc/openvpn/easy-rsa/pki/private/client2.key /etc/openvpn/client/
 +
 +</code>
 +
 +2. Далі створити файл клієнта ''.ovpn''  можна по прикладу в пункт 16 або просто скопіювати з готового.
 +
 +3. Після цього можна використовувати конфіг-файл ''client2.ovpn''  в VPN-клієнтах.
  
  • linux/proxy_vpn/openvpn_v2.1742209914.txt.gz
  • Востаннє змінено: 17/03/2025 08:11
  • (зовнішнє редагування)