Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
20.11.2024

Детальна інструкція по встановленню 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) і в сертифікатах, які будуть створюватися
    .set_var EASYRSA_REQ_ORG "enter YOUR_ORGANIZATION "
    У цьому прикладі змінна EASYRSA_REQ_ORG встановлюється в рядок “enter YOUR_ORGANIZATION”. Це означає, що при створенні сертифіката це значення буде вказано в полі“Назва організації”. Зазвичай замість “введіть ВАШ_ОРГАНІЗАЦІЮ” вводять назву організації, для якої створюються сертифікати. Наприклад, якщо ваша організація називається“ExampleCorporation“, ви зміните це значення на:set_var EASYRSA_REQ_ORG “ExampleCorporatiom “Таким чином, згенеровані сертифікати будуть містити назву вашої організації у відповідному полі.

Далі слід завантажити змінені змінні. Для цього потрібно ввести одну просту команду, що складається всього з двох слів:

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 на вашому пристрої та підключіться до сервера.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills