Создание подключения типа "сеть — сеть" с Виртуальной глобальной сетью Azure с помощью PowerShell
В этой статье объясняется, как создать подключение к ресурсам в Azure через VPN-соединение IPsec/IKE (IKEv1 и IKEv2) с помощью Виртуальной глобальной сети через PowerShell. Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес. Дополнительные сведения о Виртуальной глобальной сети см. в этой статье. Эту конфигурацию также можно создать с помощью инструкций портал Azure.
Предварительные требования
Убедитесь в том, что у вас уже есть подписка Azure. Если у вас нет подписки Azure, вы можете активировать преимущества для подписчиков MSDN или зарегистрировать бесплатную учетную запись.
Выберите диапазон IP-адресов, который вы хотите использовать для пространства частных адресов виртуального концентратора. Эти сведения используются при настройке виртуального концентратора. Виртуальный концентратор — это виртуальная сеть, которая создается и используется Виртуальной глобальной сетью. Это основа вашей Виртуальной глобальной сети в регионе. Диапазон адресного пространства должен соответствовать определенным правилам.
- Диапазон адресов, который вы указываете для концентратора, не может пересекаться с любой из существующих виртуальных сетей, к которым вы подключаетесь.
- Указанный диапазон не может пересекаться с диапазонами локальных адресов, к которым вы подключаетесь.
- Если вы не знаете диапазоны IP-адресов в своей конфигурации локальной сети, обратитесь к специалисту, который сможет предоставить вам нужную информацию.
Azure PowerShell
В этой статье используются командлеты PowerShell. Для запуска командлетов можно использовать Azure Cloud Shell. Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.
Чтобы открыть Cloud Shell, просто выберите Открыть Cloudshell в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/powershell. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте их в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить код.
Кроме того, вы можете установить и запускать командлеты Azure PowerShell локально на компьютере. Командлеты PowerShell часто обновляются. Если вы еще не установили последнюю версию, значения, указанные в инструкциях, могут завершиться ошибкой. Чтобы узнать, какая версия Azure PowerShell установлена на вашем компьютере, используйте командлет Get-Module -ListAvailable Az
. Если необходимо выполнить установку или обновление, см. статью об установке модуля Azure PowerShell.
Войти
Если вы используете Azure Cloud Shell вы будете автоматически перенаправлены на вход в свою учетную запись после открытия Cloudshell. Вам не нужно выполнять Connect-AzAccount
. После входа вы по-прежнему можете изменять подписки при необходимости с помощью Get-AzSubscription
и Select-AzSubscription
.
Если вы используете PowerShell локально, откройте консоль PowerShell с повышенными привилегиями и подключитесь к учетной записи Azure. Командлет Connect-AzAccount
запрашивает учетные данные. После аутентификации будут скачаны параметры вашей учетной записи, чтобы они были доступны для Azure PowerShell. Подписку можно изменить с помощью Get-AzSubscription
и Select-AzSubscription -SubscriptionName "Name of subscription"
.
Создание виртуальной глобальной сети
Перед созданием виртуальной глобальной сети для ее размещения необходимо создать группу ресурсов или выбрать существующую. Используйте один из следующих примеров.
В этом примере создается новая группа ресурсов с именем TestRG в расположении "Восточная часть США ". Если вы хотите использовать существующую группу ресурсов, можно изменить $resourceGroup = Get-AzResourceGroup -ResourceGroupName "NameofResourceGroup"
команду, а затем выполнить действия в этом упражнении, используя собственные значения.
Создайте группу ресурсов.
New-AzResourceGroup -Location "East US" -Name "TestRG"
Создайте виртуальную глобальную сеть с помощью командлета New-AzVirtualWan .
$virtualWan = New-AzVirtualWan -ResourceGroupName TestRG -Name TestVWAN1 -Location "East US"
Создание центра и настройка параметров концентратора
Концентратор — это виртуальная сеть, которая может содержать шлюзы для подключений "сеть — сеть", "точка — сеть" или каналов ExpressRoute. Создайте виртуальный концентратор с New-AzVirtualHub. В этом примере создается виртуальный концентратор по умолчанию с именем Hub1 с указанным префиксом адреса и расположением для концентратора.
$virtualHub = New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "TestRG" -Name "Hub1" -AddressPrefix "10.1.0.0/16" -Location "westus"
создание шлюза VPN типа "сеть — сеть";
В этом разделе описано, как создать VPN-шлюз типа "сеть — сеть" в том же расположении, что и указанный виртуальный концентратор. При создании VPN-шлюза необходимо указать нужные единицы масштабирования. Создание шлюза занимает около 30 минут.
Если вы закрыли Cloud Shell Azure или истекло время ожидания подключения, может потребоваться снова объявить переменную для $virtualHub.
$virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
Создайте VPN-шлюз с помощью командлета New-AzVpnGateway .
New-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
После создания шлюза VPN его можно просмотреть, используя следующий пример.
Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
Создание сайта и подключений
В этом разделе вы создадите сайты, соответствующие вашим физическим расположениям и подключениям. Эти узлы содержат локальные конечные точки VPN-устройств. Можно создать до 1000 сайтов для каждого виртуального концентратора в Виртуальной глобальной сети. Если у вас несколько концентраторов, можно создать по 1000 сайтов для каждого из них.
Задайте переменные для VPN-шлюза и пространства IP-адресов, расположенного на локальном сайте. Трафик, предназначенный для этого адресного пространства, перенаправляется на ваш локальный сайт. Это необходимо, если для узла не включен протокол BGP.
$vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" $vpnSiteAddressSpaces = New-Object string[] 2 $vpnSiteAddressSpaces[0] = "192.168.2.0/24" $vpnSiteAddressSpaces[1] = "192.168.3.0/24"
Создайте ссылки для добавления сведений о физических каналах филиала, включая метаданные о скорости связи, имени поставщика связи и общедоступном IP-адресе локального устройства.
$vpnSiteLink1 = New-AzVpnSiteLink -Name "TestSite1Link1" -IpAddress "15.25.35.45" -LinkProviderName "SomeTelecomProvider" -LinkSpeedInMbps "10" $vpnSiteLink2 = New-AzVpnSiteLink -Name "TestSite1Link2" -IpAddress "15.25.35.55" -LinkProviderName "SomeTelecomProvider2" -LinkSpeedInMbps "100"
Создайте сайт VPN, используя переменные со ссылками на VPN-сайт, которые вы только что создали.
Если вы закрыли Cloud Shell Azure или истекло время ожидания подключения, повторно объявите переменную виртуальной глобальной сети:
$virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1"
Создайте сайт VPN с помощью командлета New-AzVpnSite .
$vpnSite = New-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1" -Location "westus" -VirtualWan $virtualWan -AddressSpace $vpnSiteAddressSpaces -DeviceModel "SomeDevice" -DeviceVendor "SomeDeviceVendor" -VpnSiteLink @($vpnSiteLink1, $vpnSiteLink2)
Создайте подключение между сайтом и каналом. Подключение состоит из двух туннелей "активный — активный" из ветви или сайта в масштабируемый шлюз.
$vpnSiteLinkConnection1 = New-AzVpnSiteLinkConnection -Name "TestLinkConnection1" -VpnSiteLink $vpnSite.VpnSiteLinks[0] -ConnectionBandwidth 100 $vpnSiteLinkConnection2 = New-AzVpnSiteLinkConnection -Name "testLinkConnection2" -VpnSiteLink $vpnSite.VpnSiteLinks[1] -ConnectionBandwidth 10
Подключение сайта VPN к концентратору
Подключите vpn-сайт к VPN-шлюзу типа "сеть — сеть" концентратора с помощью командлета New-AzVpnConnection .
Перед выполнением команды может потребоваться повторно объявить следующие переменные:
$virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1" $vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" $vpnSite = Get-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
Подключите сайт VPN к концентратору.
New-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection" -VpnSite $vpnSite -VpnSiteLinkConnection @($vpnSiteLinkConnection1, $vpnSiteLinkConnection2)
Подключение виртуальной сети к концентратору
Следующим шагом является подключение концентратора к виртуальной сети. Если вы создали новую группу ресурсов для этого упражнения, обычно у вас не будет виртуальной сети в группе ресурсов. Приведенные ниже действия помогут вам создать виртуальную сеть, если у вас ее еще нет. Затем можно создать подключение между концентратором и виртуальной сетью.
Создание виртуальной сети
Для создания виртуальной сети можно использовать следующие примеры значений. Обязательно замените значения в примерах значениями, которые использовались для вашей среды. Дополнительные сведения см. в статье Краткое руководство. Создание виртуальной сети с помощью Azure PowerShell.
Как создать виртуальную сеть.
$vnet = @{ Name = 'VNet1' ResourceGroupName = 'TestRG' Location = 'eastus' AddressPrefix = '10.21.0.0/16' } $virtualNetwork = New-AzVirtualNetwork @vnet
Укажите параметры подсети.
$subnet = @{ Name = 'Subnet-1' VirtualNetwork = $virtualNetwork AddressPrefix = '10.21.0.0/24' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Задайте виртуальную сеть.
$virtualNetwork | Set-AzVirtualNetwork
Подключение виртуальной сети к концентратору.
После создания виртуальной сети выполните действия, описанные в этой статье, чтобы подключить виртуальную сеть к концентратору VWAN: Подключение виртуальной сети к Виртуальная глобальная сеть концентратору.
Настройка VPN-устройства
Чтобы настроить локальное VPN-устройство, выполните действия, описанные в статье Сеть — сеть: портал Azure.
Очистка ресурсов
Если созданные ресурсы вам больше не нужны, удалите их. Некоторые ресурсы Виртуальной глобальной сети необходимо удалять в определенном порядке с учетом зависимостей. Удаление может занять около 30 минут.
Удалите все сущности шлюза в следующем порядке:
Объявите переменные.
$resourceGroup = Get-AzResourceGroup -ResourceGroupName "TestRG" $virtualWan = Get-AzVirtualWan -ResourceGroupName "TestRG" -Name "TestVWAN1" $virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1" $vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
Удалите подключение VPN-шлюза к VPN-сайтам.
Remove-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection"
Удалите VPN-шлюз. При удалении VPN-шлюза также будут удалены все связанные с ним подключения ExpressRoute.
Remove-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
На этом этапе можно выполнить одно из двух действий:
- Вы можете удалить всю группу ресурсов, чтобы удалить все оставшиеся ресурсы, которые она содержит, включая концентраторы, сайты и виртуальную глобальную сеть.
- Вы можете удалить каждый из ресурсов в группе ресурсов.
Чтобы удалить всю группу ресурсов, выполните следующие действия.
Remove-AzResourceGroup -Name "TestRG"
Чтобы удалить каждый ресурс в группе ресурсов, выполните следующие действия.
Удалите сайт VPN.
Remove-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
Удалите виртуальный концентратор.
Remove-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
Удалите Виртуальную глобальную сеть.
Remove-AzVirtualWan -Name "TestVWAN1" -ResourceGroupName "TestRG"
Дальнейшие действия
Дополнительные сведения о Виртуальной глобальной сети см. в статье Вопросы и ответы о Виртуальной глобальной сети.