Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как создать подключение VPN-шлюза типа "сеть-сеть" в двойном стеке IPv4 и IPv6 из локальной сети к виртуальной сети (VNet) с помощью Azure CLI.
Подключение VPN-шлюза типа "сеть — сеть" используется для подключения локальной сети к виртуальной сети Azure через VPN-туннель IPsec/IKE. Для этого типа подключения требуется VPN-устройство, расположенное локально, которому назначены общедоступные IP-адреса. Текущая конфигурация VPN типа "сеть — сеть" с поддержкой двойного стека позволяет только IPv6-трафик во внутреннем туннеле. Внутренний трафик IPv6 поддерживается исключительно с помощью IKEv2.
Действия, описанные в этой статье, создают два подключения между VPN-шлюзом и локальным VPN-устройством с помощью общего ключа. Вы также можете использовать PowerShell для этой конфигурации. Если вы не настраиваете IPv4-адреса вместе с IPv6-адресами, можно использовать портал Azure. Дополнительные сведения о 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 CLI
В этой статье используются команды Azure CLI. Для выполнения команд можно использовать Azure Cloud Shell или Azure CLI, установленные локально на компьютере. Синтаксис команд находится в оболочке Bash, но его можно преобразовать в PowerShell.
Назначьте переменные, используемые в конфигурации:
ResourceGroup="resource-group-name"
Location="name-of-the-azure-region"
vnetName="VNet1"
VNetAddressPrefixIPv4="10.1.0.0/16"
VNetAddressPrefixIPv6="fd:0:1::/48"
GatewaySubnetPrefix1="10.1.0.0/24"
GatewaySubnetPrefix2="fd:0:1:e::/64"
GatewayName="VNet1GW"
# Name of the first public IP address of the gateway
PublicIP1="${GatewayName}-pip1"
PublicIP2="${GatewayName}-pip2"
# VPN type Route based
VPNType="RouteBased"
GatewayType="Vpn"
Создание виртуальной сети Azure
# create a Resource Group
az group create --name "$ResourceGroup" --location "$location"
# create an Azure VNet
az network vnet create \
--name "$vnetName" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--address-prefixes "$VNetAddressPrefixIPv4" "$VNetAddressPrefixIPv6"
# create the GatewaySubnet
az network vnet subnet create \
--name "GatewaySubnet" \
--vnet-name "$vnetName" \
--resource-group "$ResourceGroup" \
--address-prefixes "$GatewaySubnetPrefixIPv4" "$GatewaySubnetPrefixIPv6"
Создание VPN-шлюза Azure
Azure VPN Gateway развертывается с зональным номером SKU в шлюзеSubnet. В активном режиме требуется два общедоступных IP-адреса с номером SKU уровня "Стандартный". Создайте общедоступные IP-адреса и создайте VPN-шлюз.
# create the first public IP of the VPN Gateway
az network public-ip create \
--name "$PublicIP1" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--allocation-method Static \
--sku Standard \
--tier Regional \
--zone 1 2 3
# create the second public IP of the VPN Gateway
az network public-ip create \
--name "$PublicIP2" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--allocation-method Static \
--sku Standard \
--tier Regional \
--zone 1 2 3
# Create the VPN Gateway with VpnGw2AZ SKU in active-active mode
az network vnet-gateway create \
--name "$GatewayName" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--vnet "$vnetName" \
--gateway-type "$GatewayType" \
--vpn-type "$VPNType" \
--sku VpnGw2AZ \
--public-ip-addresses "$PublicIP1" "$PublicIP2"
Просмотр VPN-шлюза
Vpn-шлюз можно просмотреть с помощью команды az network vnet-gateway show .
az network vnet-gateway show \
--name "$GatewayName" \
--resource-group "$ResourceGroup"
Создание локального сетевого шлюза
Локальный сетевой шлюз (ЛСШ) ссылается на вашу локальную или внутреннюю сеть. Это не то же самое, что и шлюз виртуальной сети. VPN-шлюз поддерживает статическую маршрутизацию и динамическую маршрутизацию через BGP. В этой статье статическая маршрутизация настроена в туннелях IPsec. Присвойте сайту имя, с помощью которого Azure может ссылаться на него, а затем укажите IP-адрес локального VPN-устройства, к которому вы создадите подключение. Вы также указываете префиксы IP-адреса, которые направляются через VPN-шлюз на VPN-устройство. Префиксы адресов, которые вы указываете, находятся в вашей локальной сети. При изменении локальной сети можно легко обновить префиксы.
Выберите один из следующих примеров. Значения, используемые в примерах:
OnpremDevPubIPv4Address1 — это IP-адрес 1 локального VPN-устройства, а не vpn-шлюза Azure.
OnpremDevPubIPv4Address2 — это IP-адрес 2 локального VPN-устройства, а не VPN-шлюза Azure.
# Collect the first public IP assigned to the on-premises VPN device
# replace 'public-IPv4Address1-onpremises-device' with the IPv4 of the first address of your on-premises device
OnpremDevPubIPv4Address1="public-IPv4Address1-onpremises-device"
# Collect the second public IP assigned to the on-premises VPN device
# replace 'public-IPv4Address2-onpremises-device' with the IPv4 of the second address of your on-premises device
OnpremDevPubIPv4Address2="public-IPv4Address2-onpremises-device"
# Local Network Gateway to use to create the IPsec tunnel1
LocalNetworkGatewayName1="lngSite11"
# Local Network Gateway to use to create the IPsec tunnel2
LocalNetworkGatewayName2="lngSite12"
# Specify the list of IPv4 and IPv6 on-premises networks
OnpremIPv4AddressPrefix1="10.2.0.0/16"
OnpremIPv6AddressPrefix1="fd:0:2::/48"
OnpremIPv6AddressPrefix2="fd:0:3::/48"
# local Network Gateway for tunnel1
az network local-gateway create \
--name "$LocalNetworkGatewayName1" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--gateway-ip-address "$OnpremDevPubIPv4Address1" \
--local-address-prefixes "$OnpremIPv4AddressPrefix1" "$OnpremIPv6AddressPrefix1" "$OnpremIPv6AddressPrefix2"
# local Network Gateway for tunnel2
az network local-gateway create \
--name "$LocalNetworkGatewayName2" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--gateway-ip-address "$OnpremDevPubIPv4Address2" \
--local-address-prefixes "$OnpremIPv4AddressPrefix1" "$OnpremIPv6AddressPrefix1" "$OnpremIPv6AddressPrefix2"
Настройка устройства VPN
Для подключения "сеть — сеть" к локальной сети требуется VPN-устройство. Сведения о настройке устройства см. в разделе "Настройка VPN-устройства". При настройке VPN-устройства вам потребуется следующее:
Общий ключ: этот общий ключ совпадает с тем же ключом, который указывается при создании VPN-подключения типа "сеть — сеть". В наших примерах мы используем простой общий ключ. Рекомендуется создать более сложный ключ для использования.
Общедоступные IP-адреса экземпляров шлюза виртуальной сети: получение IP-адреса для каждого экземпляра виртуальной машины. Если шлюз находится в активно-активном режиме, у вас будет IP-адрес для каждого экземпляра виртуальной машины шлюза. Не забудьте настроить устройство с обоими IP-адресами, по одному для каждой виртуальной машины активного шлюза.
Обязательно настройте VPN-устройство для подключения к обоим IP-адресам шлюза VPN-шлюза активного режима. Если VPN-устройство не поддерживает режим "активный— активный", вы по-прежнему можете подключиться к обоим IP-адресам шлюза, но одновременно будет активно только одно подключение. Дополнительные сведения см. в разделах Проектирование высокодоступного подключения для кросс-площадочных и VNet-to-VNet подключений и О VPN-шлюзах в режиме active-active.
Создание VPN-подключений
Создайте подключение VPN типа "сеть — сеть" между шлюзом виртуальной сети и локальным VPN-устройством. При использовании шлюза активного режима каждый экземпляр виртуальной машины шлюза имеет отдельный IP-адрес. Чтобы правильно настроить высокодоступное подключение, необходимо установить туннель между каждым экземпляром виртуальной машины и VPN-устройством. Оба туннеля являются частью одного подключения. Если шлюз локальной сети и шлюз виртуальной сети находятся в разных подписках и разных клиентах, см. раздел "Подключения с разными клиентами и различными подписками ".
Общий ключ должен соответствовать значению, использованному в конфигурации VPN-устройства.
Задайте переменные.
LocalNetworkGatewayName1="lngSite11"
LocalNetworkGatewayName2="lngSite22"
Gateway1Name="VNet1GW"
ConnectionName1="conn11"
ConnectionName2="conn12"
sharedKey='abc123'
Создайте подключения.
# Create the VPN connection for the S2S tunnel1
az network vpn-connection create \
--name "$ConnectionName1" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--vnet-gateway1 "$Gateway1Name" \
--local-gateway2 "$LocalNetworkGatewayName1" \
--shared-key "$sharedKey"
az network vpn-connection create \
--name "$ConnectionName2" \
--resource-group "$ResourceGroup" \
--location "$Location" \
--vnet-gateway1 "$Gateway1Name" \
--local-gateway2 "$LocalNetworkGatewayName2" \
--shared-key "$sharedKey"
Проверка VPN-подключения
Чтобы получить список VPN-подключения в группе ресурсов, выполните указанные ниже действия.
az network vpn-connection list \
--resource-group "$ResourceGroup" \
--output table
Вы можете убедиться, что подключение выполнено успешно с помощью az network vpn-connection show команды.
az network vpn-connection show \
--name "$ConnectionName1" \
--resource-group "$ResourceGroup"
Выходные данные команды можно отфильтровать, чтобы извлечь только ConnectionStatus и ProvisioningState:
az network vpn-connection show \
--name "$ConnectionName1" \
--resource-group "$ResourceGroup" \
--query "{ProvisioningState:provisioningState, ConnectionStatus:connectionStatus}"
Успешное развертывание и правильная настройка должны возвращать следующее:
{
"ConnectionStatus": "Connected",
"ProvisioningState": "Succeeded"
}
Изменение префиксов IP-адресов для шлюза локальной сети
Если префиксы IP-адресов, которые вы хотите маршрутизировать в ваше локальное расположение, изменятся, вы можете изменить шлюз локальной сети. При использовании этих примеров измените значения в соответствии с вашей средой.
Добавление дополнительных префиксов адресов
Параметр --local-address-address-prefixes заменяет все существующие префиксы новыми значениями. Обязательно включите все префиксы, которые вы хотите сохранить. В этом примере мы добавим два новых префикса:
az network local-gateway update \
--name "$LocalNetworkGatewayName1" \
--resource-group "$ResourceGroup" \
--local-address-prefixes "10.2.0.0/16" "10.5.0.0/16" "fd:0:2::/48" "fd:0:3::/48" "fd:0:5::/48"
Удаление префиксов адресов
Оставьте префиксы, которые больше не нужны. В этом примере нам больше не нужны префиксы "10.5.0.0/16" и "fd:0:5::/48" (из предыдущего примера), поэтому мы обновляем шлюз локальной сети и исключим этот префикс.
Проверьте префиксы сети, указанные в шлюзе локальной сети.
# View current prefixes
az network local-gateway show \
--name "$LocalNetworkGatewayName1" \
--resource-group "$ResourceGroup" \
--query "localNetworkAddressSpace.addressPrefixes"
Обновите с использованием измененного списка.
# Then update with the modified list
az network local-gateway update \
--name "$LocalNetworkGatewayName1" \
--resource-group "$ResourceGroup" \
--local-address-prefixes "10.2.0.0/16" "fd:0:2::/48" "fd:0:3::/48"
Изменение IP-адреса шлюза для шлюза локальной сети
При изменении общедоступного IP-адреса для VPN-устройства необходимо изменить шлюз локальной сети с обновленным IP-адресом. При изменении обязательно используйте существующее имя шлюза локальной сети.
# get the public IP of Local network Gateway
az network local-gateway show \
--name "$LocalNetworkGatewayName1" \
--resource-group "$ResourceGroup" \
--query "gatewayIpAddress" -o tsv
# change the gateway IP address of the Local Network Gateway
az network local-gateway update \
--name "$LocalNetworkGatewayName1" \
--resource-group "$ResourceGroup" \
--gateway-ip-address "198.51.100.1"
Удалить подключение шлюза
Если вы не знаете имя подключения, его можно найти с помощью az network vpn-connection delete команды.
# Delete connection 1
az network vpn-connection delete \
--name "$ConnectionName1" \
--resource-group "$ResourceGroup"
Дальнейшие действия
Установив подключение, можно добавить виртуальные машины в виртуальные сети. Дополнительные сведения см. в разделе Виртуальные машины.
Сведения о BGP см. в статьях Обзор использования BGP с VPN-шлюзами Azure и Настройка BGP на VPN-шлюзах Azure с помощью Azure Resource Manager и PowerShell.