共用方式為


如何設定虛擬中樞路由 - 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 位址。
  • 目的地首碼可以是一個 CIDR 或多個 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]"
    

下一步