Не работает OpenVPN клиент без ключа pkcs12, так должно быть?

Тема в разделе "Общий форум", создана пользователем dobromin, 15 май 2017.

  1. dobromin

    dobromin Новый участник

    Здравствуйте!
    OpenVPN сервер на микротик, для подключение используются сертификаты crt и ключ key
    если указать в файле настроек ключи в таком виде

    ca ca.crt
    cert client.crt
    key client.key

    То при подключении кроме пустого окна подключения openvpn ничего не происходит, также не отображается процесс.
    ранее подключал клиентов только с ключом pkcs12 и все работало, но это был pfsense.
    По поэкспериментировав заметил, если добавить в работающий конфиг клиента, строчки:

    ca ca.crt
    cert client.crt
    key client.key

    то та же ошибка, как будто он их определяет и все стоит. Может уже такой тип не поддерживается, хотя в шаблоне клиента такой тип подключения сертификатов присутствует.
    вот полный конфиг, сертификаты в той же директории
    dev tap
    persist-tun
    persist-key
    cipher AES-256-CBC
    auth SHA256
    tls-client
    client
    resolv-retry infinite
    remote ip 1194 udp
    lport 0
    ca ca.crt
    cert client.crt
    key client.key
    auth-user-pass
    ns-cert-type server
    passtos
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Не готов ответить, не силен в OVPN. :(
     
  3. Macaroff

    Macaroff Участник

    У Вас конфиг клиента неполный(кривоват), добавьте в него "verb x", где х - цифра от 2 до 5 для просмотра в логе, что за ошибка выпадает.
    Чисто для информации, как настраивается клиент - пример конфига
    # Режим, в котором работает OVPN сервис
    client

    # Внимание! Указываем только один параметр из двух
    # Для режима tup указываем параметр
    dev tun
    # Для режима tap указываем параметр
    dev tap

    # Этот параметр указываем только в случае использования режима tap, а вместо MyTap подставляем имя tap интерфейса в windows (ipconfig /all, или сетевые подключения в панели управления)
    dev-node MyTap

    # Используемый протокол. ROS'овский OVPN-сервер работает только в режиме tcp
    proto tcp

    # Адрес сервера, к которому будем подключаться, и порт. Вместо ovpn.my.domain — dns-имя или же ip-адрес. Можно указать несколько серверов.
    remote ovpn.my.domain 1194
    ;remote my-server-2 1194

    # Этот параметр нужен только в случае использования более чем одного сервера; При указании этого параметра при подключении клиент случайном образом выбирает один из указанных серверов
    ;remote-random

    # Тайм аут между попытками определить ip-адрес по указанному DNS-имени сервера, в секундах (или бесконечность — infinite)
    resolv-retry infinite

    # Если указан этот параметр, то клиент будет использовать динамический исходящий порт для подключения
    nobind

    # Разрешают клиенту сохранять настройки туннеля при переподключении, а так же не перечитывать файлы ключей
    persist-key
    persist-tun

    # Настройки прокси
    ;http-proxy-retry # retry on connection failures
    ;http-proxy [proxy server] [proxy port #]

    # Отключает сообщения о повторяющихся пакетах
    ;mute-replay-warnings

    # Пути к файлам сертификатов
    # ca — сертификат CA, которым выданы сертификат клиента И сертификат сервера
    # cert — сертификат клиента
    # key — закрытый ключ сертификата клиента
    ca cert_export_test-CA.crt
    cert cert_export_test-client-ovpn-1.crt
    key cert_export_test-client-ovpn-1.key

    # auth-user-pass сообщает клиенту, что он должен использовать имя пользователя и пароль для аутентификации (но не вместо сертификатов, а вместе с сертификатами)
    # auth-user-pass говорит OVPN-клиенту использовать логин и пароль (но не вместо сертификатов, а вместе с сертификатами)
    # user-pwd.txt указывает на файл, в котором хранятся логин и пароль; первая строка в файле — логин, вторая — пароль; при отсутствии этого аргумента логин и пароль будут запрашиваться каждый раз при подключении
    # Примечание: В случае использования сертификата с закрытым ключом, к которому и так нужно вводить ключ при каждом подключении, я не считаю необходимым заставлять пользователя помнить ещё и логин с паролем
    --auth-user-pass user-pwd.txt

    # Сообщает клиенту, что он должен проверять сертификат сервера на предмет правильности используемых key-usage
    remote-cert-tls server

    # Ключ для шифрования начала процесса аутентификации (handshake), дополнительная мера безопасности. Имеет смысл при использовании только логина/пароля, без сертификатов.
    ;tls-auth ta.key 1

    # Задание особого метода шифрования, по-умолчание используется blowfish128.
    ;cipher x

    # Использование lzo-сжатия. Не поддерживается OVPN на ROS.
    ;comp-lzo

    # Уровень лога. Чем больше значение — тем подробнее.
    verb 3

    # Блокирование повторяющихся сообщений в логе
    ;mute 20

    # Выше были приведены параметры, которые присутствуют в «родном» примере конфига для клиента + 1 необходимый нам параметр
    # Ниже я приведу ещё несколько, на мой взгляд, полезных параметров.

    # Маршрут, устанавливаемый при запуске подключения
    # Маршрут указывает не на шлюз, а непосредственно на подключение
    route 192.168.88.0 255.255.255.0

    # Пауза перед установкой маршрутов после установления подключения (в секундах)
    route-delay 5

    # Если мы хотим задать OVPN-подключение в качестве основного шлюза, то либо
    route-gateway 192.168.100.1
    # либо
    redirect-gateway def1 /
     
    Денис Друженков нравится это.
  4. dobromin

    dobromin Новый участник

    прошу прощения за поздняк, в папке конфиг не было ca.crt :rolleyes:
     
    Денис Друженков нравится это.