Создание VPN-подключения типа "сеть — сеть" — проверка подлинности с общим ключом — Azure CLI
В этой статье показано, как использовать Azure CLI для создания vpn-шлюза типа "сеть — сеть" (S2S) из локальной сети в виртуальную сеть. Вы также можете создать эту конфигурацию с помощью другого средства развертывания, выбрав другой вариант из следующего списка:
Подключение VPN-шлюза типа "сеть — сеть" используется для подключения локальной сети к виртуальной сети Azure через VPN-туннель IPsec/IKE (IKEv1 или IKEv2). Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес. Дополнительные сведения о VPN-шлюзах см. в этой статье.
Подготовка к работе
Убедитесь, что среда соответствует следующим критериям перед началом настройки:
- У вас есть учетная запись Azure с активной подпиской. Если у вас нет учетной записи, вы можете создать ее бесплатно.
- Если вы не знаете диапазоны IP-адресов в своей конфигурации локальной сети, найдите того, кто сможет предоставить вам нужную информацию. При создании этой конфигурации необходимо указать префиксы диапазона IP-адресов, которые Azure направляет в локальное расположение. Ни одна из подсетей локальной сети не может перекрываться с подсетями виртуальной сети, к которым требуется подключиться.
- VPN-устройства:
- Убедитесь, что у вас есть совместимое VPN-устройство и пользователь, который может его настроить. Дополнительные сведения о совместимых VPN-устройствах и конфигурации устройств см. в разделе "Сведения о VPN-устройствах".
- Проверьте, поддерживает ли VPN-устройство шлюзы активно-активного режима. В этой статье создается VPN-шлюз активного режима, который рекомендуется для высокодоступного подключения. Режим "Активный— активный" указывает, что оба экземпляра виртуальной машины шлюза активны. В этом режиме требуется два общедоступных IP-адреса, по одному для каждого экземпляра виртуальной машины шлюза. Vpn-устройство настроено для подключения к IP-адресу для каждого экземпляра виртуальной машины шлюза.
Если VPN-устройство не поддерживает этот режим, не включите этот режим для шлюза. Дополнительные сведения см. в разделе "Проектирование высокодоступного подключения" для подключений между локальными и виртуальными сетями и VPN-шлюзов "О активном режиме".
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для работы с этой статьей требуется Azure CLI версии 2.0 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Подключение к подписке
Для локального выполнения интерфейса командной строки необходимо подключиться к подписке. Если вы используете Azure Cloud Shell в браузере, вам не нужно подключаться к вашей подписке. Однако после подключения может потребоваться убедиться, что вы используете правильную подписку.
Войдите в свою подписку Azure с помощью команды az login и следуйте инструкциям на экране. Дополнительные сведения о входе в систему см. в статье Начало работы с Azure CLI.
az login
Если у вас есть несколько подписок Azure, укажите подписки для этой учетной записи.
az account list --all
укажите подписку, которую нужно использовать;
az account set --subscription <replace_with_your_subscription_id>
Создание или изменение группы ресурсов
В следующем примере создается группа ресурсов с именем TestRG1 в расположении eastus. Если у вас уже есть группа ресурсов в регионе, который вы хотите создать виртуальную сеть, можно использовать ее.
az group create --name TestRG1 --location eastus
Создание виртуальной сети
Если у вас еще нет виртуальной сети, создайте ее, используя команду az network vnet create. При создании виртуальной сети убедитесь, что указанные адресные пространства не перекрываются ни с одним из адресных пространств, которые используются в локальной сети.
Примечание.
Чтобы эта виртуальная сеть была подключена к локальному расположению, необходимо координировать работу с локальным администратором сети, чтобы определить диапазон IP-адресов, который можно использовать специально для этой виртуальной сети. Если повторяющийся диапазон адресов существует на обеих сторонах VPN-подключения, трафик не будет маршрутизироваться должным образом. Кроме того, если вы хотите подключить эту виртуальную сеть к другой виртуальной сети, адресное пространство не может перекрываться с другой виртуальной сетью. Спланируйте конфигурацию сети соответствующим образом.
В следующем примере создается виртуальная сеть с именем "VNet1" и подсеть "Подсеть1".
az network vnet create --name VNet1 --resource-group TestRG1 --address-prefix 10.1.0.0/16 --location eastus --subnet-name Subnet1 --subnet-prefix 10.1.0.0/24
Создание подсети шлюза
Шлюз виртуальной сети использует определенную подсеть, которая называется подсетью шлюза. Подсеть шлюза входит в диапазон IP-адресов виртуальной сети, который вы указываете при ее настройке. Подсеть шлюза содержит IP-адреса, которые используют ресурсы и службы шлюза виртуальной сети. Чтобы развертывать ресурсы шлюза в Azure, подсети нужно присвоить имя GatewaySubnet. Для развертывания ресурсов шлюза нельзя указывать другую подсеть. Если при создании VPN-шлюза у вас нет подсети с именем GatewaySubnet, операция завершится сбоем.
При создании подсети шлюза указывается количество IP-адресов, которое содержит подсеть. Необходимое количество IP-адресов зависит от конфигурации VPN-шлюза, который вы хотите создать. Некоторым конфигурациям требуется больше IP-адресов, чем прочим. Рекомендуем создать подсеть шлюза, которая использует /27 или /28.
Если появится сообщение об ошибке, которое указывает, что адресное пространство пересекается с подсетью или что подсеть находится вне адресного пространства виртуальной сети, проверьте диапазон адресов виртуальной сети. Возможно, в диапазоне адресов, созданном для виртуальной сети, недостаточно IP-адресов. Например, если подсеть по умолчанию охватывает весь диапазон адресов, не остается IP-адресов для создания дополнительных подсетей. Можно настроить подсети в существующем пространстве адресов, чтобы освободить IP-адреса, или указать дополнительный диапазон адресов и создать в нем подсеть шлюза.
Используйте команду azure network vnet subnet create, чтобы создать шлюз подсети.
az network vnet subnet create --address-prefix 10.1.255.0/27 --name GatewaySubnet --resource-group TestRG1 --vnet-name VNet1
Внимание
Группы безопасности сети (NSG) в подсети шлюза не поддерживаются. Связывание группы безопасности сети с этой подсетью может привести к остановке работы шлюза виртуальной сети (VPN и шлюзов ExpressRoute). Дополнительные сведения о группах безопасности сети см. в статье Группа безопасности сети.
Создание шлюза локальной сети
Обычно термин "шлюз локальной сети" означает локальное расположение. Присвойте сайту имя, по которому Azure может обращаться к этому сайту, а затем укажите IP-адрес локального VPN-устройства, к которому вы подключитесь. Вы можете также указать префиксы IP-адресов, которые будут направляться через VPN-шлюз к VPN-устройству. Указываемые префиксы адресов расположены в локальной сети. При изменении локальной сети вы сможете без проблем обновить эти префиксы.
Используйте следующие значения.
- Параметр --gateway-ip-address — это IP-адрес локального VPN-устройства.
- --local-address-prefixes — это локальные адресные пространства.
Используйте команду az network local-gateway create,чтобы добавить шлюз локальной сети с несколькими префиксами адресов:
az network local-gateway create --gateway-ip-address 203.0.133.8 --name Site1 --resource-group TestRG1 --local-address-prefixes 192.168.1.0/24 192.168.3.0/24
Запрос общедоступного IP-адреса
VPN-шлюз должен иметь общедоступный IP-адрес. Если вы хотите создать шлюз active-active (рекомендуется), необходимо запросить два общедоступных IP-адреса. Дополнительные сведения о конфигурациях шлюза active-active см. в статье "Сначала запросите ресурс IP-адреса", а затем обратитесь к нему при создании шлюза виртуальной сети. IP-адрес назначается ресурсу при создании VPN-шлюза. Общедоступный IP-адрес изменяется только после удаления и повторного создания шлюза. При изменении размера, сбросе или других внутренних операциях обслуживания или обновления IP-адрес VPN-шлюза не изменяется. Если вы хотите создать VPN-шлюз с помощью номера SKU шлюза "Базовый", отправьте запрос на общедоступный IP-адрес со следующими значениями--allocation-method Dynamic --sku Basic
.
Используйте команду az network public-ip create, чтобы запросить общедоступный IP-адрес.
az network public-ip create --name VNet1GWpip1 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3
Чтобы создать шлюз active-active (рекомендуется), запросить второй общедоступный IP-адрес:
az network public-ip create --name VNet1GWpip2 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3
Создание VPN-шлюза
Создайте VPN-шлюз виртуальной сети. Создание шлюза часто занимает 45 минут и более, в зависимости от выбранного SKU шлюза.
Используйте следующие значения.
- Тип -- gateway для конфигурации типа "сеть — сеть" — VPN. Тип шлюза всегда зависит от используемой конфигурации. Дополнительные сведения см. в разделе Типы шлюзов.
- Тип -- vpn — RouteBased.
- Выберите SKU шлюза, который нужно использовать. К определенным номерам SKU применяются ограничения настройки. Дополнительные сведения см. в разделе о номерах SKU шлюзов.
Чтобы создать VPN-шлюз, используйте команду az network vnet-gateway create. При выполнении этой команды с использованием параметра --no-wait вы не увидите ответа или выходных данных. Этот параметр позволяет создать шлюз в фоновом режиме. Создание шлюза в зависимости от номера SKU занимает 45 минут.
Шлюз режима "Активный— активный"
az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 VNet1GWpip2 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait
Шлюз режима "Активный режим ожидания"
az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait
Настройка устройства VPN
Для подключения "сеть — сеть" к локальной сети требуется VPN-устройство. На этом этапе мы настроим VPN-устройство. При настройке VPN-устройства вам потребуется следующее:
Общий ключ: этот общий ключ совпадает с тем же ключом, который указывается при создании VPN-подключения типа "сеть — сеть". В наших примерах мы используем простой общий ключ. Для практического использования рекомендуется создавать более сложные ключи.
Общедоступные IP-адреса экземпляров шлюза виртуальной сети: получение IP-адреса для каждого экземпляра виртуальной машины. Если шлюз находится в активно-активном режиме, у вас будет IP-адрес для каждого экземпляра виртуальной машины шлюза. Не забудьте настроить устройство с обоими IP-адресами, по одному для каждой виртуальной машины активного шлюза. Шлюзы режима "Активный режим ожидания" имеют только один IP-адрес.
Примечание.
Для подключений S2S с VPN-шлюзом активного режима убедитесь, что туннели устанавливаются для каждого экземпляра виртуальной машины шлюза. Если вы устанавливаете туннель только к одному экземпляру виртуальной машины шлюза, подключение будет происходить во время обслуживания. Если VPN-устройство не поддерживает эту настройку, настройте шлюз для активного режима ожидания.
Чтобы найти общедоступный IP-адрес шлюза виртуальной сети, используйте команду az network public-ip list. Для удобства чтения выходные данные форматируются для отображения списка общедоступных IP-адресов в формате таблицы.
az network public-ip list --resource-group TestRG1 --output table
В зависимости от используемого VPN-устройства можно скачать скрипт конфигурации VPN-устройства. Дополнительные сведения см. в статье о скачивании скриптов конфигурации для VPN-устройств.
Ниже приведены дополнительные сведения о конфигурации:
Сведения о совместимых VPN-устройствах см. в разделе "Сведения о VPN-устройствах".
Перед настройкой VPN-устройства проверьте наличие известных проблем совместимости устройств.
Ссылки на параметры конфигурации устройства см. в разделе "Проверенные VPN-устройства". Мы предоставляем ссылки на конфигурацию устройства на основе наилучших усилий, но всегда лучше проверить с производителем устройства последние сведения о конфигурации.
В списке показаны проверенные версии. Если версия ОС для VPN-устройства отсутствует в списке, она по-прежнему может быть совместима. Обратитесь к изготовителю устройства.
Основные сведения о конфигурации VPN-устройства см. в разделе "Общие сведения о конфигурациях VPN-устройств партнера".
См. дополнительные сведения о примерах изменения конфигурации устройств.
См. дополнительные сведения о требованиях к шифрованию и VPN-шлюзах Azure.
Сведения о параметрах, необходимых для завершения настройки, см. в разделе "Параметры IPsec/IKE по умолчанию". Сведения включают версию IKE, группу Diffie-Hellman (DH), метод проверки подлинности, алгоритмы шифрования и хэширования, время существования ассоциации безопасности (SA), идеальную секретность пересылки (PFS) и обнаружение мертвых одноранговых узлов (DPD).
Инструкции по настройке политики IPsec/IKE см. в разделе "Настройка настраиваемых политик подключения IPsec/IKE" для VPN-подключения S2S и виртуальной сети к виртуальной сети.
Сведения о подключении нескольких VPN-устройств на основе политик см. в статье "Подключение VPN-шлюза к нескольким локальным VPN-устройствам на основе политик".
Создание VPN-подключения
Создайте VPN-подключение типа "сеть — сеть" между шлюзом виртуальной сети и локальным VPN-устройством. Обратите особое внимание на значение общего ключа, которое должно соответствовать значению заданного общего ключа для VPN-устройства.
Создайте подключение с помощью команды az network vpn-connection create. Создайте дополнительные подключения, если вы создаете конфигурацию шлюза с высоким уровнем доступности, например режим "активный— активный".
az network vpn-connection create --name VNet1toSite1 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site1
Через некоторое время будет установлено подключение.
Проверка VPN-подключения
Убедиться в успешном выполнении подключения можно с помощью команды az network vpn-connection show. В примере параметр "--name" — это имя подключения, которое требуется проверить. Когда подключение устанавливается, это отображено соответствующим образом (состояние "Подключение"). После установки подключения его состояние изменяется на "Подключено". Настройте следующий пример, указав значения для своей среды.
az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>
Если вы хотите использовать другой метод проверки подключения, см. статью Проверка соединения VPN-шлюза.
Стандартные задачи
Этот раздел содержит общие команды, которые могут быть полезны при работе с конфигурациями подключения типа "сайт — сайт". Полный список сетевых команд интерфейса командной строки см. в разделе об управлении ресурсами сети Azure.
Просмотр локальных сетевых шлюзов
Чтобы просмотреть список шлюзов локальной сети, используйте команду az network local-gateway list.
az network local-gateway list --resource-group TestRG1
Изменение префиксов IP-адресов для шлюза локальной сети при отсутствии подключения шлюза
Если нет подключения шлюза и нужно добавить или удалить префиксы IP-адресов, выполните ту же команду, что и для создания шлюза локальной сети (az network local-gateway create). Эта команда также используется для обновления IP-адреса шлюза VPN-устройства. Чтобы перезаписать текущие параметры, укажите существующее имя шлюза локальной сети. Если используется другое имя, необходимо создать новый шлюз локальной сети вместо перезаписи существующего.
При каждом изменении нужно указать полный список префиксов, а не только те префиксы, которые вы хотите изменить. Укажите только те префиксы, которые нужно сохранить. В этом случае это 10.0.0.0/24 и 20.0.0.0/24.
az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24
Изменение префиксов IP-адресов для шлюза локальной сети при наличии подключения шлюза
Если подключение шлюза существует и требуется добавить или удалить префиксы IP-адресов, обновите их с помощью команды az network local-gateway update. После этого VPN-подключение будет некоторое время недоступно. При изменении префиксов IP-адресов не нужно удалять VPN-шлюз.
При каждом изменении нужно указать полный список префиксов, а не только те префиксы, которые вы хотите изменить. В этом примере 10.0.0.0/24 и 20.0.0.0/24 уже существуют. Добавьте префиксы 30.0.0.0/24 и 40.0.0.0/24 и укажите все 4 при обновлении.
az network local-gateway update --local-address-prefixes 10.0.0.0/24 20.0.0.0/24 30.0.0.0/24 40.0.0.0/24 --name VNet1toSite2 -g TestRG1
Изменение шлюза локальной сети gateway-ip-address
Если общедоступный IP-адрес VPN-устройства, к которому вы хотите подключиться, изменился, измените шлюз локальной сети в соответствии с изменениями. IP-адрес шлюза можно изменить, не удаляя существующее подключение VPN-шлюза (если имеется). Чтобы изменить IP-адрес шлюза, замените значения Site2 и TestRG1 собственными, используя команду az network local-gateway update.
az network local-gateway update --gateway-ip-address 23.99.222.170 --name Site2 --resource-group TestRG1
Проверьте правильность IP-адреса в выходных данных:
"gatewayIpAddress": "23.99.222.170",
Проверка значений общего ключа
Убедитесь, что значение общего ключа совпадает со значением, использованным для настройки VPN-устройства. Если это не так, выполните подключение еще раз, используя значение с устройства, или воспользуйтесь предыдущим значением устройства. Значения должны совпадать. Чтобы просмотреть общий ключ, используйте команду az network vpn-connection-list.
az network vpn-connection shared-key show --connection-name VNet1toSite2 --resource-group TestRG1
Просмотр общедоступного IP-адреса VPN-шлюза
Чтобы найти общедоступный IP-адрес шлюза виртуальной сети, используйте команду az network public-ip list. Для удобства чтения выходные данные в этом примере форматируются для отображения списка общедоступных IP-адресов в формате таблицы.
az network public-ip list --resource-group TestRG1 --output table
Следующие шаги
- Сведения о BGP см. в обзоре BGP и настройке BGP.
- Сведения о принудительном туннелировании см. в статье Настройка принудительного туннелирования с помощью модели развертывания Azure Resource Manager.
- Сведения о высокодоступных подключениях с высоким уровнем доступности см. в разделе "Высокодоступные" между локальными и виртуальными сетями.
- Список сетевых команд Azure CLI см. в статье об Azure CLI.
- Сведения о создании VPN-подключения типа "сеть — сеть" с помощью шаблона Azure Resource Manager см. в статье "Создание VPN-подключения типа "сеть — сеть".
- Сведения о создании VPN-подключения между виртуальными сетями с помощью шаблона Azure Resource Manager см. в статье "Развертывание георепликации HBase".