Упражнение. Создание VPN-шлюза типа "сеть —сеть" с помощью команд Azure CLI
Теперь вы готовы создать VPN-шлюз типа "сеть —сеть" путем создания общедоступных IP-адресов, шлюзов виртуальной сети и подключений. Помните, что при создании шлюзов локальной сети вы использовали заполнители для ссылок на общедоступные IP-адреса. Поэтому одна из задач теперь — перевод этих шлюзов на фактические общедоступные IP-адреса для шлюзов виртуальной сети.
В идеале общедоступные IP-адреса и шлюзы виртуальной сети должны быть созданы перед шлюзами локальной сети. В этом упражнении показано, как обновить шлюзы локальной сети. Вы можете использовать одни и те же команды для обновления любого элемента конфигурации в шлюзах локальной сети, например адресного пространства удаленной сети.
Создание VPN-шлюза на стороне Azure
Сначала вы создадите VPN-шлюз для конца подключения Azure. Создание шлюза виртуальной сети может длиться до 45 минут. Чтобы сэкономить время, используйте команды Azure CLI с параметром --no-wait
. Этот параметр позволяет создавать оба шлюза виртуальной сети одновременно, чтобы свести к минимуму общее время, необходимое для создания этих ресурсов.
Выполните следующую команду в Cloud Shell для создания общедоступного IP-адреса PIP-VNG-Azure-VNet-1.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-Azure-VNet-1 \ --allocation-method Static
Выполните следующую команду в Cloud Shell для создания виртуальной сети VNG-Azure-VNet-1.
az network vnet create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-Azure-VNet-1 \ --subnet-name GatewaySubnet
Выполните следующую команду в Cloud Shell для создания шлюза виртуальной сети VNG-Azure-VNet-1.
az network vnet-gateway create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-Azure-VNet-1 \ --public-ip-addresses PIP-VNG-Azure-VNet-1 \ --vnet VNG-Azure-VNet-1 \ --gateway-type Vpn \ --vpn-type RouteBased \ --sku VpnGw1 \ --no-wait
Создание VPN-шлюза на стороне локальной системы
Затем вы создадите VPN-шлюз для имитации локального VPN-устройства.
Выполните следующую команду в Cloud Shell для создания общедоступного IP-адреса PIP-VNG-HQ-Network.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-HQ-Network \ --allocation-method Static
Выполните следующую команду в Cloud Shell для создания виртуальной сети VNG-HQ-Network.
az network vnet create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-HQ-Network \ --subnet-name GatewaySubnet
Выполните следующую команду в Cloud Shell для создания шлюза виртуальной сети VNG-HQ-Network.
az network vnet-gateway create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-HQ-Network \ --public-ip-addresses PIP-VNG-HQ-Network \ --vnet VNG-HQ-Network \ --gateway-type Vpn \ --vpn-type RouteBased \ --sku VpnGw1 \ --no-wait
Создание шлюза занимает приблизительно 30 минут или более. Чтобы отслеживать ход создания шлюза, выполните приведенную ниже команду. Используйте команду
watch
Linux для периодического выполнения командыaz network vnet-gateway list
, что позволяет отслеживать ход выполнения.watch -d -n 5 az network vnet-gateway list \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --output table
Когда каждый VPN-шлюз будет отображать параметр ProvisioningState со значением Succeeded, можно продолжать. Нажмите клавиши CTRL+C, чтобы остановить команду после создания шлюза.
ActiveActive EnableBgp EnablePrivateIpAddress GatewayType Location Name ProvisioningState ResourceGroup ResourceGuid VpnType -------------- ----------- ------------------------ ------------- -------------- ---------------- ------------------- ----------------------------- ------------------------------------ ---------- False False False Vpn southcentralus VNG-Azure-VNet-1 Succeeded <rgn>[sandbox resource group name]</rgn> 48dc714e-a700-42ad-810f-a8163ee8e001 RouteBased False False False Vpn southcentralus VNG-HQ-Network Succeeded <rgn>[sandbox resource group name]</rgn> 49b3041d-e878-40d9-a135-58e0ecb7e48b RouteBased
Обновление ссылок на IP-адреса шлюза локальной сети
Внимание
Ваши шлюзы виртуальной сети должны быть успешно развернуты, прежде чем можно будет перейти к следующему упражнению. На подготовку шлюза может потребоваться до 30 минут или более. Если подготовка еще не была завершена с состоянием «Успешно», необходимо подождать.
В этом разделе описано, как обновить ссылки на IP-адреса удаленного шлюза, определенные в шлюзах локальной сети. Вы не сможете обновить шлюзы локальной сети, пока не создадите VPN-шлюзы, не назначите им IPv4-адрес и не свяжете его с ними.
Используйте следующую команду Azure CLI для проверки того, были ли созданы оба шлюза виртуальной сети. Начальное состояние показывает обновление. Вы хотите просмотреть Выполненные в VNG-Azure-VNet-1 и VNG-HQ-Network.
az network vnet-gateway list \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --output table
Name Location GatewayType VpnType VpnGatewayGeneration EnableBgp EnablePrivateIpAddress Active ResourceGuid ProvisioningState ResourceGroup ---------------- ---------- ------------- ---------- ---------------------- ----------- ------------------------ -------- ------------------------------------ ------------------- ------------------------------------------ VNG-Azure-VNet-1 westus Vpn RouteBased Generation1 False False False 9a2e60e6-da57-4274-99fd-e1f8b2c0326d Succeeded learn-cfbcca66-16fd-423e-b688-66f242d8f09e VNG-HQ-Network westus Vpn RouteBased Generation1 False False False c36430ed-e6c0-4230-ae40-cf937a102bcd Succeeded learn-cfbcca66-16fd-423e-b688-66f242d8f09e
Не забудьте дождаться, пока не будут успешно возвращены списки шлюзов. Кроме того, помните, что ресурсы шлюза локальной сети определяют параметры удаленного шлюза и сети, по которым они названы. Например, шлюз локальной сети LNG-Azure-VNet-1 содержит такие сведения, как IP-адрес и сети для Azure-VNet-1.
Выполните следующую команду в Cloud Shell для получения IPv4-адреса, назначенного для PIP-VNG-Azure-VNet-1, и сохранения его в переменной.
PIPVNGAZUREVNET1=$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-Azure-VNet-1 \ --query "[ipAddress]" \ --output tsv)
Выполните следующую команду в Cloud Shell для обновления шлюза локальной сети LNG-Azure-VNet-1, чтобы он указывал на общедоступный IP-адрес шлюза виртуальной сети VNG-Azure-VNet-1.
az network local-gateway update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name LNG-Azure-VNet-1 \ --gateway-ip-address $PIPVNGAZUREVNET1
Выполните следующую команду в Cloud Shell для получения IPv4-адреса, назначенного для PIP-VNG-HQ-Network, и сохранения его в переменной.
PIPVNGHQNETWORK=$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-HQ-Network \ --query "[ipAddress]" \ --output tsv)
Выполните следующую команду в Cloud Shell для обновления шлюза локальной сети LNG-HQ-Network, чтобы он указывал на общедоступный IP-адрес шлюза виртуальной сети VNG-HQ-Network.
az network local-gateway update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name LNG-HQ-Network \ --gateway-ip-address $PIPVNGHQNETWORK
Создание подключений
Вы завершите настройку, создав подключения из каждого VPN-шлюза к шлюзу локальной сети, который содержит ссылки на общедоступный IP-адрес для удаленной сети этого шлюза.
Создайте общий ключ, используемый для соединений. В следующей команде замените
<shared key>
текстовую строку, используемую для предварительно общего ключа IPSec. Предварительный ключ — это строка печатных символов ASCII не более 128 символов. Он не может содержать специальные символы, такие как дефисы и тильды. Этот предварительно общий ключ используется для обоих подключений.Примечание.
В качестве значения общего ключа в этом примере подойдет любой набор цифр: SHAREDKEY=123456789. В рабочих средах рекомендуется использовать строку печатных символов ASCII длиной не более 128 знаков без специальных знаков, таких как дефисы и тильды.
SHAREDKEY=<shared key>
Помните, что LNG-HQ-Network содержит ссылку на IP-адрес имитации локального VPN-устройства. Выполните следующую команду в Cloud Shell для создания подключения от VNG-Azure-VNet-1 к LNG-HQ-Network.
az network vpn-connection create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name Azure-VNet-1-To-HQ-Network \ --vnet-gateway1 VNG-Azure-VNet-1 \ --shared-key $SHAREDKEY \ --local-gateway2 LNG-HQ-Network
Помните, что LNG-Azure-VNet-1 содержит ссылку на общедоступный IP-адрес, связанный с VPN-шлюзом VNG-Azure-VNet-1. Это подключение обычно будет создаваться с локального устройства. Выполните следующую команду в Cloud Shell для создания подключения от VNG-HQ-Network к LNG-Azure-VNet-1.
az network vpn-connection create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name HQ-Network-To-Azure-VNet-1 \ --vnet-gateway1 VNG-HQ-Network \ --shared-key $SHAREDKEY \ --local-gateway2 LNG-Azure-VNet-1
Теперь вы завершили настройку подключения типа "сеть — сеть". Это может занять несколько минут, но туннели должны автоматически подключаться и становиться активными.
Шаги проверки
Давайте проверим, что VPN-туннели подключены.
Чтобы убедиться, что Azure-VNet-1-To-HQ-Network подключено, выполните приведенную ниже команду.
az network vpn-connection show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name Azure-VNet-1-To-HQ-Network \ --output table \ --query '{Name:name,ConnectionStatus:connectionStatus}'
Вы увидите выходные данные, как показано ниже, указывая, что подключение выполнено успешно. Если отображается
ConnectionStatus
какConnecting
илиUnknown
, подождите минуту или две, а затем выполните команду повторно. На полное подключение может потребоваться несколько минут.Name ConnectionStatus -------------------------- ------------------ Azure-VNet-1-To-HQ-Network Connected
Это действие завершает настройку подключения "сеть — сеть". Окончательная топология, включая подсети и соединения с точками логического подключения, показана на приведенной ниже схеме. Виртуальные машины, развернутые в подсетях Службы и Приложения, теперь могут взаимодействовать друг с другом, так как VPN-подключения успешно установлены.