LINUX.ORG.RU

Установка OpenVPN с двухуровневой иерархии ЦС

 , ,


0

1

Проблема заключается в следующем: Надо создать два центра сертификации (RootCA и SubCA) и настроить настроить OpenVPN с подписанными сертификатами в ЦС. Я опишу шаги, которые я выполнил, но зашел в тупик, я что-то упускаю, но не вижу что. Берем три сервера (debian 9) называем их RootCA, SubCA, OpenVPNsrv. На всех трех серверах скачиваем easyrsa и распаковываем архивы. На третьем сервере OpenVPNsrv устанавливаем openvpn. Далее по командам.

wget -P ~/ https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz

tar xvf EasyRSA-3.0.4.tgz

cd ~/EasyRSA-3.0.4/

Данные действия выполняем на всех машинах.

cp vars.example vars

На RootCA и SubCA редактируем данный файл находим необходимый блок, раскомментируем его и пропишем свои значения:

set_var EASYRSA_REQ_COUNTRY «PB»

set_var EASYRSA_REQ_PROVINCE «Minsk»

set_var EASYRSA_REQ_CITY «Minsk»

set_var EASYRSA_REQ_ORG «company»

set_var EASYRSA_REQ_EMAIL «me@example.com»

set_var EASYRSA_REQ_OU «IT»

Так же меняем значение сроков действия сертификатов. На сервере RootCA:

set_var EASYRSA_CA_EXPIRE 3650

set_var EASYRSA_CERT_EXPIRE 1825

На SubCA:

set_var EASYRSA_CA_EXPIRE 1825

set_var EASYRSA_CERT_EXPIRE 365

Далее на RootCA:

./easyrsa init-pki

./easyrsa build-ca nopass

На SubCA:

./easyrsa init-pki

./easyrsa build-ca subca nopass

Передаем файл ca.req серверу RootCA, импортируем, подписываем и возвращаем обратно на SubCA:

./easyrsa import-req ca.req ca

./easyrsa sign-req ca ca

Далее на сервере OpenVPNsrv создаем необходимые сертификаты (запросы) для работы OpenVPN:

./easyrsa gen-req servername nopass

./easyrsa gen-req username nopass

./easyrsa gen-dh

sudo openvpn –genkey –secret ta.key

Подписываю сертификаты на SubCA:

./easyrsa import-req /tmp/servername.req servername

./easyrsa sign-req server servername

./easyrsa import-req /tmp/username.req username

./easyrsa sign-req client username

Все ключи раскладываю в нужные места: для сервера в /etc/openvpn/ :

server.conf

ta.key

ca.crt (SubCA.crt)

server.crt

server.key

dh.pem

Для пользователя генерирую файл user.ovpn, куда добавляю:

ca.crt (SubCA.crt)

user.key

user.crt

ta.key

Запускаю openvpn:

systemctl start openvpn@server

Сервер стартует и работает. Но когда подключаюсь клиентом, но мне выдает ошибку аутентификации.

Но если делаю все тоже самое, но не использую SubCA, то все работает.

Что я упускаю?