В Интернете куча инструкций, но я себе записал на будущее свои грабли, может кому поможет.
- Запускаем init-config.bat
- Редактируем vars.bat
- Для создания ключей шифрования:
- Создаем новые index и serial файлы (Один раз)
1. vars.bat
2. clean-all.bat - Создаем CA ключ (Один раз)
1. vars.bat
2. build-ca.bat - Создаем DH файл (Только один раз, для серверной стороны)
1. vars.bat
2. build-dh.bat - Создаем секретный ключ\сертификат для сервера
1. vars.bat
2. build-key-server.bat <имя-сервера> - Создаем ключевые файлы в PEM формате (для каждой клиентской машины)
1. vars.bat
2. build-key.bat <имя-клиента> - В файлах клиента и сервера (Можно взять из папки «sample-config») указываем полные пути к файлам ключей, например:
ca «c:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt»
cert «c:\\Program Files\\OpenVPN\\easy-rsa\\keys\\client.crt»
key «c:\\Program Files\\OpenVPN\\easy-rsa\\keys\\client.key»
Причем кавычки обязательны, если путь содержит пробелы, и именно двойные слеши. - На сервере включаем IP Форвардинг:
- Создаем новые index и serial файлы (Один раз)
Если при создании сертификатов не может найти /etc/openssl/openssl.cnf (именно с «ect»!), качаем вот это и извлекаем содержимое папки «bin» из архива в папку «bin» OpenVPN с заменой. Видимо, с дистрибутивом ставятся неправильно скомпилированные бинарники.
Если при создании сертификата вылезает ошибка «Failed to update database TXT_DB error number 2», вот четыре варианта решения:
- Изменить значение параметра в файле index.txt.attr unique_subject
- Добавить строку в файл openssl.conf:
[ CA_default ]
unique_subject = no - Всегда создавать сертификаты с различными KEY_CN (COMMON NAME?)
- Удалить соответствующие записи из файлов index.txt и serial