Упражнение. Создание 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 минут или более. Чтобы отслеживать ход создания шлюза, выполните приведенную ниже команду. Мы используем команду Linux
watch
для периодического выполнения команды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, чтобы обновить шлюз локальной сети ЛНГ-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-подключения успешно установлены.