Краткое руководство. Создание и настройка сервера маршрутизации с помощью Azure PowerShell

Эта статья поможет вам настроить Azure Route Server для пиринга с виртуальным сетевым модулем (NVA) в виртуальной сети с помощью Azure PowerShell. Route Server изучает маршруты из виртуального виртуального модуля и программирует их на виртуальных машинах в виртуальной сети. Azure Route Server также объявляет маршруты виртуальной сети в NVA. См. дополнительные сведения об Azure Route Server.

Схема среды развертывания Route Server с использованием Azure PowerShell.

Важно!

Серверы Azure Route Server, созданные до 1 ноября 2021 г. и не имеющие связанных общедоступных IP-адресов, развертываются в рамках предложения общедоступной предварительной версии. На предложение общедоступной предварительной версии не распространяется поддержка и соглашение об уровне обслуживания для общедоступной версии. Чтобы развернуть Azure Route Server в рамках предложения общедоступной версии и получить поддержку и соглашение об уровне обслуживания для общедоступной версии, удалите Route Server и создайте его заново.

Предварительные требования

Создание группы ресурсов и виртуальной сети

Создание группы ресурсов

Прежде чем создавать сервер Azure Route Server, необходимо создать группу ресурсов для его размещения. Создайте группу ресурсов с помощью командлета New-AzResourceGroup. В следующем примере создается группа ресурсов с именем myRouteServerRG в расположении WestUS.

$rg = @{
    Name = 'myRouteServerRG'
    Location = 'WestUS'
}
New-AzResourceGroup @rg

Создание виртуальной сети

Создайте виртуальную сеть с помощью командлета New-AzVirtualNetwork. В этом примере создается виртуальная сеть по умолчанию с именем myVirtualNetwork в расположении WestUS. Если у вас уже есть виртуальная сеть, можно перейти к следующему разделу.

$vnet = @{
    Name = 'myVirtualNetwork'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AddressPrefix = '10.0.0.0/16'    
}
$virtualNetwork = New-AzVirtualNetwork @vnet

Добавление выделенной подсети

Для Azure Route Server требуется выделенная подсеть с именем RouteServerSubnet. Размер подсети должен быть не менее /27 или меньше префикса (например, /26 или /25), иначе при развертывании сервера маршрутизации вы получите сообщение об ошибке. Создайте конфигурации подсети с именем RouteServerSubnet с помощью командлета Add-AzVirtualNetworkSubnetConfig.

$subnet = @{
    Name = 'RouteServerSubnet'
    VirtualNetwork = $virtualNetwork
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet

$virtualnetwork | Set-AzVirtualNetwork

$vnetInfo = Get-AzVirtualNetwork -Name myVirtualNetwork -ResourceGroupName myRouteServerRG
$subnetId = (Get-AzVirtualNetworkSubnetConfig -Name RouteServerSubnet -VirtualNetwork $vnetInfo).Id

Создание сервера маршрутизации

  1. Чтобы гарантировать подключение к внутренней службе, управляющей конфигурацией Route Server, необходимо назначить общедоступный IP-адрес. С помощью командлета New-AzPublicIpAddress создайте стандартный общедоступный IP-адрес с именем RouteServerIP.

    $ip = @{
        Name = 'myRouteServerIP'
        ResourceGroupName = 'myRouteServerRG'
        Location = 'WestUS'
        AllocationMethod = 'Static'
        IpAddressVersion = 'Ipv4'
        Sku = 'Standard'
    }
    $publicIp = New-AzPublicIpAddress @ip
    
  2. Создайте Azure Route Server с помощью командлета New-AzRouteServer. В этом примере создается сервер Azure Route Server с именем myRouteServer в расположении WestUS. HostedSubnet — это идентификатор ресурса RouteServerSubnet, созданный в предыдущем разделе.

    $rs = @{
        RouteServerName = 'myRouteServer'
        ResourceGroupName = 'myRouteServerRG'
        Location = 'WestUS'
        HostedSubnet = $subnetId
        PublicIP = $publicIp
    }
    New-AzRouteServer @rs 
    

Создание пиринга BGP с NVA

Чтобы установить пиринг BGP с сервера Route Server к NVA, используйте командлет Add-AzRouteServerPeer:

your_nva_ip — это IP-адрес виртуальной сети, назначенный NVA. your_nva_asn — это номер ASN, настроенный в NVA. Номер ASN может быть любым 16-разрядным числом, отличающимся от значений в диапазоне 65515–65520. Этот диапазон ASN зарезервирован корпорацией Майкрософт.

$peer = @{
    PeerName = 'myNVA'
    PeerIp = 'your_nva_ip'
    PeerAsn = 'your_nva_asn'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer

Чтобы настроить пиринг с другим NVA или другим экземпляром того же NVA для обеспечения избыточности, используйте приведенную выше команду с другими значениями PeerName, PeerIp и PeerAsn.

Завершение настройки NVA

Чтобы завершить настройку NVA и включить сеансы BGP, требуется IP-адрес и номер ASN сервера маршрутизации Azure. Эти данные можно получить с помощью командлета Get-AzRouteServer.

$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Get-AzRouteServer @routeserver

Данные результата выглядят следующим образом:

RouteServerAsn : 65515
RouteServerIps : {10.5.10.4, 10.5.10.5}

Важно!

Мы рекомендуем выполнить пиринг каждого NVA с обоими экземплярами Route Server, чтобы обеспечить объявление маршрутов виртуальной сети через подключения NVA и обеспечить высокий уровень доступности.

Настройка обмена маршрутами

Если у вас есть шлюз виртуальной сети (ExpressRoute или VPN) в той же виртуальной сети, вы можете включить BranchToBranchTraffic для обмена маршрутами между шлюзом и сервером маршрутизации.

Важно!

VPN-шлюз Azure должен быть настроен в режиме "активный — активный " и иметь asn 65515.

Предупреждение

При создании или удалении сервера маршрутизации в виртуальной сети, содержащей шлюз виртуальной сети (ExpressRoute или VPN), ожидайте простоя до завершения операции. Если у вас есть канал ExpressRoute, подключенный к виртуальной сети, в которой вы создаете или удаляете сервер Маршрутизации, простой не влияет на канал ExpressRoute или его подключения к другим виртуальным сетям.

  1. Чтобы включить обмен маршрутами между Azure Route Server и шлюзами, используйте командлет Update-AzRouteServer с флагом -AllowBranchToBranchTraffic.
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    AllowBranchToBranchTraffic
}  
Update-AzRouteServer @routeserver 
  1. Чтобы отключить обмен маршрутами между Azure Route Server и шлюзами, используйте командлет Update-AzRouteServer без флага -AllowBranchToBranchTraffic.
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
}  
Update-AzRouteServer @routeserver 

Устранение неполадок

Используйте командлет Get-AzRouteServerPeerAdvertisedRoute, чтобы просмотреть маршруты, объявляемые сервером Azure Route Server.

$remotepeer = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    PeerName = 'myNVA'
}
Get-AzRouteServerPeerAdvertisedRoute @remotepeer

Используйте командлет Get-AzRouteServerPeerLearnedRoute, чтобы просмотреть маршруты, полученные сервером Azure Route Server.

$remotepeer = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    PeerName = 'myNVA'
}  
Get-AzRouteServerPeerLearnedRoute @remotepeer

Очистка ресурсов

Если сервер Azure Route Server больше не нужен, удалите пиринг BGP с помощью первой команды и сервер Route Server с помощью второй.

  1. Удалите пиринг BGP между Azure Route Server и NVA с помощью командлета Remove-AzRouteServerPeer.
$remotepeer = @{
    PeerName = 'myNVA'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Remove-AzRouteServerPeer @remotepeer
  1. Удалите Azure Route Server с помощью командлета Remove-AzRouteServer.
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Remove-AzRouteServer @routeserver

Дальнейшие действия

Создав сервер Azure Route Server, вы можете продолжить изучение способов взаимодействия Azure Route Server с ExpressRoute и VPN-шлюзами: