Поделиться через


Настройка подключения проверки подлинности сертификата S2S VPN-шлюз — предварительная версия

В этой статье вы используете портал Azure для создания VPN-шлюза проверки подлинности сертификата типа "сеть — сеть" (S2S) между локальной сетью и виртуальной сетью. Действия по этой конфигурации используют управляемое удостоверение, Azure Key Vault и сертификаты. Если вам нужно создать VPN-подключение типа "сеть — сеть", использующее общий ключ, см. статью "Создание VPN-подключения S2S".

Схема, показывающая vpn-шлюз типа

Предварительные требования

Примечание.

Проверка подлинности сертификата типа "сеть — сеть" не поддерживается в VPN-шлюзах SKU уровня "Базовый".

  • У вас уже есть виртуальная сеть и VPN-шлюз. Если вы этого не сделали, выполните действия по созданию VPN-шлюза, а затем вернитесь на эту страницу, чтобы настроить подключение проверки подлинности сертификата типа "сеть — сеть".

  • Убедитесь, что у вас есть совместимое VPN-устройство и пользователь, который может его настроить. Дополнительные сведения о совместимых VPN-устройствах и конфигурации устройств см. в разделе "Сведения о VPN-устройствах".

  • Убедитесь, что у вас есть общедоступный IPv4–адрес для вашего VPN–устройства.

  • Если вы не знаете диапазоны IP-адресов в своей конфигурации локальной сети, найдите того, кто сможет предоставить вам нужную информацию. При создании этой конфигурации необходимо указать префиксы диапазона IP-адресов, которые Azure направляет в локальное расположение. Ни одна из подсетей локальной сети не может перекрываться с подсетями виртуальной сети, к которым требуется подключиться.

Создать управляемое удостоверение

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

  1. В портал Azure найдите и выберите управляемые удостоверения.
  2. Нажмите кнопку создания.
  3. Введите необходимые сведения. При создании имени используйте что-то интуитивно понятное. Например, управляемая сетью или vpngwy. Вам потребуется имя для действий по настройке хранилища ключей. Группа ресурсов не должна совпадать с группой ресурсов, используемой для VPN-шлюза.
  4. Выберите Review + create (Просмотреть и создать).
  5. Значения проверяются. После завершения проверки нажмите кнопку "Создать".

Включение VPN-шлюз для Key Vault и управляемого удостоверения

В этом разделе описано, как включить шлюз для Azure Key Vault и созданное ранее управляемое удостоверение. Дополнительные сведения о Azure Key Vault см. в статье "Сведения о Azure Key Vault".

  1. На портале перейдите к шлюзу виртуальной сети (VPN-шлюзу).
  2. Перейдите в раздел "Параметры" —> конфигурация. На странице "Конфигурация" укажите следующие параметры проверки подлинности:
    • Включение доступа к Key Vault: включено.
    • Управляемое удостоверение: выберите созданное ранее управляемое удостоверение.
  3. Сохраните свои настройки.

Создание локального сетевого шлюза

Шлюз локальной сети — это конкретный объект, который представляет локальное расположение (сайт) для целей маршрутизации. Вы предоставляете сайту имя, с помощью которого Azure может ссылаться на него, а затем укажите IP-адрес локального VPN-устройства, к которому создается подключение. Вы также указываете префиксы IP-адреса, которые направляются через VPN-шлюз на VPN-устройство. Указываемые префиксы адресов расположены в локальной сети. Если вы внесли изменения в локальной сети или вам нужно изменить общедоступный IP-адрес для VPN-устройства, значения можно легко обновить позже.

Примечание.

Объект шлюза локальной сети развертывается в Azure, а не в локальном расположении.

Создайте шлюз локальной сети с помощью следующих значений:

  • Имя: Site1
  • Группа ресурсов: TestRG1.
  • Расположение: восточная часть США.

Рекомендации по конфигурации:

  • VPN-шлюз поддерживает только один IPv4-адрес для каждого полного доменного имени. Если доменное имя разрешается на несколько IP-адресов, VPN-шлюз использует первый IP-адрес, возвращаемый DNS-серверами. Чтобы устранить такую неопределенность, мы рекомендуем всегда разрешать полное доменное имя на один IPv4-адрес. IPv6 не поддерживается.
  • VPN-шлюз поддерживает кэш DNS, обновляемый каждые 5 минут. Шлюз пытается разрешить полные доменные имена только для отключенных туннелей. Сброс шлюза также активирует полное доменное имя.
  • Хотя VPN-шлюз поддерживает несколько подключений к разным шлюзам локальной сети с разными полными доменными именами, все полные доменные имена должны разрешаться для разных IP-адресов.
  1. На портале перейдите к шлюзам локальной сети и откройте страницу "Создание шлюза локальной сети".

  2. На вкладке Основные сведения укажите значения для шлюза локальной сети.

    Снимок экрана: создание шлюза локальной сети с IP-адресом.

    • Подписка — убедитесь, что указана правильная подписка.
    • Группа ресурсов: выберите группу ресурсов, которую вы хотите использовать. Вы можете создать новую группу ресурсов или выбрать уже существующую.
    • Регион: выберите регион для этого объекта. Может потребоваться выбрать то же расположение, где находится виртуальная сеть, но это не требуется.
    • Имя — укажите имя для объекта шлюза локальной сети.
    • Конечная точка: выберите тип конечной точки для локального VPN-устройства в качестве IP-адреса или полного доменного имени (полное доменное имя).
      • IP-адрес. Если у вас есть статический общедоступный IP-адрес, выделенный поставщиком услуг Интернета (ISP) для VPN-устройства, выберите параметр IP-адреса. Заполните IP-адрес, как показано в примере. Этот адрес — это общедоступный IP-адрес VPN-устройства, к которому требуется подключиться к Azure VPN-шлюз. Если у вас нет IP-адреса прямо сейчас, можно использовать значения, показанные в примере. Позже необходимо вернуться и заменить заполнитель IP-адрес общедоступным IP-адресом VPN-устройства. В противном случае Azure не удается подключиться.
      • Полное доменное имя. Если у вас есть динамический общедоступный IP-адрес, который может измениться через определенный период времени, часто определяемый поставщиком услуг интернета вещей, можно использовать постоянное DNS-имя с динамическим DNS-службой, чтобы указать текущий общедоступный IP-адрес vpn-устройства. VPN-шлюз Azure разрешает полное доменное имя, чтобы определить общедоступный IP-адрес для подключения.
    • Адресное пространство: адресное пространство ссылается на диапазоны адресов для сети, представляющей эту локальную сеть. Можно добавить несколько диапазонов пространства адресов. Убедитесь, что указанные диапазоны не перекрывают диапазоны других сетей, к которым необходимо подключиться. Azure направляет диапазон адресов, указанный в IP-адрес локального VPN-устройства. Чтобы подключиться к локальному сайту, используйте здесь собственные значения, а не значения из примера.
  3. На вкладке "Дополнительно" можно настроить параметры BGP при необходимости.

  4. После указания значений нажмите кнопку "Проверить и создать " в нижней части страницы, чтобы проверить страницу.

  5. Нажмите кнопку Создать, чтобы создать объект шлюза локальной сети.

Сертификаты

Архитектура проверки подлинности сертификата типа "сеть — сеть" зависит от входящих и исходящих сертификатов.

Примечание.

Входящие и исходящие сертификаты не должны создаваться из одного корневого сертификата.

Исходящий сертификат

  • Исходящий сертификат используется для проверки подключений из Azure к локальному сайту.
  • Сертификат хранится в Azure Key Vault. При настройке подключения типа "сеть — сеть" укажите идентификатор пути исходящего сертификата.
  • Вы можете создать сертификат с помощью выбранного центра сертификации или создать самозаверяющий корневой сертификат.

При создании исходящего сертификата сертификат должен соответствовать следующим рекомендациям:

  • Минимальная длина ключа 2048 бит.
  • Должен иметь закрытый ключ.
  • Должен иметь проверку подлинности сервера и клиента.
  • Должен иметь имя субъекта.

Входящий сертификат

  • При подключении из локального расположения к Azure используется входящий сертификат.
  • Значение имени субъекта используется при настройке подключения типа "сеть — сеть".
  • Открытый ключ цепочки сертификатов указывается при настройке подключения типа "сеть — сеть".

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

Используйте PowerShell локально на компьютере для создания сертификатов. Ниже показано, как создать самозаверяющий корневой сертификат и конечные сертификаты (входящий и исходящий). При использовании следующих примеров не закрывайте окно PowerShell между созданием самозаверяющего корневого ЦС и конечными сертификатами.

Создание самозаверяющего корневого сертификата

Используйте командлет New-SelfSignedCertificate для создания самозаверяющего корневого сертификата. Дополнительные сведения о параметрах см. в разделе New-SelfSignedCertificate.

  1. На компьютере с Windows 10 или более поздней версией или Windows Server 2016 откройте консоль Windows PowerShell с более высоким уровнем привилегий.

  2. Создайте самозаверяющий корневой сертификат. В следующем примере создается самозаверяющий корневой сертификат с именем VPNRootCA01, который автоматически устанавливается в "Certificates-Current User\Personal\Certificates". После создания сертификата его можно просмотреть, открыв certmgr.msc или управляя сертификатами пользователей.

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

    $params = @{
        Type = 'Custom'
        Subject = 'CN=VPNRootCA01'
        KeySpec = 'Signature'
        KeyExportPolicy = 'Exportable'
        KeyUsage = 'CertSign'
        KeyUsageProperty = 'Sign'
        KeyLength = 2048
        HashAlgorithm = 'sha256'
        NotAfter = (Get-Date).AddMonths(120)
        CertStoreLocation = 'Cert:\CurrentUser\My'
        TextExtension = @('2.5.29.19={critical}{text}ca=1&pathlength=4')
    }
    $cert = New-SelfSignedCertificate @params
    
  3. Чтобы создать конечные сертификаты, оставьте консоль PowerShell открытой и выполните следующие действия.

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

В этих примерах используется командлет New-SelfSignedCertificate для создания исходящих и входящих конечных сертификатов. Сертификаты автоматически устанавливаются в "Сертификаты — текущий пользователь\Личные\сертификаты" на компьютере.

Исходящий сертификат


   $params = @{
       Type = 'Custom'
       Subject = 'CN=Outbound-certificate'
       KeySpec = 'Signature'
       KeyExportPolicy = 'Exportable'
       KeyLength = 2048
       HashAlgorithm = 'sha256'
       NotAfter = (Get-Date).AddMonths(120)
       CertStoreLocation = 'Cert:\CurrentUser\My'
       Signer = $cert
       TextExtension = @(
        '2.5.29.37={text}1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.1')
   }
   New-SelfSignedCertificate @params

Входящий сертификат


   $params = @{
       Type = 'Custom'
       Subject = 'CN=Inbound-certificate'
       KeySpec = 'Signature'
       KeyExportPolicy = 'Exportable'
       KeyLength = 2048
       HashAlgorithm = 'sha256'
       NotAfter = (Get-Date).AddMonths(120)
       CertStoreLocation = 'Cert:\CurrentUser\My'
       Signer = $cert
       TextExtension = @(
        '2.5.29.37={text}1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.1')
   }
   New-SelfSignedCertificate @params

Исходящий сертификат — экспорт данных закрытого ключа

Экспортируйте сведения о исходящем сертификате (с закрытым ключом) в PFX-файл или PEM-файл. Эти сведения о сертификате безопасно передаются в Azure Key Vault на последующих шагах. Чтобы экспортировать в PFX с помощью Windows, выполните следующие действия.

  1. Чтобы получить CER-файл сертификата, откройте окно Управление сертификатами пользователей.

  2. Найдите исходящий сертификат, как правило, в сертификатах — текущий пользователь\Личный\Сертификаты и щелкните правой кнопкой мыши. Выберите все задачи ->Экспорт. Откроется мастера экспорта сертификатов.

  3. В мастере нажмите кнопку Далее.

  4. Выберите Да, экспортировать закрытый ключ, а затем нажмите кнопку Далее.

  5. На странице "Формат файла экспорта" выберите PKCS #12 (PFX). Выберите следующие элементы:

    • Включить по возможности все сертификаты в путь сертификации
    • Экспортировать все расширенные свойства
    • Включить конфиденциальность сертификата
  6. Выберите Далее. На странице "Безопасность" выберите пароль и метод шифрования. Затем выберите Далее.

  7. Укажите имя файла и перейдите к расположению, в которое нужно экспортировать.

  8. Нажмите кнопку "Готово ", чтобы экспортировать сертификат.

  9. Вы увидите подтверждение о том, что экспорт выполнен успешно.

Входящий сертификат — экспорт данных открытого ключа

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

  1. Чтобы получить CER-файл сертификата, откройте окно Управление сертификатами пользователей.
  2. Найдите сертификат, как правило, в сертификатах — текущий пользователь\Личный\Сертификаты и щелкните правой кнопкой мыши. Выберите все задачи ->Экспорт. Откроется мастера экспорта сертификатов.
  3. В мастере нажмите кнопку Далее.
  4. Выберите "Нет", не экспортируйте закрытый ключ. Затем выберите Далее.
  5. Выберите в кодировке Base-64 X.509 (). CER), а затем нажмите кнопку "Далее".
  6. Укажите имя файла и перейдите к расположению, в которое нужно экспортировать.
  7. Нажмите кнопку "Готово ", чтобы экспортировать сертификат.
  8. Вы увидите подтверждение о том, что экспорт выполнен успешно.
  9. Этот .cer файл используется позже при настройке подключения.

Корневой сертификат — экспорт данных открытого ключа

Экспортируйте данные открытого ключа для корневого сертификата. Экспортированные файлы должны находиться в .cer формате. Не шифруйте значение сертификата.

  1. Чтобы получить CER-файл сертификата, откройте окно Управление сертификатами пользователей.
  2. Найдите сертификат, как правило, в сертификатах — текущий пользователь\Личный\Сертификаты и щелкните правой кнопкой мыши. Выберите все задачи ->Экспорт. Откроется мастера экспорта сертификатов.
  3. В мастере нажмите кнопку Далее.
  4. Выберите "Нет", не экспортируйте закрытый ключ. Затем выберите Далее.
  5. Выберите в кодировке Base-64 X.509 (). CER), а затем нажмите кнопку "Далее".
  6. Укажите имя файла и перейдите к расположению, в которое нужно экспортировать.
  7. Нажмите кнопку "Готово ", чтобы экспортировать сертификат.
  8. Вы увидите подтверждение о том, что экспорт выполнен успешно.
  9. Этот .cer файл используется позже при настройке подключения.

Создание хранилища ключей

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

  1. В портал Azure найдите Key Vault. На странице "Хранилища ключей" нажмите кнопку +Создать.
  2. На странице "Создание хранилища ключей" укажите необходимые сведения. Группа ресурсов не должна совпадать с группой ресурсов, используемой для VPN-шлюза.
  3. На вкладке "Конфигурация доступа" для модели разрешений выберите политику доступа Vault.
  4. Не заполняйте ни одно из других полей.
  5. Выберите "Просмотр и создание", а затем создайте хранилище ключей.

Добавление файла исходящего сертификата в хранилище ключей

Следующие действия помогут передать сведения о исходящем сертификате в Azure Key Vault.

  1. Перейдите в хранилище ключей. В левой области откройте страницу "Сертификаты ".
  2. На странице "Сертификаты" нажмите кнопку +Создать или импортировать.
  3. Для метода создания сертификата выберите "Импорт " в раскрывающемся списке.
  4. Введите интуитивно понятное имя сертификата. Это не обязательно должен быть сертификат CN или имя файла сертификата.
  5. Отправьте файл исходящего сертификата. Файл сертификата должен находиться в одном из следующих форматов:
    • PFX
    • .pfm
  6. Введите пароль, используемый для защиты сведений о сертификате.
  7. Нажмите кнопку "Создать", чтобы отправить файл сертификата.

Добавление управляемого удостоверения в хранилище ключей

  1. Перейдите в хранилище ключей. На левой панели откройте страницу политик доступа.
  2. Нажмите кнопку +Создать.
  3. На странице "Создание политики доступа" для параметров управления секретами и операций управления сертификатами выберите все.
  4. Нажмите кнопку "Далее", чтобы перейти на страницу "Субъект*".
  5. На странице "Субъект" выполните поиск и выберите созданное ранее управляемое удостоверение.
  6. Нажмите кнопку "Далее " и перейдите на страницу "Просмотр и создание ". Нажмите кнопку создания.

Настройка устройства VPN

Для подключения "сеть — сеть" к локальной сети требуется VPN-устройство. На этом шаге настройте VPN-устройство. При настройке VPN-устройства вам потребуется следующее:

  • Сертификат. Вам потребуются данные сертификата, используемые для проверки подлинности. Этот сертификат также будет использоваться в качестве входящего сертификата при создании VPN-подключения.
  • Значения общедоступных IP-адресов для шлюза виртуальной сети. Чтобы найти общедоступный IP-адрес для экземпляра виртуальной машины VPN-шлюза с помощью портал Azure, перейдите к шлюзу виртуальной сети и просмотрите раздел "Параметры -> Свойства". Если у вас есть шлюз активно-активного режима (рекомендуется), обязательно настройте туннели для каждого экземпляра виртуальной машины. Оба туннеля являются частью одного подключения. VPN-шлюзы в режиме "активный— активный" имеют два общедоступных IP-адреса, по одному для каждого экземпляра виртуальной машины шлюза.

В зависимости от используемого VPN-устройства можно скачать скрипт конфигурации VPN-устройства. Дополнительные сведения см. в статье о скачивании скриптов конфигурации для VPN-устройств.

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

Создание подключения типа "сеть — сеть"

В этом разделе описано, как создать VPN-подключение типа "сеть — сеть" между шлюзом виртуальной сети и локальным VPN-устройством.

Сбор значений конфигурации

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

  • Путь к исходящему сертификату: это путь к исходящему сертификату. Исходящий сертификат — это сертификат, используемый при подключении из Azure к локальному расположению. Эти сведения содержатся в том же сертификате, который вы отправили в Azure Key Vault.

    1. Перейдите в Key Vault и щелкните хранилище ключей . В левой области разверните " Объекты " и выберите "Сертификаты".
    2. Найдите и щелкните сертификат, чтобы открыть страницу сертификата.
    3. Щелкните строку для версии сертификата.
    4. Скопируйте путь рядом с идентификатором ключа. Путь зависит от сертификата.

    Пример: https://s2s-vault1.vault.azure.net/certificates/site-to-site/<certificate-value>

  • Имя субъекта входящего сертификата: это CN для входящего сертификата. Чтобы найти это значение, выполните указанные ниже действия.

    1. Если вы создали сертификат на компьютере Windows, его можно найти с помощью управления сертификатами.
    2. Перейдите на вкладку "Сведения". Прокрутите страницу и нажмите кнопку "Тема". В нижней области отображаются значения.
    3. Не включайте CN= в значение.
  • Цепочка входящих сертификатов. Эти сведения о сертификате используются только для проверки входящего сертификата и не содержат закрытые ключи. В разделе входящего сертификата портала всегда должно быть по крайней мере два сертификата.

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

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

    1. Чтобы извлечь данные сертификата, убедитесь, что вы экспортировали входящий сертификат в кодировке Base-64 x.509 (). CER- файл на предыдущих шагах. Это позволит открыть сертификат в текстовом редакторе.

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

    3. Скопируйте данные, перечисленные между -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- и одной непрерывной строкой, в поле цепочки входящих сертификатов при создании подключения.

      Пример:

      Снимок экрана: сведения о промежуточном сертификате в Блокноте.

Создать подключение

  1. Перейдите к созданному шлюзу виртуальной сети и выберите "Подключения".

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

  3. На странице "Создание подключения" на вкладке "Основные сведения" настройте значения для подключения:

    • В разделе "Сведения о проекте" выберите подписку и группу ресурсов, в которой находятся ресурсы.

    • В разделе "Сведения об экземпляре" настройте следующие параметры:

      • Тип подключения: выберите Сеть — сеть (IPSec).
      • Имя — имя подключения. Пример: виртуальная сеть — сеть 1.
      • Регион: выберите регион этого подключения.
  4. Выберите вкладку Параметры.

    Снимок экрана: страница параметров.

    Задайте следующие значения.

    • Шлюз виртуальной сети: выберите шлюз виртуальной сети из раскрывающегося списка.
    • Шлюз локальной сети: выберите шлюз локальной сети из раскрывающегося списка.
    • Метод проверки подлинности: выбор сертификата Key Vault.
    • Путь к исходящему сертификату: путь к исходящему сертификату, расположенному в Key Vault. Метод получения этой информации находится в начале этого раздела.
    • Имя субъекта входящего сертификата: CN для входящего сертификата. Метод получения этой информации находится в начале этого раздела.
    • Цепочка входящих сертификатов: данные сертификата, скопированные из .cer файла. Скопируйте и вставьте сведения о сертификате для входящего сертификата. Метод получения этой информации находится в начале этого раздела.
    • Протокол IKE: select IKEv2.
    • Используйте частный IP-адрес Azure: не выбирайте.
    • Включить BGP: включить только в том случае, если вы хотите использовать BGP.
    • Политика IPsec/IKE: выберите значение по умолчанию.
    • Используйте селектор трафика на основе политики: нажмите кнопку "Отключить".
    • Время ожидания DPD в секундах: выберите 45.
    • Режим подключения: выберите значение по умолчанию. Этот параметр используется для указания того, какой шлюз может инициировать подключение. Дополнительные сведения см. в разделе VPN-шлюз параметров — режимы подключения.
    • Для ассоциаций правил NAT оставьте как входящий, так и исходящий трафик, как выбрано значение 0.
  5. Выберите "Проверить и создать ", чтобы проверить параметры подключения, а затем нажмите кнопку "Создать ", чтобы создать подключение.

  6. После завершения развертывания можно просмотреть подключение на странице "Подключения " шлюза виртуальной сети. Состояние изменяется с "Неизвестно" на "Подключение", а затем на "Успешно".

Следующие шаги

После завершения подключения можно добавить виртуальные машины в виртуальные сети. Дополнительные сведения о виртуальных машинах см. здесь. Дополнительные сведения о сетях и виртуальных машинах см. в статье Azure и Linux: обзор сетей виртуальных машин.

Дополнительные сведения см. в руководстве по устранению неполадок подключения типа "точка — сеть" в Azure.