linux:proxy_vpn:openvpn_v2

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
linux:proxy_vpn:openvpn_v2 [17/03/2025 12:33] 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> <code>
 sudo apt update && sudo apt upgrade -y sudo apt update && sudo apt upgrade -y
Рядок 13: Рядок 13:
 </code> </code>
  
-📍 **Директорія:** будь-яка +**2Встановлення OpenVPN та необхідних пакетів**
- +
-**2️⃣ Встановлення OpenVPN та необхідних пакетів**+
 <code> <code>
 sudo apt install openvpn easy-rsa -y sudo apt install openvpn easy-rsa -y
  
 </code> </code>
- 
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Налаштування PKI (Сертифікати)**+==== Налаштування PKI (Сертифікати) ====
  
-**3️⃣ Копіювання EasyRSA в робочу директорію**+**3Копіювання EasyRSA в робочу директорію**
 <code> <code>
 sudo cp -r /usr/share/easy-rsa /etc/openvpn/ sudo cp -r /usr/share/easy-rsa /etc/openvpn/
Рядок 34: Рядок 30:
 </code> </code>
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**4Ініціалізація PKI**
- +
-**4️⃣ Ініціалізація PKI**+
 <code> <code>
 sudo ./easyrsa init-pki sudo ./easyrsa init-pki
Рядок 42: Рядок 36:
 </code> </code>
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**5Створення CA (Центра сертифікації)**
- +
-**5️⃣ Створення CA (Центра сертифікації)**+
 <code> <code>
 sudo ./easyrsa build-ca sudo ./easyrsa build-ca
Рядок 50: Рядок 42:
 </code> </code>
  
-• Коли спитає **Common Name (CN)**, введи наприклад MyVPN-CA.+• Коли спитає **Common Name (CN)**, введи наприклад ''MyVPN-CA''.
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**6Генерація серверного ключа та сертифіката**
- +
-**6️⃣ Генерація серверного ключа та сертифіката**+
 <code> <code>
 sudo ./easyrsa gen-req server nopass sudo ./easyrsa gen-req server nopass
Рядок 61: Рядок 51:
 </code> </code>
  
-• На запит Sign the certificate? введи **yes**.+• На запит Sign the certificate? введи ''yes''.
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**7Генерація клієнтського сертифіката**
- +
-**7️⃣ Генерація клієнтського сертифіката**+
 <code> <code>
 sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa gen-req client1 nopass
Рядок 72: Рядок 60:
 </code> </code>
  
-На запит Sign the certificate? введи **yes**.+На запит Sign the certificate? введи ''yes''.
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**8Генерація параметрів Diffie-Hellman**
- +
-**8️⃣ Генерація параметрів Diffie-Hellman**+
 <code> <code>
 sudo ./easyrsa gen-dh sudo ./easyrsa gen-dh
Рядок 82: Рядок 68:
 </code> </code>
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**9Генерація TLS-ключа для захисту від атак**
- +
-**9️⃣ Генерація TLS-ключа для захисту від атак**+
 <code> <code>
 sudo openvpn --genkey secret /etc/openvpn/easy-rsa/pki/ta.key sudo openvpn --genkey secret /etc/openvpn/easy-rsa/pki/ta.key
  
 </code> </code>
- 
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Налаштування OpenVPN-сервера**+==== Налаштування OpenVPN-сервера ====
  
-**🔟 Копіювання сертифікатів у папку OpenVPN**+**10) Копіювання сертифікатів у папку OpenVPN**
 <code> <code>
 sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem pki/ta.key /etc/openvpn/ sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem pki/ta.key /etc/openvpn/
Рядок 102: Рядок 84:
 </code> </code>
  
-📍 **Директорія:** /etc/openvpn/easy-rsa +**11) Створення конфігураційного файлу сервера**
- +
-**1️⃣1️⃣ Створення конфігураційного файлу сервера**+
 <code> <code>
 sudo nano /etc/openvpn/server.conf sudo nano /etc/openvpn/server.conf
Рядок 110: Рядок 90:
 </code> </code>
  
-📍 **Директорія:** будь-яка +**Встав вміст:**
- +
-🔹 **Встав вміст:**+
 <code> <code>
 port 1194 port 1194
Рядок 146: Рядок 124:
 ---- ----
  
-**📌 Налаштування маршрутизації**+==== Налаштування маршрутизації ====
  
-**1️⃣2️⃣ Включення IP Forwarding**+**12) Включення IP Forwarding**
 <code> <code>
 sudo nano /etc/sysctl.conf sudo nano /etc/sysctl.conf
Рядок 154: Рядок 132:
 </code> </code>
  
-📍 **Директорія:** будь-яка+Знайди рядок: ''#net.ipv4.ip_forward=1''
  
-🔹 **Знайди рядок:** +Зміни на:
-<code> +
-#net.ipv4.ip_forward=1+
  
-</code> 
- 
-🔹 **Зміни на:** 
 <code> <code>
 net.ipv4.ip_forward=1 net.ipv4.ip_forward=1
Рядок 168: Рядок 141:
 </code> </code>
  
-Збережи (Ctrl + X, Y, Enter), потім активуй зміни: +**Збережи** (Ctrl + X, Y, Enter), потім активуй зміни:
 <code> <code>
 sudo sysctl -p sudo sysctl -p
Рядок 175: Рядок 147:
 </code> </code>
  
-📍 **Директорія:** будь-яка+**13) Налаштування iptables**
  
-**1️⃣3️⃣ Налаштування iptables** +Всі можливі правила які потрібні для роботи OpenVPN
-<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> 
-**eth0** заміни на свій інтерфейс\\ 
-\\ 
-Для збереження правил назавжди використаєм: 
 <code> <code>
 +# Дозволяємо маршрутизацію
 +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 -d 10.8.0.0/24 -j ACCEPT
  
-</code>+# Дозволяємо вхідні з'єднання для 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> +
-''sudo nano /etc/network/if-up.d/iptables''+
  
 </code> </code>
  
-📍 **Директорія:** /etc/network/if-up.d/+**! **''ens5'' заміни на свій інтерфейс
  
-🔹 Встав це:+\\ 
 +Для збереження правил назавжди використаєм:
  
 <code> <code>
-''#!/bin/sh +sudo apt install iptables-persistent
-iptables-restore </etc/iptables.rules''+
  
 </code> </code>
  
-Збережи (Ctrl + X, Y, Enter). +**! ** Під час установки пакету тобі буде запропоновано зберегти поточні правилаТобі потрібно вибрати “Так” (**Yes**), щоб зберегти їх.\\ 
- +\\ 
-Зроби файл виконуваним:+Якщо потрібно вручну зберегти:
  
 <code> <code>
-''sudo chmod +x /etc/network/if-up.d/iptables''+sudo iptables-save> /etc/iptables/rules.v4
  
 </code> </code>
Рядок 222: Рядок 194:
 ---- ----
  
-**📌 Запуск OpenVPN**+==== Запуск OpenVPN ====
  
-**1️⃣4️⃣ Запуск сервера**+**14) Запуск сервера**
 <code> <code>
-''sudo systemctl start openvpn@server''+sudo systemctl start openvpn@server
  
 </code> </code>
- 
-📍 **Директорія:** будь-яка 
  
 Переконайся, що VPN працює: Переконайся, що VPN працює:
  
 <code> <code>
-''sudo systemctl status openvpn@server''+sudo systemctl status openvpn@server
  
 </code> </code>
  
-**1️⃣5️⃣ Додавання в автозапуск**+**15) Додавання в автозапуск**
 <code> <code>
-''sudo systemctl enable openvpn@server''+sudo systemctl enable openvpn@server
  
 </code> </code>
- 
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Налаштування клієнта**+==== Налаштування клієнта ====
  
-**1️⃣6️⃣ Генерація клієнтського файлу конфігурації**+**16) Генерація клієнтського файлу конфігурації**
 <code> <code>
-''nano client.ovpn''+nano client.ovpn
  
 </code> </code>
  
-📍 **Директорія:** будь-яка +Встав вміст (заміни ''YOUR_VPN_SERVER_IP'' на реальну IP-адресу VPS):
- +
-🔹 **Встав вміст (заміни YOUR_VPN_SERVER_IP на реальну IP-адресу VPS):**+
 <code> <code>
-''client+client
 dev tun dev tun
 proto udp proto udp
Рядок 276: Рядок 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>
Рядок 294: Рядок 260:
 ---- ----
  
-**1️⃣7️⃣ Копіювання файлів на клієнт**+**17) Скачування файлів з сервера на клієнт (Linux, MacOS)**
 <code> <code>
-''scp client.ovpn user@your-client-ip:/home/user/''+scp user@your-client-ip:/home/user/client.ovpn .
  
 </code> </code>
- 
-📍 **Директорія:** будь-яка 
  
 ---- ----
  
-**📌 Підключення клієнта**+==== Підключення клієнта ====
  
-🔹 **На клієнті (Linux, Mac, Windows) запусти:**+**На клієнті (Linux, Mac, Windows) запусти:**
 <code> <code>
-''sudo openvpn --config client.ovpn''+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.1742214833.txt.gz
  • Востаннє змінено: 17/03/2025 09:33
  • (зовнішнє редагування)