Детальна інструкція по встановленню OpenVPN на сервері Linux
OpenVPN – це потужний і гнучкий інструмент для створення безпечних VPN-тунелів. Ця інструкція допоможе вам встановити та налаштувати OpenVPN на сервері під управлінням Linux (наприклад, Ubuntu, Debian, CentOS).
Оновлення системних пакетів
Перед початком інсталяції оновіть списки системних пакетів та встановіть всі доступні оновлення. Для Ubuntu/Debian:
apt update
apt update -y
Для CentOS
yum update -y
Встановлення OpenVPN та Easy-RSA
Для створення ключів і сертифікатів вам знадобиться утиліта Easy-RSA. Разом з нею ми встановимо OpenVPN.
Для Ubuntu/Debian:
apt install openvpn easy-rsa -y
Для CentOS:
yum install epel-release -y
yum install openvpn easy-rsa -y
Успішне встановлення буде виглядати так
Налаштуйте PKI (Інфраструктуру відкритих ключів)
Створіть каталог, де будуть зберігатися всі необхідні файли для створення сертифікатів:
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
Налаштування Easy-RSA
Відредагуйте файл vars, щоб вказати налаштування для створення сертифікатів:
nano vars
Змініть наступні рядки на свої значення:
set_var EASYRSA_REQ_COUNTRY "введіть ВАШУ_КРАЇНУ"
set_var EASYRSA_REQ_PROVINCE "введіть ВАШ_ПРОВІНЦІЮ"
set_var EASYRSA_REQ_CITY "введіть ваше місто"
set_var EASYRSA_REQ_ORG "введіть ВАШУ ОРГАНІЗАЦІЮ"
set_var EASYRSA_REQ_EMAIL "введіть ВАШ_EMAIL"
set_var EASYRSA_REQ_OU "введіть ВАШ_ПІДРОЗДІЛ"
- ЗміннаEASYRSA_REQ_ORG використовується в скрипті EasyRSA для задання назви організації при створенні сертифікатів. Значення цієї змінної вказується в CSR (Certificate Signing Request) і в сертифікатах, які будуть створюватисяУ цьому прикладі змінна EASYRSA_REQ_ORG встановлюється в рядок “enter YOUR_ORGANIZATION”. Це означає, що при створенні сертифіката це значення буде вказано в полі“Назва організації”. Зазвичай замість “введіть ВАШ_ОРГАНІЗАЦІЮ” вводять назву організації, для якої створюються сертифікати. Наприклад, якщо ваша організація називається“ExampleCorporation“, ви зміните це значення на:set_var EASYRSA_REQ_ORG “ExampleCorporatiom “Таким чином, згенеровані сертифікати будуть містити назву вашої організації у відповідному полі.
.set_var EASYRSA_REQ_ORG "enter YOUR_ORGANIZATION "
Далі слід завантажити змінені змінні. Для цього потрібно ввести одну просту команду, що складається всього з двох слів:
source vars
Створити ЦС (центр сертифікації)
Далі йде складний і важливий крок! Будь ласка, переконайтеся, що ви можете залишити запис про це у вашому KeePASS або будь-якому іншому надійному менеджері паролів! На цьому кроці ви повинні ініціалізувати PKI і створити кореневий сертифікат. Це можна зробити так:
./easyrsa init-pki
./easyrsa build-ca
Вам буде запропоновано ввести пароль для CA. Обов’язково збережіть його і запам’ятайте.
Згенеруйте ключі та сертифікати
Сертифікат і ключ сервера:
./easyrsa gen-req server nopass
Підпишіть сертифікат сервера:
./easyrsa sign-req server сервер сервер
Згенеруйте параметри DH:
./easyrsa gen-dh
Згенерувати HMAC-ключ для TLS-автентифікації:
openvpn --genkey --secret ta.key
Налаштування конфігураційного файлу сервера
Скопіюйте зразок конфігураційного файлу та відредагуйте його:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn//
gunzip /etc/openvpn/server.conf.gz
nano /etc/openvpn/server.conf
Запуск служби OpenVPN
Переконайтеся, що OpenVPN запускається під час завантаження за допомогою наступної команди:
systemctl enable openvpn@server
Налаштування клієнтського файлу
Скопіюйте конфігураційний файл клієнта на ваш сервер:
scp user@your-server_ip:/etc/openvpn/client.ovpn ~/client.ovpn
- Тести проводилися на IPv4-адресі – 91.229.239.11. Приклад результату успішного виконання команд наведено нижче:
Введіть конфігураційний scp user@91.229.239.11:/etc/openvpn/client.ovpn ~/client.ovpn. Потім введіть passwd
Відредагуйте файл client.ovpn і додайте сертифікати:
# вставте вміст файлу ca.crt
<cert
<cert
# вставити вміст файлу client.crt
# вставити вміст файлу client.key
</key
Підключення клієнта
Імпортуйте файл client.ovpn у клієнт OpenVPN на вашому пристрої та підключіться до сервера.