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


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

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

Подключение VPN-шлюза типа "сеть — сеть" используется для подключения локальной сети к виртуальной сети Azure через VPN-туннель IPsec/IKE (IKEv1 или IKEv2). Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес. В этой статье описано, как создать подключение между VPN-шлюзом и локальным VPN-устройством с помощью общего ключа. Дополнительные сведения о VPN-шлюзах см. в разделе "Сведения о VPN-шлюзе".

Схема шлюзов VPN для соединений между различными сайтами.

Перед началом работы

Убедитесь, что среда соответствует следующим критериям перед началом настройки:

  • Убедитесь, что у вас есть работающий маршрутизируемый VPN-шлюз. Сведения о создании VPN-шлюза см. в статье "Создание VPN-шлюза".

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

  • VPN-устройства:

    • Убедитесь, что у вас есть совместимое VPN-устройство и пользователь, который может его настроить. Дополнительные сведения о совместимых VPN-устройствах и конфигурации устройств см. в разделе "Сведения о VPN-устройствах".
    • Определите, поддерживает ли VPN-устройство шлюзы активного режима. В этой статье создается VPN-шлюз в активно-активном режиме, который рекомендуется для высокодоступного соединения. Режим "Активный-активный" указывает, что оба экземпляра виртуальной машины шлюза активны. В этом режиме требуется два общедоступных IP-адреса, по одному для каждого экземпляра виртуальной машины шлюза. Вы настраиваете свое Vpn-устройство для подключения к IP-адресу каждого экземпляра виртуальной машины шлюза.
      Если VPN-устройство не поддерживает этот режим, не включите этот режим для шлюза. Дополнительные сведения см. в разделе «Проектирование высокодоступного подключения для подключений между локальными и виртуальными сетями, а также VNet-to-VNet» и «О VPN-шлюзах в режиме active-active».
  • Если шлюз виртуальной сети и шлюз локальной сети находятся в разных подписках и разных клиентах, вам потребуется выполнить несколько разных действий. Просмотрите подключения с различными клиентами и различными подписками.

Azure PowerShell

В этой статье используются командлеты PowerShell. Для выполнения этих командлетов можно использовать Azure Cloud Shell. Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, просто выберите Open Cloudshell в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/powershell. Выберите "Копировать ", чтобы скопировать блоки кода, вставьте их в Cloud Shell и выберите клавишу ВВОД, чтобы запустить их.

Кроме того, вы можете установить и запускать командлеты Azure PowerShell локально на компьютере. Командлеты PowerShell обновляются с высокой частотой. Если вы не установили последнюю версию, значения, указанные в инструкциях, могут не сработать. Чтобы узнать, какая версия Azure PowerShell установлена на вашем компьютере, используйте командлет Get-Module -ListAvailable Az. Сведения об установке или обновлении см. в разделе "Установка модуля Azure PowerShell".

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

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

Выберите один из следующих примеров. Значения, используемые в примерах:

  • GatewayIPAddress — это IP-адрес локального VPN-устройства, а не VPN-шлюза Azure.
  • AddressPrefix — это локальное адресное пространство.

Пример префикса одного адреса

New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '[IP address of your on-premises VPN device]' -AddressPrefix '10.0.0.0/24'

Пример префикса нескольких адресов

New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '[IP address of your on-premises VPN device]' -AddressPrefix @('10.3.0.0/16','10.0.0.0/24')

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

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

  • Общий ключ: этот общий ключ совпадает с тем же ключом, который указывается при создании VPN-подключения типа "сеть — сеть". В наших примерах мы используем простой общий ключ. Для практического использования рекомендуется создавать более сложные ключи.

  • Общедоступные IP-адреса экземпляров шлюза виртуальной сети: получение IP-адреса для каждого экземпляра виртуальной машины. Если шлюз находится в активно-активном режиме, у вас будет IP-адрес для каждого экземпляра виртуальной машины шлюза. Не забудьте настроить устройство с обоими IP-адресами, по одному для каждой виртуальной машины активного шлюза. Шлюзы режима "Активный режим ожидания" имеют только один IP-адрес. В примере VNet1GWpip1 — это имя ресурса общедоступного IP-адреса.

    Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1
    

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

Ниже приведены дополнительные сведения о конфигурации:

Создание VPN-подключения

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

Общий ключ должен соответствовать значению, использованному в конфигурации VPN-устройства. Обратите внимание, что параметр -ConnectionType для межсетевого соединения — IPsec.

  1. Задайте переменные.

    $gateway1 = Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1
    $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
    
  2. Создайте подключение.

    New-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1 `
    -Location 'East US' -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local `
    -ConnectionType IPsec -SharedKey 'abc123'
    

Подключения с разными арендаторами и разными подписками

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

Для LocalNetworkGateway, который находится в клиенте 2, подписке 2, используйте следующие команды. Настройте любые переменные, чтобы соответствовать вашей среде.

Connect-AzAccount -TenantID $Tenant2
Select-AzSubscription -SubscriptionId $subscription2
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1

Для VirtualNetworkGateway в Тенанте 1 и Подписке 1 используйте следующие команды. Настройте любые переменные, чтобы соответствовать вашей среде.

Connect-AzAccount -TenantID $Tenant1
Select-AzSubscription -SubscriptionId $subscription1
$gateway1 = Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1
New-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1 -Location 'East US' -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local -ConnectionType IPsec -SharedKey 'abc123'

Проверка VPN-подключения

Существует несколько разных способов для проверки VPN-подключения.

Убедиться в успешном выполнении подключения можно с помощью командлета Get-AzVirtualNetworkGatewayConnection с параметром -Debug или без него.

  1. Используйте командлет из следующего примера, изменив значения в соответствии с вашими требованиями. При появлении запроса выберите "A", чтобы запустить 'All'. В примере параметр --name — это имя подключения, которое требуется проверить.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. После завершения работы командлета просмотрите значения. В следующем примере показано, что подключение установлено (состояние "Подключено"), а также указан объем полученных и отправленных данных в байтах.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

Изменение префиксов IP-адресов для локального сетевого шлюза

Если префиксы IP-адресов, которые вы хотите перенаправить к вашему локальному расположению, изменились, вы можете изменить шлюз локальной сети. При использовании этих примеров настройте параметры в соответствии с вашей средой.

Чтобы добавить дополнительные префиксы адресов, выполните приведенные далее действия.

  1. Задайте переменную для локального сетевого шлюза.

    $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
    
  2. Измените префиксы. Указанные значения перезаписывают предыдущие значения.

    Set-AzLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.101.0.0/24','10.101.1.0/24','10.101.2.0/24')
    

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

Не указывайте префиксы, которые больше не нужны. В этом примере нам больше не нужен префикс 10.101.2.0/24 (из предыдущего примера), поэтому мы обновим шлюз локальной сети и исключим этот префикс.

  1. Задайте переменную для локального сетевого шлюза.

    $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
    
  2. Укажите шлюз с обновленными префиксами.

    Set-AzLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.101.0.0/24','10.101.1.0/24')
    

Изменение IP-адреса шлюза для локального сетевого шлюза

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

New-AzLocalNetworkGateway -Name Site1 `
-Location "East US" -AddressPrefix @('10.101.0.0/24','10.101.1.0/24') `
-GatewayIpAddress "5.4.3.2" -ResourceGroupName TestRG1

Чтобы удалить подключение шлюза

Если вы не знаете имя вашего подключения, его можно найти с помощью командлета 'Get-AzVirtualNetworkGatewayConnection'.

Remove-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 `
-ResourceGroupName TestRG1

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