Подробные инструкции по установке OpenVPN на сервер Linux
OpenVPN – это мощный и гибкий инструмент для создания безопасных VPN-туннелей. Эта инструкция поможет вам установить и настроить OpenVPN на сервере под управлением Linux (например, Ubuntu, Debian, CentOS).
Обновление системных пакетов
Перед началом установки обновите списки системных пакетов и установите все доступные обновления. Для Ubuntu/Debian:
apt update
apt upgrade -y Для CentOS
yum update -yУстановите OpenVPN и Easy-RSA
Для создания ключей и сертификатов вам понадобится утилита Easy-RSA. Вместе с ней мы установим OpenVPN.
Для Ubuntu/Debian:
apt install openvpn easy-rsa -yДля CentOS:
yum install epel-release -yyum install openvpn easy-rsa -yУспешная установка будет выглядеть следующим образом

Настройка инфраструктуры открытых ключей (PKI)
Создайте каталог, в котором будут храниться все необходимые файлы для создания сертификатов:
make-cadir ~/openvpn-cacd ~/openvpn-ca
Конфигурация Easy-RSA
Отредактируйте файл vars, чтобы задать настройки для создания сертификатов:
nano varsИзмените следующие строки на свои значения:
set_var EASYRSA_REQ_COUNTRY "enter YOUR_COUNTRY"
set_var EASYRSA_REQ_PROVINCE "enter YOUR_PROVINCE"
set_var EASYRSA_REQ_CITY "enter YOUR_CITY"
set_var EASYRSA_REQ_ORG "enter YOUR_ORGANIZATION"
set_var EASYRSA_REQ_EMAIL "enter YOUR_EMAIL"
set_var EASYRSA_REQ_OU "enter YOUR_ORG_UNIT"- Пример. ПеременнаяEASYRSA_REQ_ORG используется в сценарии EasyRSA для задания имени организации при создании сертификатов. Значение этой переменной указывается в CSR (запрос на подписание сертификата) и в создаваемых сертификатахВ этом примере переменная EASYRSA_REQ_ORG установлена в строку “enter YOUR_ORGANIZATION”. Это означает, что при создании сертификата это значение будет указано в поле“Имя организации“. Обычно вместо “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Вам будет предложено ввести пароль для ЦС. Обязательно сохраните его и запомните.

Генерация ключей и сертификатов
Сертификат и ключ сервера:
./easyrsa gen-req server nopassПодпишите сертификат сервера:
./easyrsa sign-req server 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.gznano /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
# вставить содержимое файла client.crt
# вставьте содержимое файла client.key
Подключение клиента
Импортируйте файл client.ovpn в клиент OpenVPN на вашем устройстве и подключитесь к серверу.


