Создание виртуальной сети с VPN типа "сеть — сеть" с помощью интерфейса командной строки.
В этой статье показано, как использовать Azure CLI для создания подключения VPN-шлюза типа "сеть — сеть" из локальной сети к виртуальной сети. Приведенные в этой статье инструкции относятся к модели развертывания с помощью Resource Manager. Эту конфигурацию также можно создать с помощью разных средств или моделей развертывания, выбрав вариант из следующего списка:
Подключение VPN-шлюза типа "сеть — сеть" используется для подключения локальной сети к виртуальной сети Azure через VPN-туннель IPsec/IKE (IKEv1 или IKEv2). Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес. Дополнительные сведения о VPN-шлюзах см. в этой статье.
Подготовка к работе
Перед началом настройки убедитесь, что удовлетворены следующие требования:
- Убедитесь, что у вас есть совместимое VPN–устройство и пользователь, который может настроить его. Дополнительные сведения о совместимых устройствах VPN и их настройке см. в этой статье.
- Убедитесь, что у вас есть общедоступный IPv4–адрес для вашего VPN–устройства.
- Если вы не знаете диапазоны IP-адресов в своей конфигурации локальной сети, найдите того, кто сможет предоставить вам нужную информацию. При создании этой конфигурации необходимо указать префиксы диапазона IP-адресов, которые Azure будет направлять к локальному расположению. Ни одна из подсетей локальной сети не может перекрывать виртуальные подсети, к которым вы хотите подключиться.
Используйте среду 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, последняя версия уже установлена.
Пример значений
Следующие значения можно использовать для создания тестовой среды или для лучшего понимания примеров в этой статье.
#Example values
VnetName = VNet1
ResourceGroup = TestRG1
Location = eastus
AddressSpace = 10.1.0.0/16
SubnetName = Frontend
Subnet = 10.1.0.0/24
GatewaySubnet = 10.1.255.0/27
LocalNetworkGatewayName = Site1
LNG Public IP = <On-premises VPN device IP address>
LocalAddrPrefix1 = 10.0.0.0/24
LocalAddrPrefix2 = 20.0.0.0/24
GatewayName = VNet1GW
PublicIP = VNet1GWIP
GatewayType = Vpn
ConnectionName = VNet1toSite2
1. Подключение к подписке
Для локального выполнения интерфейса командной строки необходимо подключиться к подписке. Если вы используете 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>
2. Создание группы ресурсов
В следующем примере создается группа ресурсов с именем TestRG1 в расположении eastus. Если у вас уже есть группа ресурсов в регионе, где вы хотите создать виртуальную сеть, вы можете воспользоваться ею.
az group create --name TestRG --location eastus
3. Создание виртуальной сети
Если у вас еще нет виртуальной сети, создайте ее, используя команду 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
4. Создание подсети шлюза
Шлюз виртуальной сети использует определенную подсеть, которая называется подсетью шлюза. Подсеть шлюза входит в диапазон 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). Дополнительные сведения о группах безопасности сети см. в статье Группа безопасности сети.
5. Создание локального сетевого шлюза
Обычно термин "шлюз локальной сети" означает локальное расположение. Присвойте сайту имя, по которому 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 23.99.221.164 --name Site2 --resource-group TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24
6. Запрос общедоступного IP-адреса
VPN-шлюз должен иметь общедоступный IP-адрес. Сначала запросите ресурс 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 VNet1GWIP --resource-group TestRG1 --allocation-method Static --sku Standard
7. Создание VPN-шлюза
Создайте VPN-шлюз виртуальной сети. Создание шлюза часто занимает 45 минут и более, в зависимости от выбранного SKU шлюза.
Используйте следующие значения.
- Тип -- gateway для конфигурации типа "сеть — сеть" — VPN. Тип шлюза всегда зависит от используемой конфигурации. Дополнительные сведения см. в разделе Типы шлюзов.
- Тип --vpn — RouteBased (называется динамическим шлюзом в некоторой документации).
- Выберите SKU шлюза, который нужно использовать. К определенным номерам SKU применяются ограничения настройки. Дополнительные сведения см. в разделе о номерах SKU шлюзов.
Чтобы создать VPN-шлюз, используйте команду az network vnet-gateway create. При выполнении этой команды с использованием параметра --no-wait вы не увидите ответа или выходных данных. Этот параметр позволяет создать шлюз в фоновом режиме. Для создания шлюза требуется не менее 45 минут.
az network vnet-gateway create --name VNet1GW --public-ip-address VNet1GWIP --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw1 --no-wait
8. Настройка VPN-устройства
Для подключения "сеть — сеть" к локальной сети требуется VPN-устройство. На этом этапе мы настроим VPN-устройство. Чтобы настроить локальное VPN-устройство, вам потребуется следующее:
Общий ключ. Это тот же общий ключ, который указывается при создании VPN-подключения "сеть — сеть". В наших примерах мы используем простые общие ключи. Для практического использования рекомендуется создавать более сложные ключи.
Общедоступный IP-адрес шлюза виртуальной сети. Общедоступный IP-адрес можно просмотреть с помощью портала Azure, PowerShell или CLI. Чтобы найти общедоступный 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-устройствам на основе политик".
9. Создание VPN-подключения
Создайте VPN-подключение типа "сеть — сеть" между шлюзом виртуальной сети и локальным VPN-устройством. Обратите особое внимание на значение общего ключа, которое должно соответствовать значению заданного общего ключа для VPN-устройства.
Создайте подключение с помощью команды az network vpn-connection create.
az network vpn-connection create --name VNet1toSite2 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site2
Через некоторое время будет установлено подключение.
10. Проверка VPN-подключения
Убедиться в успешном выполнении подключения можно с помощью команды az network vpn-connection show. В примере параметр "--name" — это имя подключения, которое требуется проверить. Когда подключение устанавливается, это отображено соответствующим образом (состояние "Подключение"). После установки подключения его состояние изменяется на "Подключено". Настройте следующий пример, указав значения для своей среды.
az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>
Если вы хотите использовать другой метод проверки подключения, см. статью Проверка соединения VPN-шлюза.
Подключение к виртуальной машине
Вы можете подключиться к виртуальной машине, развернутой в виртуальной сети, создав подключение удаленного рабочего стола к виртуальной машине. Лучший способ проверить, можете ли вы подключиться к своей виртуальной машине, — подключиться, используя частный IP-адрес, а не имя компьютера. Таким образом, вы проверяете, можете ли вы подключиться, а не правильно ли настроено разрешение имен.
Найдите частный IP-адрес. Частный IP-адрес виртуальной машины можно найти, просматривая свойства виртуальной машины в портал Azure или с помощью PowerShell.
портал Azure. Найдите виртуальную машину в портал Azure. Просмотрите свойства виртуальной машины. Там будет указан частный IP-адрес.
PowerShell. Используйте пример для просмотра списка виртуальных машин и частных IP-адресов из групп ресурсов. Вам не нужно изменять этот пример перед использованием.
$VMs = Get-AzVM $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null foreach ($Nic in $Nics) { $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod Write-Output "$($VM.Name): $Prv,$Alloc" }
Убедитесь, что вы подключены к виртуальной сети.
Откройте подключение к удаленному рабочему столу, введя RDP или подключение к удаленному рабочему столу в поле поиска на панели задач. Затем выберите подключение к удаленному рабочему столу. Вы также можете открыть подключение к удаленному рабочему столу
mstsc
с помощью команды в PowerShell.В сеансе подключения к удаленному рабочему столу введите частный IP-адрес виртуальной машины. Вы можете выбрать "Показать параметры" , чтобы настроить другие параметры, а затем подключиться.
Если у вас возникли проблемы с подключением к виртуальной машине через VPN-подключение, проверьте следующие моменты:
- Убедитесь, что вы используете активное VPN-подключение.
- Убедитесь, что подключаетесь к частному IP-адресу виртуальной машины.
- Если вы можете подключиться к виртуальной машине с помощью частного IP-адреса, но не имени компьютера, убедитесь, что dns настроен правильно. Дополнительные сведения о том, как работает разрешение имен для виртуальных машин, см. в разделе "Разрешение имен" для виртуальных машин.
Дополнительные сведения о подключениях RDP см. в статье Устранение неполадок с подключением к виртуальной машине Azure через удаленный рабочий стол.
Стандартные задачи
Этот раздел содержит общие команды, которые могут быть полезны при работе с конфигурациями подключения типа "сайт — сайт". Полный список сетевых команд интерфейса командной строки см. в разделе об управлении ресурсами сети 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 с VPN-шлюзами Azure и Настройка BGP на VPN-шлюзах Azure с помощью Azure Resource Manager и PowerShell.
- Сведения о принудительном туннелировании см. в статье Настройка принудительного туннелирования с помощью классической модели развертывания.
- Сведения о высокодоступных подключениях в режиме "активный — активный" см. в статье Настройка высокодоступных подключений: распределенных и между виртуальными сетями.
- Список сетевых команд Azure CLI см. в статье об Azure CLI.
- Сведения о создании VPN-подключения типа "сеть — сеть" с помощью шаблона Azure Resource Manager см. в статье "Создание VPN-подключения типа "сеть — сеть".
- Сведения о создании VPN-подключения типа "виртуальная сеть — виртуальная сеть" с помощью шаблона Azure Resource Manager см. в разделе Deploy HBase geo replication (Развертывание георепликации HBase).