Сервер OpenVPN установка и настройка

Опубликовано:

Установка сервера OpenVPN

Debian/Ubuntu

Для Debian-based дистрибутивов (debian, ubuntu, mint...):

apt-get install -y openvpn
Создайте пользователя с именем, например, ca и перейдите в его домашний каталог:
# adduser ca
# su ca
$ cd

Настройка сервера OpenVPN

Для OpenVPN версии выше 2.3 набор скриптов easy-rsa не входит в инсталляцию по умолчанию, а скачивается отдельно:

mkdir ./src; cd ./src && wget  https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
cd ./easy-rsa-master
./build/build-dist.sh

Распакуем полученный архив:

tar zxvf EasyRSA-git-development.tgz && cd EasyRSA-git-development

переходим в каталог easyrsa3

cd ./easyrsa3

Конфигурируем сертификат

Скопируем шаблон и отредактируем его
*OPTIONAL* (Comment out the following lines if you do not want your certificates to expire)

#cp ./vars.example ./vars

В файле vars можно изменить данные для подписи ключей под себя, редактируем последние 6 строчек:

# mcedit ./vars

# меняем строки
export KEY_SIZE=2048  # Длинна ключа
export KEY_EXPIRE=3650 # Срок действия ключа в днях
# описание сертификатов по-умолчанию

set_var EASYRSA_REQ_COUNTRY<--->"RU"
set_var EASYRSA_REQ_PROVINCE<-->"RUS"
set_var EASYRSA_REQ_CITY<------>"Perm"
set_var EASYRSA_REQ_ORG>"Copyleft Certificate Co"
set_var EASYRSA_REQ_EMAIL<----->"admin@adminunix.ru"
set_var EASYRSA_REQ_OU<><------>"adminunix"

 

На первом шаге создайте инфраструктуру публичных ключей (Public Key Infrastructure, PKI):
$ ./easyrsa init-pki

Если у нас есть удостоверяющий центр то пропускаем следующий шаг и переходим генериррованию  сертификата X.509 для сервера

Сгенерируем корневой Certificate Authority для сервера

: ./easyrsa build-ca

Попросит дважды ввести новый пароль для ca.crt. Получим:

./pki/ca.crt

Сгенерируем сертификат X.509 для сервера

(Чтобы ключи (сервера и клиентов) не были защищены паролем необходимо  добавлял параметр nopass (его можно установить позже в любое время).)

./easyrsa build-server-full server

Попросит дважды ввести новый пароль для PEM и один раз повторить пароль, сгенерированный ранее для ca.crt

Получим:

./pki/private/server.key

Сгенерируем ключи для клиента:

./easyrsa build-client-full client1

Попросит дважды ввести новый пароль для PEM и один раз повторить пароль, сгенерированный ранее для ca.crt

Получим:

./pki/private/client1.key
./pki/issued/client1.crt

exit

Для экспорта ключей в формат PKCS12

./easyrsa export-p12 client2

 

Сгенерируем файл с параметрами Диффи-Хеллмана (dh.pem):

./easyrsa gen-dh

Это может занять продолжительное время.

Получим:

./pki/dh.pem

Создадим статический ключ HMAC (ta.key):

Для создания ключа HMAC используйте команду openvpn с опциями --genkey и --secret:

# cd /etc/openvpn
# openvpn --genkey --secret ta.key

Перенесём полученные файлы в /etc/openvpn/ для удобства:

mv ./pki/dh.pem /etc/openvpn/dh1024.pem
mv ./pki/private/client1.key /etc/openvpn/
mv ./pki/private/server.key /etc/openvpn/
mv ./pki/ca.crt /etc/openvpn/
mv ./pki/issued/client1.crt /etc/openvpn/
mv ./pki/issued/server.crt /etc/openvpn/

Файлы client1.crt, client1.key, ca.crt нужно скопировать на компьютер клиента, который будет подключаться к OpenVPN-серверу:

cd /etc/openvpn
mkdir ovpn-client
cp -rp  client1.crt client1.key ca.crt ./ovpn-client/
zip ovpn-client.zip ./ovpn-client/*

Понравилась статья, расскажи о ней друзьям, нажми кнопку!