Настройка клиента OpenVPN Connect 3.x для подключений проверки подлинности сертификатов P2S — Windows
Если VPN-шлюз типа "точка — сеть" (P2S) настроен для использования OpenVPN и проверки подлинности сертификата, вы можете подключиться к виртуальной сети с помощью клиента OpenVPN. В этой статье описаны действия по настройке клиента OpenVPN Connect 3.x и подключению к виртуальной сети. Существуют некоторые различия в конфигурации клиента OpenVPN 2.x и клиента OpenVPN Connect 3.x. В этой статье рассматривается клиент OpenVPN Connect 3.x.
Подготовка к работе
Перед началом действий по настройке клиента убедитесь, что вы находитесь в правильной статье конфигурации VPN-клиента. В следующей таблице показаны статьи о конфигурации, доступные для VPN-шлюз VPN-клиентов типа "точка — сеть". Шаги различаются в зависимости от типа проверки подлинности, типа туннеля и клиентской ОС.
Authentication method | Тип туннеля | ОС клиента | VPN-клиент |
---|---|---|---|
Сертификат | |||
IKEv2, SSTP | Windows | Собственный VPN-клиент | |
IKEv2 | macOS | Собственный VPN-клиент | |
IKEv2 | Linux | strongSwan | |
OpenVPN | Windows | VPN-клиент Azure Клиент OpenVPN версии 2.x Клиент OpenVPN версии 3.x |
|
OpenVPN | macOS | Клиент OpenVPN | |
OpenVPN | iOS | Клиент OpenVPN | |
OpenVPN | Linux | VPN-клиент Azure Клиент OpenVPN |
|
Microsoft Entra ID | |||
OpenVPN | Windows | VPN-клиент Azure | |
OpenVPN | macOS | VPN-клиент Azure | |
OpenVPN | Linux | VPN-клиент Azure |
Примечание.
Клиент OpenVPN управляется независимо и не контролируется корпорацией Майкрософт. Это означает, что корпорация Майкрософт не контролирует свой код, сборки, план развития или юридические аспекты. Если клиенты сталкиваются с любыми ошибками или проблемами с клиентом OpenVPN, они должны напрямую обратиться в службу поддержки OpenVPN Inc. Рекомендации, приведенные в этой статье, приведены как есть и не проверены OpenVPN Inc. Они предназначены для поддержки клиентов, которые уже знакомы с клиентом и хотят использовать его для подключения к Azure VPN-шлюз в настройке VPN типа "точка — сеть".
Необходимые компоненты
В этой статье предполагается, что вы уже выполнили следующие предварительные требования:
- Вы создали и настроили VPN-шлюз для проверки подлинности сертификата типа "точка — сеть" и типа туннеля OpenVPN. Инструкции по настройке параметров сервера для подключений VPN-шлюз P2S — проверка подлинности на основе сертификата.
- Вы создали и скачали файлы конфигурации VPN-клиента. Инструкции см. в разделе "Создание файлов конфигурации профиля VPN-клиента".
- Вы можете создать сертификаты клиента или получить соответствующие сертификаты клиента, необходимые для проверки подлинности.
Требования к подключению
Чтобы подключиться к Azure с помощью клиента OpenVPN Connect 3.x с помощью проверки подлинности сертификата, для каждого подключающегося клиентского компьютера требуются следующие элементы:
- Клиентское программное обеспечение OpenVPN Connect должно быть установлено и настроено на каждом клиентском компьютере.
- Клиентский компьютер должен иметь сертификат клиента, установленный локально.
- Если цепочка сертификатов включает промежуточный сертификат, сначала ознакомьтесь с разделом "Промежуточные сертификаты", чтобы убедиться, что конфигурация VPN-шлюза P2S настроена для поддержки этой цепочки сертификатов . Поведение проверки подлинности сертификата для клиентов 3.x отличается от предыдущих версий, где можно указать промежуточный сертификат в профиле клиента.
Рабочий процесс
Рабочий процесс для этой статьи:
- Создайте и установите сертификаты клиента, если вы еще этого не сделали.
- Просмотрите файлы конфигурации профиля VPN-клиента, содержащиеся в созданном пакете конфигурации профиля VPN-клиента.
- Настройте клиент OpenVPN Connect.
- Подключитесь к Azure.
Создание и установка сертификатов клиента
Для проверки подлинности сертификата сертификат должен быть установлен на каждом клиентском компьютере. Сертификат клиента, который вы хотите использовать, должен экспортироваться с закрытым ключом и содержать все сертификаты в пути сертификации. Кроме того, для некоторых конфигураций также потребуется установить сведения о корневом сертификате.
Во многих случаях сертификат клиента можно установить непосредственно на клиентском компьютере, дважды щелкнув его. Однако для некоторых конфигураций клиента OpenVPN может потребоваться извлечь сведения из сертификата клиента, чтобы завершить настройку.
- Сведения о работе с сертификатами см . на сайте": создание сертификатов.
- Чтобы просмотреть установленный сертификат клиента, откройте раздел Управление сертификатами пользователей. Сертификат клиента устанавливается в каталог Current User\Personal\Certificates.
Установка сертификата клиента
Каждому компьютеру требуется сертификат клиента для проверки подлинности. Если сертификат клиента еще не установлен на локальном компьютере, его можно установить, выполнив следующие действия.
- Найдите сертификат клиента. Дополнительные сведения о сертификатах клиента см. в разделе "Установка сертификатов клиента".
- Установите сертификат клиента. Как правило, это можно сделать, дважды щелкнув файл сертификата и указав пароль (при необходимости).
Просмотр файлов конфигурации
Пакет конфигурации профиля VPN-клиента содержит определенные папки. Файлы в папках содержат параметры, необходимые для настройки профиля VPN-клиента на клиентском компьютере. Файлы и параметры, которые они содержат, относятся к VPN-шлюзу, а тип проверки подлинности и туннелирование VPN-шлюза настроен для использования.
Найдите и распакуйте созданный пакет конфигурации профиля VPN-клиента. Для проверки подлинности сертификата и OpenVPN должна появиться папка OpenVPN . Если папка не отображается, проверьте следующее:
- Убедитесь, что VPN-шлюз настроен для использования типа туннеля OpenVPN.
- Если вы используете проверку подлинности идентификатора Microsoft Entra, возможно, у вас нет папки OpenVPN. Вместо этого см. статью о конфигурации идентификатора Microsoft Entra.
Настройка клиента
Скачайте и установите клиент OpenVPN версии 3.x с официального веб-сайта OpenVPN.
Найдите пакет конфигурации профиля VPN-клиента, созданный и скачанный на компьютер. Извлеките пакет. Перейдите в папку OpenVPN и откройте файл конфигурации vpnconfig.ovpn с помощью Блокнота.
Затем найдите созданный дочерний сертификат. Если у вас нет сертификата, используйте одну из следующих ссылок для экспорта сертификата. Вы будете использовать сведения о сертификате на следующем шаге.
- Инструкции по работе с VPN-шлюзом
- Инструкции по работе с виртуальной глобальной сетью
Из дочернего сертификата извлеките закрытый ключ и отпечаток base64 из PFX. Существует несколько способов это сделать. Это можно сделать с помощью OpenSSL на компьютере. Файл profileinfo.txt содержит закрытый ключ, отпечаток для ЦС и сертификат клиента. Не забудьте использовать отпечаток сертификата клиента.
openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
Перейдите к файлу vpnconfig.ovpn , который вы открыли в Блокноте. Заполните раздел между
<cert>
и</cert>
, получив значения для$CLIENT_CERTIFICATE
, и$ROOT_CERTIFICATE
как показано в следующем примере.# P2S client certificate # please fill this field with a PEM formatted cert <cert> $CLIENT_CERTIFICATE $ROOT_CERTIFICATE </cert>
- Откройте в Блокноте файл profileinfo.txt с предыдущего шага. Каждый сертификат можно определить, просмотрев строку
subject=
. Например, если ваш дочерний сертификат называется P2SChildCert, сертификат клиента будет указан после атрибутаsubject=CN = P2SChildCert
. - Для каждого сертификата в цепочке скопируйте текст "-----BEGIN CERTIFICATE-----" и "-----END CERTIFICATE-----" (включая текст между ними).
- Откройте в Блокноте файл profileinfo.txt с предыдущего шага. Каждый сертификат можно определить, просмотрев строку
Откройте файл profileinfo.txt в Блокноте. Чтобы получить закрытый ключ, выделите текст между "-----BEGIN PRIVATE KEY-----" и "-----END PRIVATE KEY-----" (включая эти строки) и скопируйте его.
Вернитесь к файлу vpnconfig.ovpn в Блокноте и найдите этот раздел. Вставьте закрытый ключ, заменив все между
<key>
и</key>
.# P2S client root certificate private key # please fill this field with a PEM formatted key <key> $PRIVATEKEY </key>
Закомментируйте строку "журнал openvpn.log". Если он не закомментирован, клиент OpenVPN сообщает, что журнал больше не поддерживается. Пример профиля пользователя см. в примере о том, как закомментировать строку журнала. Закомментируя строку журнала, вы по-прежнему можете получить доступ к журналам через клиентский интерфейс OpenVPN. Чтобы получить доступ, щелкните значок журнала в правом верхнем углу пользовательского интерфейса клиента. Корпорация Майкрософт рекомендует клиентам проверять документацию по подключению OpenVPN для расположения файла журнала, так как ведение журнала контролируется клиентом OpenVPN.
Не изменяйте остальные поля. Для подключения к VPN используйте заполненную конфигурацию на входе клиента.
Импортируйте файл vpnconfig.ovpn в клиенте OpenVPN.
Щелкните правой кнопкой мыши значок OpenVPN в области системы и нажмите кнопку "Подключить".
Пример профиля пользователя
В следующем примере показан файл конфигурации профиля пользователя для клиентов OpenVPN Connect 3.x. В этом примере показан закомментирован файл журнала и добавлен параметр "ping-restart 0", чтобы предотвратить периодическое повторное подключение из-за отсутствия трафика, отправляемого клиенту.
client
remote <vpnGatewayname>.ln.vpn.azure.com 443
verify-x509-name <IdGateway>.ln.vpn.azure.com name
remote-cert-tls server
dev tun
proto tcp
resolv-retry infinite
nobind
auth SHA256
cipher AES-256-GCM
persist-key
persist-tun
tls-timeout 30
tls-version-min 1.2
key-direction 1
#log openvpn.log
#inactive 0
ping-restart 0
verb 3
# P2S CA root certificate
<ca>
-----BEGIN CERTIFICATE-----
……
……..
……..
……..
-----END CERTIFICATE-----
</ca>
# Pre Shared Key
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
……..
……..
……..
-----END OpenVPN Static key V1-----
</tls-auth>
# P2S client certificate
# Please fill this field with a PEM formatted client certificate
# Alternatively, configure 'cert PATH_TO_CLIENT_CERT' to use input from a PEM certificate file.
<cert>
-----BEGIN CERTIFICATE-----
……..
……..
……..
-----END CERTIFICATE-----
</cert>
# P2S client certificate private key
# Please fill this field with a PEM formatted private key of the client certificate.
# Alternatively, configure 'key PATH_TO_CLIENT_KEY' to use input from a PEM key file.
<key>
-----BEGIN PRIVATE KEY-----
……..
……..
……..
-----END PRIVATE KEY-----
</key>
Промежуточные сертификаты
Если цепочка сертификатов включает промежуточные сертификаты, необходимо передать промежуточные сертификаты в VPN-шлюз Azure. Это предпочтительный метод, который следует использовать независимо от VPN-клиента, который вы выбираете для подключения. В предыдущих версиях можно указать промежуточные сертификаты в профиле пользователя. Это больше не поддерживается в клиенте OpenVPN Connect версии 3.x.
При работе с промежуточными сертификатами промежуточный сертификат должен быть отправлен после корневого сертификата.
Подключается
При периодическом повторном подключении из-за отсутствия трафика, отправляемого клиенту, можно добавить параметр "ping-restart 0" в профиль, чтобы предотвратить отключение от повторного подключения. Это описано в документации OpenVPN Connect следующим образом: "--ping-restart n Аналогично --ping-exit, но активируйте SIGUSR1 перезапуск после n секунд, не получая проверки связи или другого пакета из удаленного доступа".
Пример добавления этого параметра см. в примере профиля пользователя.
Следующие шаги
Дальнейшие действия с любыми дополнительными параметрами сервера или подключения. См . инструкции по настройке "точка — сеть".