如何配置虚拟中心路由 - Azure PowerShell

虚拟中心可以包含多个网关,例如站点到站点 VPN 网关、ExpressRoute 网关、点到站点网关以及 Azure 防火墙。 虚拟中心的路由功能由路由器提供,该路由器使用边界网关协议 (BGP) 管理网关之间的所有路由(包括传输路由)。 该虚拟中心路由器还提供与虚拟中心连接的虚拟网络之间的传输连接,可支持高达 50 Gbps 的总吞吐量。 这些路由功能适用于使用标准虚拟 WAN 的客户。 有关详细信息,请参阅关于虚拟中心路由

本文旨在帮助你使用 Azure PowerShell 配置虚拟中心路由。 还可以使用 Azure 门户步骤配置虚拟中心路由。

创建路由表

  1. 获取虚拟中心详细信息以创建路由表。

    $virtualhub = Get-AzVirtualHub -ResourceGroupName "[resource group name]" -Name "[virtualhub name]"
    
  2. 获取要用作下一个跃点的 VNet 连接详细信息。

    $hubVnetConnection = Get-AzVirtualHubVnetConnection -Name "[HubconnectionName]" -ParentResourceName "[Hub Name]" -ResourceGroupName "[resource group name]"
    
  3. 创建要与虚拟中心 $virtualhub 关联的路由。 -NextHop 是虚拟网络连接 $hubVnetConnection。 下一跃点可以是虚拟网络连接或 Azure 防火墙的列表。

    $route = New-AzVHubRoute -Name "[Route Name]" -Destination "[@("Destination prefix")]" -DestinationType "CIDR" -NextHop $hubVnetConnection.Id -NextHopType "ResourceId"
    
  4. 使用在上一步中创建的路由对象创建路由表 $route,并将其与虚拟中心 $virtualhub 关联。

    New-AzVHubRouteTable -Name "testRouteTable" -ParentObject $virtualhub -Route @($route) -Label @("testLabel")
    

删除路由表

Remove-AzVirtualHubRouteTable -ResourceGroupName "[resource group name]" -HubName "virtualhubname" -Name "routeTablename"

更新路由表

本部分中的步骤可帮助你更新路由表。 例如将现有路由的下一跃点更新为现有 Azure 防火墙。

$firewall = Get-AzFirewall -Name "[firewall name]]" -ResourceGroupName "[resource group name]"
$newroute = New-AzVHubRoute -Name "[Route Name]" -Destination @("0.0.0.0/0") -DestinationType "CIDR" -NextHop $firewall.Id -NextHopType "ResourceId"
Update-AzVHubRouteTable -ResourceGroupName "[resource group name]" -VirtualHubName ["virtual hub name"] -Name ["route table name"] -Route @($newroute)

配置虚拟网络连接的路由

本部分中的步骤可帮助你为虚拟网络连接设置路由配置。 例如将静态路由添加到 NVA 设备。

  • 对于该配置而言,路由名称应与之前添加静态路由时使用的路由名称相同。 否则,将在路由表中创建两个路由:一个没有 IP 地址的路由,以及一个具有 IP 地址的路由。
  • 目标前缀可以是一个或多个 CIDR。 对于单个 CIDR,请使用以下格式:@("10.19.2.0/24")。 对于多个 CIDR,请使用以下格式:@("10.19.2.0/24", "10.40.0.0/16")
  1. 定义指向 NVA IP 地址的静态路由。

    $staticRoute = New-AzStaticRoute -Name "[Route Name]" -A-AddressPrefix "[@("Destination prefix")]" -NextHopIpAddress "[Destination NVA IP address]" -NextHopIpAddress "[Destination NVA IP address]" 
    
  2. 定义路由配置。

    $associatedTable = Get-AzVHubRouteTable -ResourceGroupName "[resource group name]" -VirtualHubName $virtualhub.Name -Name "defaultRouteTable"
    $propagatedTable = Get-AzVHubRouteTable -ResourceGroupName "[resource group name]" -VirtualHubName $virtualhub.Name -Name "noneRouteTable"
    $updatedRoutingConfiguration= New-AzRoutingConfiguration -AssociatedRouteTable $associatedTable.Id -Label @("testLabel") -Id @($propagatedTable.Id) -StaticRoute @($staticRoute)
    

注意

对于更新,在使用 New-AzRoutingConfiguration 时,需要提供所有现有配置,例如 AssociatedRouteTables、Labels 和/或 StaticRoutes。 此命令创建一个新配置,该配置将在执行 Update-AzVirtualHubVnetConnection 时覆盖现有配置。

  1. 更新现有虚拟网络连接。

    Update-AzVirtualHubVnetConnection -ResourceGroupName "[resource group name]" -VirtualHubName $virtualhub.Name -Name "[Virtual hub connection name]" -RoutingConfiguration $updatedRoutingConfiguration
    
  2. 验证虚拟网络连接上的静态路由。

    Get-AzVirtualHubVnetConnection -ResourceGroupName "[Resource group name]" -VirtualHubName "[virtual hub name]" -Name "[Virtual hub connection name]"
    

后续步骤