Задать вопрос
@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Как создать pki с помощью easy-rsa?

Установил на федору openvpn:
sudo yum install openvpn
Установилась версия openvpn 2.3.14

В официальном HOWTO следующим шагом было создание PKI
для этого необходимо зайти в каталог easy-rsa, оторый
находится в /usr/share/doc/packages/openvpn или /usr/share/doc/openvpn, отредактирновать файл vars, и выполнить файл build-ca.

Но первый каталог не существует, а во втором нет того, чего надо:
$ cd /usr/share/doc/openvpn
$ ls
AUTHORS  COPYING        INSTALL  README           README.down-root
contrib  COPYRIGHT.GPL  PORTS    README.auth-pam  sample

Поиск по файловой системе чего-то с именами этих файлов, а также каталога easy-rsa ничего не дал.

Очемидным для меня решением проблемы было:
yum install easy-rsa
Успещно!
Появились 3 папки с таким содержимым:
ls /usr/share/easy-rsa
3  3.0  3.0.1

 ls /usr/share/licenses/easy-rsa
gpl-2.0.txt

 ls /usr/share/doc/easy-rsa
ChangeLog  COPYING  README.quickstart.md  vars.example


В файле README.quickstart.md оказалась короткая, малоинформативная инструкция. Для большей информации предлагалось выполнить easyrsa help.
$easyrsa help
bash: easyrsa: команда не найдена...

бинарник easyrsa я нашел в папке /usr/share/easy-rsa/3
НО запуск его с командой help предлагает запустить с командой help (WTF?)
cd /usr/share/easy-rsa/3
[dvoropaev@localhost 3]$ ls
easyrsa  openssl-1.0.cnf  x509-types
[dvoropaev@localhost 3]$ ./easyrsa help

Easy-RSA 3 usage and overview

USAGE: easyrsa [options] COMMAND [command-options]

A list of commands is shown below. To get detailed usage and help for a
command, run:
  ./easyrsa help COMMAND

For a listing of options that can be supplied before the command, use:
  ./easyrsa help options

Here is the list of commands available with a short syntax reminder. Use the
'help' command above to get full usage details.
  • Вопрос задан
  • 8295 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@mureevms
easy-rsa можно не ставить, это просто набор скриптов. Возьмите их в репе OpenVPN https://github.com/OpenVPN/easy-rsa/archive/master.zip:
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip

Затем
Перейти в каталог easyrsa3 и объявить для него переменные:
cd ~/easy-rsa-master/easyrsa3
cp ~/easy-rsa-master/easyrsa3/vars.example ~/easy-rsa-master/easyrsa3/vars

Инициализировать PKI (Public Key Infrastructure — Инфраструктура открытых ключей):
./easyrsa init-pki
Создать корневой сертификат. Обязательно ввести сложный пароль и Common Name сервера, например my vpn server:
./easyrsa build-ca
Создать ключи Диффи-Хелмана:
./easyrsa gen-dh
Создать запрос на сертификат для сервера OVPN. Обращаю внимание, что сертификат будет незапаролен (параметр nopass), иначе при каждом старте OpenVPN будет запрашивать этот пароль:
./easyrsa gen-req vpn-server nopass
Создать сам сертификат сервера OVPN:
./easyrsa sign-req server vpn-server
Скопировать полученные ключи в рабочий каталог openvpn:
mkdir -p /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/ca.crt /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/issued/vpn-server.crt /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/private/vpn-server.key /etc/openvpn/keys
cp ~/easy-rsa-master/easyrsa3/pki/dh.pem /etc/openvpn/keys

Создать «HMAC firewall» для защиты от DoS аттак и флуда UDP порта:
cd /etc/openvpn/keys/
openvpn --genkey --secret ta.key

Запустить openvpn:
/etc/init.d/openvpn start

Отсюда
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
build-ca и прочие скрипты были во 2 версии easy-rsa, в третьей только один скрипт - easyrsa, но с теми же параметрами. easy-rsa - это надстройка над openssl, просто скрипт, автоматизирующий операции.
Я с 3 версией дела не имел, как-то все время попадалась 2 версия. Откройте скрипт в текстовом редакторе, там обычно довольно внятные комментарии. Имея инструкцию для 2 версии можно ее достаточно легко адаптировать к 3 версии, я так думаю. Скрипт vars так и остался с предыдущей версии. В vars инициализируете переменные для генерации ключей, которые будут использоваться в основном скрипте.
PS: не так давно настраивал OpenVPN для винды, комплект брал с сайта разработчика, там еще были скрипты второй версии. Но для винды скрипты easy-rsa всегда требовали доработки напильником.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы