Создание VPN-подключения "сеть-сеть" — Azure PowerShell
В этой статье показано, как использовать PowerShell для создания подключения VPN-шлюза типа "сеть — сеть" из локальной сети к виртуальной сети.
Подключение VPN-шлюза типа "сеть — сеть" используется для подключения локальной сети к виртуальной сети Azure через VPN-туннель IPsec/IKE (IKEv1 или IKEv2). Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес. В этой статье описано, как создать подключение между VPN-шлюзом и локальным VPN-устройством с помощью общего ключа. Дополнительные сведения о VPN-шлюзах см. в этой статье.
Убедитесь, что среда соответствует следующим критериям перед началом настройки:
Убедитесь, что у вас есть работающий маршрутизируемый VPN-шлюз. Сведения о создании VPN-шлюза см. в статье "Создание VPN-шлюза".
Если вы не знаете диапазоны IP-адресов в своей конфигурации локальной сети, найдите того, кто сможет предоставить вам нужную информацию. При создании этой конфигурации необходимо указать префиксы диапазона IP-адресов, которые Azure направляет в локальную сеть. Ни одна из подсетей локальной сети не может перекрываться с подсетями виртуальной сети, к которым требуется подключиться.
VPN-устройства:
- Убедитесь, что у вас есть совместимое VPN-устройство и пользователь, который может его настроить. Дополнительные сведения о совместимых VPN-устройствах и конфигурации устройств см. в разделе "Сведения о VPN-устройствах".
- Определите, поддерживает ли VPN-устройство шлюзы активного режима. В этой статье создается VPN-шлюз активного режима, который рекомендуется для высокодоступного подключения. Режим "Активный— активный" указывает, что оба экземпляра виртуальной машины шлюза активны. В этом режиме требуется два общедоступных IP-адреса, по одному для каждого экземпляра виртуальной машины шлюза. VPN-устройство настроено для подключения к IP-адресу каждого экземпляра виртуальной машины шлюза.
Если VPN-устройство не поддерживает этот режим, не включите этот режим для шлюза. Дополнительные сведения см. в разделе «Проектирование высокодоступного подключения для перекрестного соединения локальных сетей и соединений VNet с VNet» и «О VPN-шлюзах в активно-активном режиме».
Если шлюз виртуальной сети и шлюз локальной сети находятся в разных подписках и разных клиентах, вам потребуется выполнить несколько разных действий. Просмотрите подключения с различными арендаторами и различными подписками.
В этой статье используются командлеты 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-подключения типа "сеть — сеть". В наших примерах мы используем простой общий ключ. Для практического использования рекомендуется создавать более сложные ключи.
Общедоступные IP-адреса экземпляров вашего шлюза виртуальной сети: Получите IP-адрес для каждого экземпляра виртуальной машины. Если шлюз находится в активно-активном режиме, у вас будет IP-адрес для каждого экземпляра виртуальной машины шлюза. Не забудьте настроить устройство с обоими IP-адресами, по одному для каждой виртуальной машины активного шлюза. Шлюзы режима "Активный режим ожидания" имеют только один IP-адрес. В примере VNet1GWpip1 — это имя ресурса общедоступного IP-адреса.
Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1
В зависимости от используемого 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-устройством. Если вы используете шлюз активного режима (рекомендуется), каждый экземпляр виртуальной машины шлюза имеет отдельный IP-адрес. Чтобы правильно настроить высокодоступное подключение, необходимо установить туннель между каждым экземпляром виртуальной машины и VPN-устройством. Оба туннеля являются частью одного подключения. Если шлюз локальной сети и шлюз виртуальной сети находятся в разных подписках и разных клиентах, см. раздел "Подключения с разными клиентами и различными подписками ".
Общий ключ должен соответствовать значению, использованному в конфигурации VPN-устройства. Обратите внимание, что параметр -ConnectionType для типа "сеть — сеть" — IPsec.
Задайте переменные.
$gateway1 = Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
Создайте подключение.
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-подключения.
Убедиться в успешном выполнении подключения можно с помощью командлета Get-AzVirtualNetworkGatewayConnection с параметром -Debug или без него.
Используйте командлет из следующего примера, подставив свои значения. При появлении запроса выберите "A", чтобы запустить 'All'. В примере параметр --name — это имя подключения, которое требуется проверить.
Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
После завершения работы командлета просмотрите значения. В следующем примере показано, что подключение установлено (состояние "Подключено"), а также указан объем полученных и отправленных данных в байтах.
"connectionStatus": "Connected", "ingressBytesTransferred": 33509044, "egressBytesTransferred": 4142431
Если префиксы IP-адресов, которые вы хотите перенаправить к вашему локальному расположению, изменились, вы можете изменить шлюз локальной сети. При использовании этих примеров настройте параметры в соответствии с вашей средой.
Чтобы добавить дополнительные префиксы адресов, выполните приведенные далее действия.
Задайте переменную для локального сетевого шлюза.
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
Измените префиксы. Указанные значения перезаписывают предыдущие значения.
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 (из предыдущего примера), поэтому мы обновим шлюз локальной сети и исключим этот префикс.
Задайте переменную для локального сетевого шлюза.
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
Укажите шлюз с обновленными префиксами.
Set-AzLocalNetworkGateway -LocalNetworkGateway $local ` -AddressPrefix @('10.101.0.0/24','10.101.1.0/24')
При изменении общедоступного 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
- Установив подключение, можно добавить виртуальные машины в виртуальные сети. Дополнительные сведения о виртуальных машинах см. здесь.
- Сведения о BGP см. в статьях Обзор использования BGP с VPN-шлюзами Azure и Настройка BGP на VPN-шлюзах Azure с помощью Azure Resource Manager и PowerShell.
- Сведения о создании VPN-подключения типа "сеть — сеть" с помощью шаблона Azure Resource Manager см. в статье "Создание VPN-подключения типа "сеть — сеть".
- Сведения о создании VPN-подключения типа "виртуальная сеть — виртуальная сеть" с помощью шаблона Azure Resource Manager см. в разделе Deploy HBase geo replication (Развертывание георепликации HBase).