Подробные инструкции по установке 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 -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 "enter YOUR_COUNTRY"
set_var EASYRSA_REQ_PROVINCE "enter YOUR_PROVINCE"
set_var EASYRSA_REQ_CITY "введите ВАШ_ГОРОД"
set_var EASYRSA_REQ_ORG "введите ВАШУ_ОРГАНИЗАЦИЮ"
set_var EASYRSA_REQ_EMAIL "введите ВАШ_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.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
# вставить содержимое файла client.crt
# вставьте содержимое файла client.key
Подключение клиента
Импортируйте файл client.ovpn в клиент OpenVPN на вашем устройстве и подключитесь к серверу.