Автор Тема: Работа с OpenVPN версии выше 2.3  (Прочитано 6943 раз)

Оффлайн maxiva

  • Давно тут
  • **
  • Сообщений: 172
На сервере обновился openvpn до версии 2.3.6.
Исчезла возможность генерировать сертификаты. Думал, сойду с ума: . ./vars исчез.
Теперь изменилась идеология:

Для 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

И потом можно генерировать, но не так как раньше, а вот так:

./easyrsa  init-pki
./easyrsa  build-ca

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

./pki/ca.crt

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

./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


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

./easyrsa gen-dh

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

Получим:

./pki/dh.pem

./easyrsa  init-pki
./easyrsa  build-ca

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

./pki/ca.crt

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

./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


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

./easyrsa gen-dh

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

Получим:

./pki/dh.pem


Перенесём полученные файлы в /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/*


На форуме ничего похожего не нашел. Может, где-то в FAQ есть?


Остался один вопрос, но очень важный: не нашел команду, аналогичную старой:
Где
build-key-pkcs12
« Последнее редактирование: 07.03.2015 13:54:14 от ruslandh »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 30 552
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: OpenVPN версии выше 2.3
« Ответ #1 : 04.03.2015 22:13:00 »
Вы-бы лучше на Wiki это поместили. Тут, на 149-странице это никто не найдёт.
« Последнее редактирование: 07.03.2015 13:56:15 от ruslandh »

Оффлайн maxiva

  • Давно тут
  • **
  • Сообщений: 172
Re: Работа с OpenVPN версии выше 2.3
« Ответ #2 : 11.03.2015 22:00:16 »
Отвечу сам себе.

Что изменилось при смене версий? Ранее мы пользовались сертификатами PKCS (Public-Key Cryptography Standards)
с версии 2.3 появился полноценный PKI (Public Key Infrastructure).
Не силен в основании предмета, вроде как в последней версии - это сертификаты X.509.

OpenVPN 2.3 собран с "обратной зависимостью" - поддерживает ключи и сертификаты, созданные в предыдущих версиях.


Таким образом, если впервые устанавливаете связь - переходим на PKI, если желаете пользоваться "как раньше" - скачиваем скрипты для версии 2.2. Все будет продолжать работать, новые соединения будут установлены (я проверил).

Где брать старые скрипты? Здесь:

wget https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz
tar -zxvf EasyRSA-2.2.2.tgz
cd EasyRSA-2.2.2

Ну и до кучи: изумительная пошаговая инструкция, как "ручками" сделать себе доступ по VPN, лежит здесь.
Там, правда про FreeBSD, и для версии 2.2., но все понятно (в нашем случае просто меняются некоторые пути). Все просто, без выпендрежа - рекомендую. На последнем сервере ALT Linux 7.0 Centaurus все взлетело и функционирует.
« Последнее редактирование: 11.03.2015 22:09:36 от maxiva »

Оффлайн grumbler

  • alt linux team
  • ***
  • Сообщений: 126
Re: Работа с OpenVPN версии выше 2.3
« Ответ #3 : 22.03.2015 08:15:52 »
Тут, на 149-странице это никто не найдёт.

Я нашёл :). Конечно, лучше на Wiki, вот только там нужно делать полноценную статью, как использовать новый openvpn со структурой PKI, здесь же maxiva поместил только сообщение о проблеме и описал схему решений.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 30 552
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Работа с OpenVPN версии выше 2.3
« Ответ #4 : 22.03.2015 08:45:04 »
Я нашёл :).
после того, как я её вынес на первую страницу в отдельную тему :)

Оффлайн rabochyITs

  • Давно тут
  • **
  • Сообщений: 507
  • Евгений
Re: Работа с OpenVPN версии выше 2.3
« Ответ #5 : 21.08.2015 16:33:51 »
Недавно копался по данной теме http://forum.altlinux.org/index.php?topic=35225.0 . Вот хороший мануал http://notessysadmin.com/quickstart-openvpn-server
Некоторые тонкости:
Клиент
Ключи:
Создание запроса запароленного ключа для клиента (потребуется вводить при каждом подключении) с именем User:
# easyrsa gen-req User

Если авторизация будет внешней (например ADшная), то пароль не потребуется. Создание запроса без парольного ключа для клиента:
# easyrsa gen-req User nopass

Создание ключа пользователя (по дефолту из vars сроком на 10 лет):
# easyrsa sign-req client User

Или с ограничением действия сертификата в 90 дней (после истечения срока можно только перевыпустить):
# easyrsa sign-req client User -days 90

Надо бы поискать мануал по этим "тонкостям".
Теперь в дистрибутиве появился пакет - apt-get install easy-rsa