OpenVPN под Windows

В Интернете куча инструкций, но я себе записал на будущее свои грабли, может кому поможет.

  1. Запускаем init-config.bat
  2. Редактируем vars.bat
  3. Для создания ключей шифрования:
    1. Создаем новые index и serial файлы (Один раз)
      1. vars.bat
      2. clean-all.bat
    2. Создаем  CA ключ (Один раз)
      1. vars.bat
      2. build-ca.bat
    3. Создаем DH файл (Только один раз, для серверной стороны)
      1. vars.bat
      2. build-dh.bat
    4. Создаем секретный ключ\сертификат для сервера
      1. vars.bat
      2. build-key-server.bat <имя-сервера>
    5. Создаем ключевые файлы в PEM формате (для каждой клиентской машины)
      1. vars.bat
      2. build-key.bat <имя-клиента>
    6. В файлах клиента и сервера (Можно взять из папки «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»
      Причем кавычки обязательны, если путь содержит пробелы, и именно двойные слеши.
    7. На сервере включаем IP Форвардинг:

Если при создании сертификатов не может найти /etc/openssl/openssl.cnf (именно с «ect»!), качаем вот это и извлекаем содержимое папки «bin» из архива в папку «bin» OpenVPN с заменой. Видимо, с дистрибутивом ставятся неправильно скомпилированные бинарники.

Если при создании сертификата вылезает ошибка «Failed to update database TXT_DB error number 2», вот четыре варианта решения:

  1. Изменить значение параметра в файле index.txt.attr unique_subject
  2. Добавить строку в файл openssl.conf:
    [ CA_default ]
    unique_subject = no
  3. Всегда создавать сертификаты с различными KEY_CN (COMMON NAME?)
  4. Удалить соответствующие записи из файлов index.txt и serial

Оставьте комментарий