部署 Azure 路由服务器

已完成

若要创建和配置 Azure 路由服务器,可以使用多种工具,例如 Azure 门户、Azure PowerShell、Azure CLI 或 Azure 资源管理器模板。

在 Azure 门户中配置 Azure 路由服务器

若要在 Azure 门户中创建和配置 Azure 路由服务器,应遵循与创建任何其他 Azure 资源相同的过程。 在开始创建 Azure 路由服务器之前,请先确保拥有一个现有的虚拟网络,其中包含一个名为 RouteServerSubnet 的子网。 此子网应至少具有 /27 网络前缀。 此外,此虚拟网络应位于要在其中创建 Azure 路由服务器的同一资源组和同一位置中。

启动创建 Azure 路由服务器的向导时,将显示下面这组选项:

创建路由服务器页面的屏幕截图,其中选择了“基本信息”选项卡。

首先应选择适当的 Azure 订阅。 然后,根据所选订阅,选择要在其中放置 Azure 路由服务器和其他资源的资源组。

选择 Azure 路由服务器的实例名称,然后选择虚拟网络所在的区域。 确保选择正确的区域,否则将无法选择虚拟网络。

为 Azure 路由服务器选择虚拟网络时,将自动选择相应的名为 RouteServerSubnet 的子网。 此外,还可以选择通过此向导创建子网。

在最后一组选项中,需要为 Azure 路由服务器创建一个公共 IP 地址。 可以选择现有的公共 IP(如果以前有),也可以创建一个新的公共 IP。 虽然 Azure 路由服务器实际上并不会管理网络之间的数据,但它需要一个公共 IP 地址来帮助确保连接到管理路由服务器配置的后端服务。 目前,仅支持 IPv4 地址。

在创建 Azure 路由服务器对象之前,可以为其分配一个标签。 标签是名称/值对,使你能够对资源进行分类并查看合并的帐单。 为此,可以将相同的标签应用于多个资源和资源组。 但这并不是必需的。

创建 Azure 路由服务器对象后,需要添加其对等节点,以便它可以交换路由信息。 在 Azure 路由服务器门户中,导航到“对等节点”,然后选择“+添加”。 若要添加对等节点,需要提供对等节点名称、ASN 编号和 Azure 路由服务器可访问的对等接口的 IP 地址。 以下屏幕截图描绘了这些设置的示例:

“添加对等节点”部分的屏幕截图,其中已填写“名称”、“ASN”和“IPV4 地址”框。

将一个或多个对等节点添加到 Azure 路由服务器对象后,它将开始使用 BGP 了解和交换路由。 但是,不能使用 Azure 门户查看这些路由。 如果要查看 Azure 路由服务器从其对等节点接收到的路由,则需要使用 Get-AzRouteServerPeerLearnedRoute cmdlet。 对于此命令,需要提供 Azure 路由服务器和资源组的名称。 还需要提供对等节点的名称,因为路由是按对等节点列出的。 例如:

Get-AzRouteServerPeerLearnedRoute -RouteServerName TestARS -ResourceGroupName RG1 -PeerName NVA1 | ft

此命令将提供路由列表,如以下屏幕截图所示:

路由列表的屏幕截图。

使用 Azure PowerShell 创建 Azure 路由服务器

若要自动进行 Azure 路由服务器部署,可以使用 Azure PowerShell cmdlet。 Azure PowerShell 完全支持 Azure 路由服务器部署和配置。 以下代码创建一个名为 myRouteServerRG 的资源组、同一资源组中一个名为 myVirtualNetwork 的虚拟网络、适用于 Azure 路由服务器的一个名为 RouteServerSubnet 的专用子网和一个名为 myRouteServer 的路由服务器对象。 最后,它配置与其 BGP 对等节点 myNVA 的连接。

$rg = @{
    Name = 'myRouteServerRG'
    Location = 'WestUS'
}
New-AzResourceGroup @rg
$vnet = @{
    Name = 'myVirtualNetwork'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AddressPrefix = '10.0.0.0/16'    
}
$virtualNetwork = New-AzVirtualNetwork @vnet
$subnet = @{
    Name = 'RouteServerSubnet'
    VirtualNetwork = $virtualNetwork
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
$virtualnetwork | Set-AzVirtualNetwork
$ip = @{
    Name = 'myRouteServerIP'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AllocationMethod = 'Static'
    IpAddressVersion = 'Ipv4'
    Sku = 'Standard'
}
$publicIp = New-AzPublicIpAddress @ip
$rs = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    HostedSubnet = $subnetConfig.Id
    PublicIP = $publicIp
}
New-AzRouteServer @rs
$peer = @{
    PeerName = 'myNVA'
    PeerIp = '192.168.0.1'
    PeerAsn = '65501'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Get-AzRouteServer @routeserver