Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет подключить классические виртуальные сети к виртуальным сетям Resource Manager, чтобы ресурсы, находящиеся в разных моделях развертывания, могли взаимодействовать между собой. В этой статье описаны инструкции с использованием PowerShell.
Эта статья предназначена для клиентов, у которых уже есть виртуальная сеть, созданная с помощью классической (устаревшей) модели развертывания, и которым требуется подключить классическую виртуальную сеть к другой виртуальной сети, созданной с использованием последней модели развертывания. Если у вас нет наследуемой виртуальной сети (VNet), см. статью Создание подключения типа "виртуальная сеть — виртуальная сеть".
Архитектура
Подключение классической виртуальной сети к виртуальной сети Resource Manager похоже на подключение виртуальной сети к локальному сайту. В обоих типах подключений используется VPN-шлюз для создания защищенного туннеля, использующего IPsec/IKE. Вы можете создать связь между виртуальными сетями, которые принадлежат разным подпискам и находятся в разных регионах. Вы также можете подключить виртуальные сети, которые уже имеют подключение к локальным сетям, если шлюз является динамическим или основан на маршрутах. Дополнительные сведения о подключениях типа "виртуальная сеть — виртуальная сеть" см. в разделе Часто задаваемые вопросы о подключениях типа "виртуальная сеть — виртуальная сеть".
Для этой конфигурации вы создадите подключение к VPN-шлюзу через VPN-туннель IPsec/IKE между виртуальными сетями. При настройке убедитесь, что ни один из диапазонов ваших виртуальных сетей не перекрывается между собой или с диапазонами локальных сетей, к которым они подключены.
В таблице ниже показан пример, как определяются виртуальные сети и локальные веб-сайты.
| Виртуальная сеть | Адресное пространство | Область/регион | Подключается к сайту локальной сети |
|---|---|---|---|
| ClassicVNet | (10.1.0.0/16) | западная часть США | RMVNetSite (192.168.0.0/16) |
| RMVNet | (192.168.0.0/16) | Восточная часть США | ClassicVNetSite (10.1.0.0/16) |
Предварительные требования
Далее приведены инструкции, которые помогут вам настроить динамический шлюз или шлюз на основе маршрутов для каждой виртуальной сети и создать VPN-подключение между шлюзами. Эта конфигурация не поддерживает статические шлюзы и шлюзы на основе политик.
В этих шагах предполагается, что у вас уже есть старая виртуальная сеть и уже созданная виртуальная сеть Resource Manager.
Убедитесь, что диапазоны адресов для виртуальных сетей не перекрываются друг с другом или перекрываются с любым из диапазонов для других подключений, к которым могут подключаться шлюзы.
В этой статье мы используем PowerShell. Установите на компьютер последнюю версию командлетов PowerShell для Resource Manager и управления услугами.
Хотя можно выполнить несколько команд PowerShell с помощью среды Azure Cloud Shell, для правильного создания подключений необходимо установить обе версии командлетов.
Командлеты PowerShell для управления услугами (классические). При установке командлетов управления службами может потребоваться изменить политику выполнения, чтобы установить классическую версию модуля Azure.
Подробнее: Установка и настройка Azure PowerShell.
Примеры параметров
Используйте следующие значения для лучшего понимания примеров.
Классическая виртуальная сеть
Имя виртуальной сети = ClassicVNet
Группа ресурсов = ClassicRG Местоположение = Запад США
Адресное пространство виртуальной сети = 10.1.0.0/16
Подсеть1 = 10.1.0.0/24
GatewaySubnet = 10.1.255.0/27
Имя локальной сети = RMVNetSite
ТипШлюза = ДинамическаяМаршрутизация
Resource Manager VNet
Имя виртуальной сети = RMVNet
Группа ресурсов = RMRG
Виртуальные адресные пространства сети = 192.168.0.0/16
Подсеть1 = 192.168.1.0/24
GatewaySubnet = 192.168.255.0/27
Location = Восточная часть США
Имя общедоступного IP-адреса шлюза = rmgwpip
Шлюз локальной сети = ClassicVNetSite
имя шлюза виртуальной сети = RMGateway
Конфигурация IP-адресации шлюза = gwipconfig
Настройка классической виртуальной сети
В этом разделе описана настройка уже существующей классической виртуальной сети. Если в виртуальной сети уже есть шлюз, убедитесь, что шлюз основан на маршрутизации, а затем перейдите к следующему разделу. Если шлюз не основан на маршрутах, удалите шлюз, прежде чем перейти к дальнейшим действиям. Затем вы сможете создать новый шлюз.
1. Скачайте файл конфигурации сети
Запустите консоль PowerShell с повышенными правами и войдите в свою учетную запись Azure. Следующий командлет запрашивает учетные данные входа для вашей учетной записи Azure. После выполнения входа он скачивает параметры учетной записи, чтобы они были доступны в Azure PowerShell. В этом разделе используются классические командлеты Azure PowerShell для управления службами.
Add-AzureAccountПолучите подписку Azure.
Get-AzureSubscriptionПри наличии нескольких подписок выберите подписку, которую вы хотите использовать.
Select-AzureSubscription -SubscriptionName "Name of subscription"Создайте каталог на своем компьютере. В эом примере мы создали AzureNet.
Экспортируйте файл конфигурации сети Azure, выполнив приведенную ниже команду. При необходимости можно изменить расположение файла для экспорта.
Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xmlОткройте скачанный XML-файл, чтобы внести изменения. Пример файла конфигурации сети см. в схеме конфигурации сети.
Обратите внимание на значение
VirtualNetworkSite name=. Если вы создали классическую виртуальную сеть с помощью портала, это имя соответствует формату "Group ClassicRG ClassicVNet", а не "ClassicVNet" на портале.
2. Проверьте подсеть шлюза
В элементе VirtualNetworkSites добавьте подсеть шлюза в вашу виртуальную сеть, если таковая еще не создана. Lля подсети шлюза необходимо задать имя GatewaySubnet. В противном случае Azure не удастся распознать и использовать ее в качестве подсети шлюза.
Внимание
Группы сетевой безопасности в подсети шлюза не поддерживаются. Связывание группы безопасности сети с этой подсетью может привести к остановке работы шлюза виртуальной сети (VPN и шлюзов ExpressRoute). Дополнительные сведения о группах безопасности сети см. в статье Фильтрация сетевого трафика с помощью групп безопасности сети.
Пример:
<VirtualNetworkSites>
<VirtualNetworkSite name="ClassicVNet" Location="West US">
<AddressSpace>
<AddressPrefix>10.1.0.0/16</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name="Subnet1">
<AddressPrefix>10.1.0.0/24</AddressPrefix>
</Subnet>
<Subnet name="GatewaySubnet">
<AddressPrefix>10.1.255.0/27</AddressPrefix>
</Subnet>
</Subnets>
</VirtualNetworkSite>
</VirtualNetworkSites>
3. Добавьте сайт локальной сети
Добавляемый сайт локальной сети представляет собой виртуальную сеть RM, к которой необходимо подключиться. Добавьте в файл элемент LocalNetworkSites, если его еще нет. На этом этапе настройки значение VPNGatewayAddress может быть любым допустимым общедоступным IP-адресом, так как шлюз для виртуальной сети RM еще не создан. После создания шлюза RM этот IP-адрес необходимо заменить на правильный общедоступный IP-адрес, назначенный шлюзу RM.
<LocalNetworkSites>
<LocalNetworkSite name="RMVNetSite">
<AddressSpace>
<AddressPrefix>192.168.0.0/16</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>5.4.3.2</VPNGatewayAddress>
</LocalNetworkSite>
</LocalNetworkSites>
4. Свяжите виртуальную сеть с сайтом локальной сети
В этом разделе необходимо указать сайт локальной сети, который требуется подключить к виртуальной сети. В нашем случае это виртуальная сеть Resource Manager, указанная ранее. Убедитесь, что имена совпадают. На этом этапе шлюз еще не создается. Указывается локальная сеть, к которой будет подключен шлюз.
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name="RMVNetSite">
<Connection type="IPsec" />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
5. Сохраните и отправьте файл
Сохраните файл, а затем импортируйте его в Azure, выполнив приведенную ниже команду. Обязательно измените путь к файлу в соответствии с вашей средой.
Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml
Вы увидите аналогичный результат, свидетельствующий о том, что импорт выполнен успешно.
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Set-AzureVNetConfig e0ee6e66-9167-cfa7-a746-7casb9 Succeeded
6. Создание шлюза
Перед запуском этого примера ознакомьтесь с файлом конфигурации сети, который вы скачали, чтобы узнать, какие именно имена ожидает Azure. Файл конфигурации сети содержит значения для классических виртуальных сетей. При создании классической виртуальной сети с помощью портала имя виртуальной сети в файле конфигурации сети отличается. Например, если на портале Azure вы создали классическую виртуальную сеть Classic VNet в группе ресурсов ClassicRG, то ее имя, сохраняемое в файле конфигурации сети, преобразуется в Group ClassicRG Classic VNet. Всегда используйте имя, содержащееся в файле конфигурации сети при работе с PowerShell. При указании имени виртуальной сети, содержащей пробелы, используйте кавычки вокруг значения.
Чтобы создать шлюз для динамической маршрутизации, используйте следующий пример.
New-AzureVNetGateway -VNetName ClassicVNet -GatewayType DynamicRouting
Проверить состояние шлюза можно с помощью командлета Get-AzureVNetGateway.
Настройка шлюза виртуальной сети RM
В качестве предварительных требований предполагается, что вы уже создали виртуальную сеть RM. На этом шаге мы создадим VPN-шлюз для виртуальной сети RM. Не приступайте к выполнению этих действий до получения общедоступного IP-адреса шлюза классической виртуальной сети.
В консоли PowerShell войдите в свою учетную запись Azure. Следующий командлет запрашивает данные для входа в вашу учетную запись Azure. После выполнения входа ваши параметры учетной записи загружаются, чтобы быть доступными в Azure PowerShell. При необходимости можно использовать функцию "Попробовать" для запуска Azure Cloud Shell в браузере.
Если вы используете Azure Cloud Shell, пропустите выполнение следующего cmdlet:
Connect-AzAccountЧтобы убедиться, что вы используете подходящую подписку, выполните следующий командлет:
Get-AzSubscriptionПри наличии нескольких подписок укажите подписку, которую вы хотите использовать.
Select-AzSubscription -SubscriptionName "Name of subscription"Создайте локальный сетевой шлюз. В виртуальной сети термин "шлюз локальной сети" обычно относится к вашему локальному расположению в офисе. В этом случае шлюз локальной сети относится к вашей классической виртуальной сети. Присвойте этому расположению имя, с помощью которого служба Azure сможет ссылаться на него, а также укажите префикс адресного пространства. С помощью указанного префикса IP-адреса служба Azure может определить, какой трафик отправлять в локальное расположение. Если позже понадобится изменить эти сведения, перед созданием шлюза можно изменить значения и снова запустить пример.
-Name — это имя, которое будет использоваться для ссылки на шлюз локальной сети.
-AddressPrefix — это диапазон адресов для классической виртуальной сети.
-GatewayIpAddress — это общедоступный IP-адрес шлюза классической виртуальной сети. Не забудьте заменить шаблон "n.n.n.n" на действительный IP-адрес.New-AzLocalNetworkGateway -Name ClassicVNetSite ` -Location "West US" -AddressPrefix "10.1.0.0/16" ` -GatewayIpAddress "n.n.n.n" -ResourceGroupName RMRGЗапросите общедоступный IP-адрес, который нужно выделить для шлюза виртуальной сети Resource Manager. Указать необходимый вам IP-адрес нельзя. IP-адрес выделяется для шлюза виртуальной сети динамически. Но это не значит, что IP-адрес изменится. IP-адрес шлюза виртуальной сети изменяется только после его удаления и повторного создания. При изменении размера, сбросе или других внутренних операциях обслуживания или обновления IP-адрес шлюза не изменяется.
На этом этапе также задается переменная, которая будет использоваться позже.
$ipaddress = New-AzPublicIpAddress -Name rmgwpip ` -ResourceGroupName RMRG -Location 'EastUS' ` -AllocationMethod DynamicПроверьте наличие подсети шлюза в виртуальной сети. Если подсети шлюза нет, добавьте ее. Присвойте подсети шлюза имя GatewaySubnet.
$vnet = Get-AzVirtualNetwork -ResourceGroupName RMRG -Name RMVNet Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 192.168.255.0/27 -VirtualNetwork $vnet Set-AzVirtualNetwork -VirtualNetwork $vnetПолучите подсеть, используемую для шлюза, выполнив приведенную ниже команду. На этом этапе мы также зададим переменную, которая будет использоваться на следующем этапе.
-Name — это имя виртуальной сети Resource Manager.
-ResourceGroupName — это группа ресурсов, с которой связана виртуальная сеть. Подсеть шлюза должна уже существовать для этой виртуальной сети и иметь имя GatewaySubnet, чтобы работать правильно.$subnet = Get-AzVirtualNetworkSubnetConfig -Name GatewaySubnet ` -VirtualNetwork (Get-AzVirtualNetwork -Name RMVNet -ResourceGroupName RMRG)Создайте конфигурацию IP-адресации шлюза. Конфигурация шлюза определяет используемые подсеть и общедоступный IP-адрес. Используйте следующий пример, чтобы создать конфигурацию шлюза.
На этапе в параметры -SubnetId и -PublicIpAddressId необходимо передать свойства идентификатора из подсети и IP-адреса соответственно. Нельзя использовать простую строку. Эти переменные задаются на этапе запроса общедоступного IP-адреса и этапе получения подсети.
$gwipconfig = New-AzVirtualNetworkGatewayIpConfig ` -Name gwipconfig -SubnetId $subnet.id ` -PublicIpAddressId $ipaddress.idСоздайте шлюз виртуальной сети Resource Manager, выполнив приведенную ниже команду.
-VpnTypeдолжен иметь значение RouteBased. Для создания шлюза потребуется 45 минут или больше.New-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRG ` -Location "EastUS" -GatewaySKU Standard -GatewayType Vpn ` -IpConfigurations $gwipconfig ` -EnableBgp $false -VpnType RouteBasedПосле создания VPN-шлюза скопируйте общедоступный IP-адрес. Он понадобится при настройке параметров локальной сети для классической виртуальной сети. Для получения общедоступного IP-адреса можно использовать следующий командлет. В возврате должен быть указан общедоступный IP-адрес IpAddress.
Get-AzPublicIpAddress -Name rmgwpip -ResourceGroupName RMRG
Измените параметры локального узла классической виртуальной сети
В этом разделе вы будете иметь дело с классической виртуальной сетью. Вы замените заполнитель IP-адреса, указанный при настройке параметров локального сайта, который будет использоваться для подключения к шлюзу виртуальной сети Resource Manager. Так как вы работаете с классической виртуальной сетью, используйте PowerShell, установленный локально на вашем компьютере, а не Azure Cloud Shell с функцией TryIt.
Экспортируйте файл конфигурации сети.
Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xmlС помощью текстового редактора измените значение VPNGatewayAddress. Замените предварительный IP-адрес общедоступным IP-адресом шлюза диспетчера ресурсов, затем сохраните изменения.
<VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>Импортируйте измененный файл конфигурации сети в Azure.
Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml
Создание подключения между шлюзами
Для создания подключения между шлюзами требуется PowerShell. Чтобы использовать классическую версию командлетов PowerShell, может потребоваться добавить учетную запись Azure. Чтобы сделать это, используйте команду Add-AzureAccount.
Задайте общий ключ в консоли PowerShell. Перед выполнением командлетов ознакомьтесь с файлом конфигурации сети, который вы скачали, чтобы узнать, какие именно имена ожидает Azure. Если указывается имя виртуальной сети с пробелами, заключите его в одиночные кавычки.
В приведенном ниже примере -VNetName — это имя классической виртуальной сети, а -LocalNetworkSiteName — имя, определенное для сайта локальной сети. Проверьте имена обоих файлов конфигурации сети, загруженных ранее.
-SharedKey — это значение, которое следует создать и задать. В примере мы использовали abc123, но вы можете создать и использовать что-нибудь посложнее. Важно отметить, что заданное здесь значение должно совпадать со значением, которое вы укажете на следующем шаге при создании подключения. В возвращаемом значении должно отображаться Состояние: Успешно.
Set-AzureVNetGatewayKey -VNetName ClassicVNet ` -LocalNetworkSiteName RMVNetSite -SharedKey abc123Создайте VPN-подключение, выполнив следующие команды.
Задайте переменные.
$vnet01gateway = Get-AzLocalNetworkGateway -Name ClassicVNetSite -ResourceGroupName RMRG $vnet02gateway = Get-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRGСоздайте подключение. Обратите внимание, что для параметра -ConnectionType используется значение IPsec, а не Vnet2Vnet.
New-AzVirtualNetworkGatewayConnection -Name RM-Classic -ResourceGroupName RMRG ` -Location "East US" -VirtualNetworkGateway1 ` $vnet02gateway -LocalNetworkGateway2 ` $vnet01gateway -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'
Проверка подключений
Подключение классической виртуальной сети к виртуальной сети RM
Чтобы проверить выполнение подключения, используйте командлет Get-AzureVNetConnection. Этот командлет должен выполняться локально на вашем компьютере.
Используйте командлет из следующего примера, конфигурируя значения в соответствии с вашими нуждами. Если имя виртуальной сети содержит пробелы, оно должно быть заключено в кавычки. Используйте имя виртуальной сети, указанное в файле конфигурации сети.
Get-AzureVNetConnection "ClassicVNet"После завершения работы командлета просмотрите значения. В следующем примере состояние подключения указано как «Подключено», и вы можете увидеть входящие и исходящие байты.
ConnectivityState : Connected EgressBytesTransferred : 0 IngressBytesTransferred : 0 LastConnectionEstablished : 4/25/2022 4:24:34 PM LastEventID : 24401 LastEventMessage : The connectivity state for the local network site 'RMVNetSite' changed from Not Connected to Connected. LastEventTimeStamp : 4/25/2022 4:24:34 PM LocalNetworkSiteName : RMVNetSite OperationDescription : OperationId : OperationStatus :
Подключение виртуальной сети RM к классической виртуальной сети
Убедиться в успешном выполнении подключения можно с помощью командлета Get-AzVirtualNetworkGatewayConnection с параметром -Debug или без него.
Используйте командлет из следующего примера, настроив значения в соответствии с вашими. При появлении запроса выберите "A", чтобы выполнить команду All (Все). В примере параметр --name — это имя подключения, которое требуется проверить.
Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1После завершения работы командлета просмотрите значения. В следующем примере состояние подключения отображается как "Подключено", где вы можете видеть входящие и исходящие байты.
"connectionStatus": "Connected", "ingressBytesTransferred": 33509044, "egressBytesTransferred": 4142431
Следующие шаги
Дополнительные сведения о подключениях между виртуальными сетями см. в разделе вопросы и ответы по VPN-шлюзу.