Создание и установка файлов конфигурации VPN-клиента для настройки подключений типа "точка — сеть" с использованием собственной аутентификации Azure на основе сертификата

Файлы конфигурации VPN-клиента содержатся в ZIP-файле. Эти файлы содержат параметры, требуемые при подключениях "точка — сеть" между собственными VPN-клиентами IKEv2 Windows, Linux или Mac и виртуальной сетью с использованием собственной аутентификации Azure на основе сертификата.

Файлы конфигурации клиента связаны с VPN-конфигурацией для виртуальной сети. Если вы создали файлы конфигурации VPN-клиента, а затем внесли изменения в конфигурацию VPN-подключения типа "точка — сеть" (например, изменили тип VPN-протокола или аутентификации), создайте новую конфигурацию VPN-клиента на устройствах пользователей.

Важно!

Начиная с 1 июля 2018 года прекращается поддержка TLS 1.0 и TLS 1.1 в VPN-шлюзе Azure. VPN-шлюз будет поддерживать только TLS 1.2. Затрагиваются только подключения "точка — сеть". Подключения "сеть — сеть" не затрагиваются. Если вы используете TLS для VPN-подключений "точка — сеть" на клиентах Windows 10, не нужно предпринимать никаких действий. Если вы используете TLS для подключений "точка — сеть" клиентов Windows 7 и Windows 8, обратитесь к разделу Собственная аутентификация Azure с использованием сертификата для подключений типа "точка — сеть" за инструкциями по обновлению.

Создание файлов конфигурации VPN-клиента

Перед подключением убедитесь, что на устройствах всех пользователей установлены действительные сертификаты. См. инструкции по установке сертификата клиента.

Вы можете создать файлы конфигурации клиента с помощью PowerShell или с помощью портала Azure. И в первом, и во втором случае возвращается один и тот же ZIP-файл. Распакуйте файл. Отобразятся следующие папки:

  • WindowsAmd64 и WindowsX86. Эти папки содержат пакеты установщика 32- и 64-разрядной версий Windows. Пакет установщика WindowsAmd64 предназначен для всех поддерживаемых 64-разрядных клиентов Windows, не только Amd.
  • Generic. Эта папка содержит общие сведения для создания собственной конфигурации VPN-клиента. Эта папка доступна, если для шлюза настроены протоколы IKEv2 и SSTP+IKEv2. Если настроен только протокол SSTP, эта папка отсутствует.

Создание файлов с помощью портала Azure

  1. На портале Azure перейдите в шлюз виртуальной сети, к которой необходимо подключиться.

  2. На странице шлюза виртуальной сети выберите Конфигурация "точка — сеть" .

    Скачивание VPN-клиента

  3. В верхней части страницы конфигурации "точка — сеть" выберите Скачать VPN-клиент. Пакет конфигурации клиента создается несколько минут.

  4. В браузере появится сообщение о том, что ZIP-файл конфигурации клиента доступен. Он имеет то же имя, что и шлюз. Распакуйте файл. После этого отобразятся папки.

Создание файлов с помощью PowerShell

  1. При создании файлов конфигурации VPN-клиента установите для параметра AuthenticationMethod значение EapTls. Создайте конфигурацию VPN-клиента с помощью следующей команды:

    $profile=New-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" -AuthenticationMethod "EapTls"
    
    $profile.VPNProfileSASUrl
    
  2. Скопируйте URL-адрес в браузер, чтобы скачать ZIP-файл, а затем распакуйте файл для просмотра папок.

Windows

На каждом клиентском компьютере Windows можно использовать один и тот же пакет конфигурации VPN-клиента, если его версия соответствует архитектуре клиента. Список поддерживаемых клиентских операционных систем см. в разделе с описанием подключений типа "точка — сеть" в статье VPN-шлюз: вопросы и ответы.

Примечание

Вам потребуются права администратора для клиентского компьютера Windows, с которого устанавливается подключение.

Чтобы настроить в Windows собственный VPN-клиент для аутентификации на основе сертификата, сделайте следующее:

  1. Выберите файлы конфигурации VPN-клиента, которые соответствуют архитектуре компьютера Windows. Для 64-разрядной архитектуры процессора выберите пакет установщика VpnClientSetupAmd64. Для 32-разрядной архитектуры процессора выберите пакет установщика VpnClientSetupX86.
  2. Дважды щелкните пакет, чтобы установить его. При появлении всплывающего окна SmartScreen щелкните Дополнительно, а затем выберите Выполнить в любом случае.
  3. На клиентском компьютере перейдите в раздел Параметры сети и щелкните VPN. Для VPN-подключения отображается имя виртуальной сети, к которой оно устанавливается.
  4. Перед попыткой подключения убедитесь, что вы установили сертификат клиента на клиентском компьютере. Сертификат клиента требуется при использовании собственной аутентификации Azure на основе сертификата.

Mac (OS X)

Необходимо вручную настроить VPN-клиент IKEv2 на каждом компьютере Mac, который будет подключаться к Azure. Azure не предоставляет файл mobileconfig для собственной аутентификации Azure на основе сертификата. В папке Generic содержатся все необходимые для конфигурации сведения. Если папки Generic нет в скачанных файлах, вполне вероятно, что IKEv2 не был выбран в качестве типа туннеля. Обратите внимание, что VPN-шлюз со SKU "Базовый" не поддерживает IKEv2. Выбрав IKEv2, создайте ZIP-файл еще раз для получения папки Generic.
Эта папка содержит следующие файлы:

  • Файл VpnSettings.xml — содержит такие важные параметры, как адрес сервера и тип туннеля.
  • Файл VpnServerRoot.cer — содержит корневой сертификат, который требуется для проверки VPN-шлюза Azure при настройке подключения типа "точка — сеть".

Чтобы настроить на устройстве Mac собственный VPN-клиент для аутентификации на основе сертификата, сделайте следующее: Выполните следующие действия на каждом компьютере Mac, который будет подключаться к Azure:

  1. Импортируйте корневой сертификат VpnServerRoot на компьютер Mac. Для этого скопируйте файл на устройство Mac и дважды щелкните его. Чтобы выполнить импорт, щелкните Добавить.

    Снимок экрана: страница "Сертификаты"

    Примечание

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

  2. Убедитесь, что вы установили сертификат клиента, выданный с использованием корневого сертификата, который вы передали в Azure при настройке параметров подключения типа "точка — сеть". Это не сертификат VPNServerRoot, который вы установили на предыдущем шаге. Этот сертификат клиента требуется для аутентификации. Дополнительную информацию о создании сертификатов см. в разделе Настройка подключения "точка — сеть" к виртуальной сети с использованием собственной аутентификации Azure на основе сертификата и портала Azure. Инструкции по установке сертификата клиента см. в разделе Установка сертификата клиента для аутентификации Azure на основе сертификата при подключениях типа "точка — сеть".

  3. Откройте диалоговое окно Network (Сеть) и в разделе Network Preferences (Параметры сети) щелкните + , чтобы создать профиль подключения типа "точка — сеть" между VPN-клиентом и виртуальной сетью Azure.

    Установите следующие значения: для параметра Interface (Интерфейс) — VPN, для VPN Type (Тип VPN) — IKEv2. Укажите имя профиля в поле Service Name (Имя службы), а затем нажмите кнопку Create (Создать), чтобы создать профиль подключения VPN-клиента.

    Снимок экрана, на котором показано окно сети для выбора интерфейса, выбора типа VPN и ввода имени службы.

  4. В папке Generic из файла VpnSettings.xml скопируйте значение тега VpnServer. Вставьте это значение в поля профиля Server Address (Адрес сервера) и Remote ID (Удаленный ИД).

    Снимок экрана, на котором показаны сведения о сервере.

  5. Выберите Authentication Settings (Параметры проверки подлинности), а затем — Certificate (Сертификат). Для Catalina выберите No (Нет), затем — Certificate (Сертификат).

    Снимок экрана, на котором показаны параметры проверки подлинности.

    Для Catalina выберите No (Нет), затем — Certificate (Сертификат). Выберите правильный сертификат:

    Снимок экрана, на котором показано окно "Сеть", где для параметра "Проверка подлинности" указано "Нет" и выбран пункт "Сертификат".

  6. Щелкните Select… (Выбрать), чтобы выбрать сертификат клиента, который будет использоваться для аутентификации. Это сертификат, установленный на шаге 2.

    Снимок экрана, на котором показано окно "Сеть", с параметрами проверки подлинности, где можно выбрать сертификат.

  7. В окне Choose An Identity (Выбор удостоверения) отобразится список доступных сертификатов. Выберите нужный сертификат, а затем нажмите кнопку Continue (Продолжить).

    Снимок экрана, на котором показано диалоговое окно "Выбор удостоверения", в котором можно выбрать нужный сертификат.

  8. В поле Local ID (Локальный идентификатор) укажите имя сертификата (из шага 6). В нашем примере поисковый запрос будет выглядеть так: ikev2Client.com. Щелкните Apply (Применить), чтобы сохранить изменения.

    Снимок экрана, на котором показана кнопка "Применить".

  9. В диалоговом окне Network (Сеть) выберите Apply (Применить), чтобы сохранить все изменения. Затем выберите Connect (Подключиться), чтобы установить подключение "точка — сеть" к виртуальной сети Azure.

Linux (графический пользовательский интерфейс strongSwan)

Установка strongSwan

Для приведенных ниже действий использовалась следующая конфигурация.

  • Компьютер: Ubuntu Server 18,04
  • Зависимости: strongSwan

Чтобы установить необходимую конфигурацию strongSwan, используйте следующие команды:

sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins

Чтобы установить интерфейс командной строки Azure, используйте следующую команду:

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Дополнительные инструкции по установке Azure CLI

Создание сертификатов

Если вы еще не создали сертификаты, выполните указанные ниже действия.

Создайте сертификат ЦС.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

Выведите на экран сертификат ЦС в формате base64. Это формат, поддерживаемый Azure. Этот сертификат нужно загрузить в Azure при выполнении шагов по конфигурации подключения типа "точка — сеть".

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

Создайте сертификат пользователя.

export PASSWORD="password"
export USERNAME="client"

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

Создайте пакет p12, содержащий сертификат пользователя. Этот пакет понадобится на следующих шагах при работе с файлами конфигурации клиента.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

Установка и настройка.

Приведенные ниже инструкции были созданы в Ubuntu 18.0.4. Ubuntu 16.0.10 не поддерживает графический пользовательский интерфейс strongSwan. Использовать Ubuntu 16.0.10 можно только с помощью командной строки. В зависимости от версии Linux и strongSwan указанные ниже примеры могут отличаться от экранов, которые вы видите.

  1. Откройте приложение Terminal, чтобы установить strongSwan и его Network Manager, выполнив команду из примера.

    sudo apt install network-manager-strongswan
    
  2. Выберите Settings (Параметры), а затем — Network (Сеть). Нажмите кнопку + , чтобы создать подключение.

    Снимок экрана, на котором показана страница сетевых подключений.

  3. В меню выберите IPSec/IKEv2 (strongSwan) и дважды щелкните.

    Снимок экрана, на котором показана страница добавления VPN.

  4. На странице Add VPN (Добавление VPN) добавьте имя VPN-подключения.

    Снимок экрана, на котором показан выбор типа подключения.

  5. Откройте файл VpnSettings.xml из папки Generic в скачанных файлах конфигурации клиента. Найдите тег VpnServer и скопируйте имя, начиная с azuregateway и заканчивая .cloudapp.net.

    Снимок экрана, на котором показан интерфейс копирования данных.

  6. Вставьте это имя в поле Address (Адрес) нового VPN-подключения в разделе Gateway (Шлюз). Затем щелкните значок папки в конце поля Certificate (Сертификат), перейдите в папку Generic и выберите файл VpnServerRoot.

  7. В разделе Client (Клиент) подключения для параметра Authentication (Аутентификация) выберите Certificate/private key (Сертификат/закрытый ключ). Для параметров Certificate (Сертификат ) и Private key (Закрытый ключ) выберите созданные ранее сертификат и закрытый ключ. В разделе Options (Параметры) выберите Request an inner IP address (Запросить внутренний IP-адрес). а затем щелкните Добавить.

    Снимок экрана, на котором показан интерфейс запроса внутреннего IP-адреса.

  8. Включите подключение.

    Снимок экрана, на котором показано копирование.

Linux (strongSwan CLI)

Установка strongSwan

Для приведенных ниже действий использовалась следующая конфигурация.

  • Компьютер: Ubuntu Server 18,04
  • Зависимости: strongSwan

Чтобы установить необходимую конфигурацию strongSwan, используйте следующие команды:

sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins

Чтобы установить интерфейс командной строки Azure, используйте следующую команду:

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Дополнительные инструкции по установке Azure CLI

Создайте сертификаты.

Если вы еще не создали сертификаты, выполните указанные ниже действия.

Создайте сертификат ЦС.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

Выведите на экран сертификат ЦС в формате base64. Это формат, поддерживаемый Azure. Этот сертификат нужно загрузить в Azure при выполнении шагов по конфигурации подключения типа "точка — сеть".

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

Создайте сертификат пользователя.

export PASSWORD="password"
export USERNAME="client"

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

Создайте пакет p12, содержащий сертификат пользователя. Этот пакет понадобится на следующих шагах при работе с файлами конфигурации клиента.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

Установка и настройка.

  1. Загрузите пакет VPN-клиента с портала Azure.

  2. Извлеките файл.

  3. Из папки Generic копируйте или переместите файл VpnServerRoot.cer в папку /etc/ipsec.d/cacerts.

  4. Скопируйте или переместите файл cp client.p12 в папку /etc/ipsec.d/private/ . Этот файл является сертификатом клиента для VPN-шлюза.

  5. Откройте файл VpnSettings.xml и скопируйте значение <VpnServer>. Это значение потребуется на следующем шаге.

  6. Измените значения в приведенном ниже примере, а затем добавьте этот код в файл конфигурации /etc/ipsec.conf.

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          leftauth=eap-tls
          leftid=%client # use the DNS alternative name prefixed with the %
          right= Enter the VPN Server value here# Azure VPN gateway address
          rightid=% # Enter the VPN Server value here# Azure VPN gateway FQDN with %
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
    
  7. Добавьте следующие значения в файл /etc/ipsec.secrets.

    : P12 client.p12 'password' # key filename inside /etc/ipsec.d/private directory
    
  8. Выполните следующие команды:

    # ipsec restart
    # ipsec up azure
    

Дальнейшие действия

Вернитесь к исходной статье, из которой вы перешли, а затем завершите настройку P2S.