共用方式為


使用 PowerShell 對 Azure 虛擬 WAN 建立站對站連線

本文會示範如何使用虛擬 WAN,透過 PowerShell 並使用 IPsec/IKE (IKEv1 和 IKEv2) VPN 連線來與 Azure 中的資源連線。 此類型的連線需要位於內部部署的 VPN 裝置,且您已對該裝置指派對外開放的公用 IP 位址。 如需有關虛擬 WAN 的詳細資訊,請參閱虛擬 WAN 概觀。 您也可以使用 Azure 入口網站的指示來建立此設定。

Screenshot shows a networking diagram for Virtual WAN.

必要條件

  • 驗證您有 Azure 訂用帳戶。 如果您還沒有 Azure 訂用帳戶,則可以啟用 MSDN 訂戶權益或註冊免費帳戶

  • 決定您要用於您的虛擬中樞私人位址空間的 IP 位址範圍。 設定您的虛擬中樞時會使用此資訊。 虛擬中樞是虛擬 WAN 建立和使用的虛擬網路。 這是您區域中虛擬 WAN 網路的核心。 位址空間範圍必須符合特定規則。

    • 您為中樞指定的位址範圍不能與您連線的任何現有虛擬網路重疊。
    • 位址範圍不能與您連線的內部部署位址範圍重疊。
    • 如果您不熟悉位於內部部署網路設定中的 IP 位址範圍,請與可以為您提供這些詳細資料的人員協調。

Azure PowerShell

本文使用 PowerShell Cmdlet。 若要執行 Cmdlet,您可以使用 Azure Cloud Shell。 Cloud Shell 是免費的互動式殼層,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。

若要開啟 Cloud Shell,只需要選取程式碼區塊右上角的 [開啟 Cloudshell]。 您也可以移至 https://shell.azure.com/powershell,在個別的瀏覽器索引標籤上開啟 Cloud Shell。 選取 [複製] 以複製程式碼區塊、將它們貼上到 Cloud Shell 中,然後選取 Enter 鍵以執行它們。

您也可以在本機電腦上安裝並執行 Azure PowerShell Cmdlet。 PowerShell Cmdlet 會經常更新。 如果您尚未安裝最新版本,指示中指定的值可能會失敗。 若要尋找電腦上安裝的 Azure PowerShell 版本,請使用 Get-Module -ListAvailable Az Cmdlet。 若要安裝或更新,請參閱安裝 Azure PowerShell 模組

登入

如果您使用 Azure Cloud Shell,系統會在開啟 Cloudshell 之後,自動將您導向以登入帳戶。 您不需要執行 Connect-AzAccount。 登入之後,您仍然可以視需要使用 Get-AzSubscriptionSelect-AzSubscription 來變更訂用帳戶。

如果您在本機執行 PowerShell,請以提高的權限開啟 PowerShell 主控台,並連線至您的 Azure 帳戶。 Connect-AzAccount Cmdlet 會提示您輸入認證。 驗證之後,它會下載您的帳戶設定,使其可供 Azure PowerShell 使用。 您可以使用 Get-AzSubscriptionSelect-AzSubscription -SubscriptionName "Name of subscription" 來變更訂用帳戶。

建立虛擬 WAN

您必須先建立資源群組來裝載虛擬 WAN 或使用現有的資源群組,才能建立虛擬 WAN。 使用下列其中一個範例。

此範例會在美國東部位置建立名為 TestRG 的新資源群組。 如果想改用現有的資源群組,您可以修改 $resourceGroup = Get-AzResourceGroup -ResourceGroupName "NameofResourceGroup" 命令,然後使用自有值完成本練習中的步驟。

  1. 建立資源群組。

    New-AzResourceGroup -Location "East US" -Name "TestRG" 
    
  2. 使用 New-AzVirtualWan Cmdlet 建立虛擬 WAN。

    $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 分鐘的時間。

  1. 如果您已關閉 Azure Cloud Shell 或連線逾時,您可能需要再次為 $virtualHub 宣告變數。

    $virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
    
  2. 使用 New-AzVpnGateway Cmdlet 來建立 VPN 閘道。

    New-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
    
  3. 建立 VPN 閘道之後,您可以使用下列範例來檢視它。

    Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
    

建立站台和連線

在本節中,您會建立與實體位置和連線對應的站台。 這些站台包含您的內部部署 VPN 裝置端點,您可以在虛擬 WAN 中為每個虛擬中樞建立最多 1000 個站台。 如果您有多個中樞,您可以為每個中樞建立 1000 個。

  1. 為 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"
    
  2. 建立連結以新增分支上實體連結的相關資訊,包括有關連結速度、連結提供者名稱和內部部署裝置的公用 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"
    
  3. 建立 VPN 站台,參考您剛才建立的 VPN 站台連結的變數。

    如果您已關閉 Azure Cloud Shell 或連線逾時,請重新宣告虛擬 WAN 變數:

    $virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1"
    

    使用 New-AzVpnSite Cmdlet 建立 VPN 網站。

    $vpnSite = New-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1" -Location "westus" -VirtualWan $virtualWan -AddressSpace $vpnSiteAddressSpaces -DeviceModel "SomeDevice" -DeviceVendor "SomeDeviceVendor" -VpnSiteLink @($vpnSiteLink1, $vpnSiteLink2)
    
  4. 建立站台連結連線。 連線是由從分支/站台到可調整閘道的兩個主動-主動通道所組成。

    $vpnSiteLinkConnection1 = New-AzVpnSiteLinkConnection -Name "TestLinkConnection1" -VpnSiteLink $vpnSite.VpnSiteLinks[0] -ConnectionBandwidth 100
    $vpnSiteLinkConnection2 = New-AzVpnSiteLinkConnection -Name "testLinkConnection2" -VpnSiteLink $vpnSite.VpnSiteLinks[1] -ConnectionBandwidth 10
    

將 VPN 站台連線至中樞

使用 New-AzVpnConnection Cmdlet,將 VPN 網站連線到中樞站對站 VPN 閘道。

  1. 執行命令之前,您可能需要重新宣告下列變數:

    $virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1"
    $vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
    $vpnSite = Get-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
    
  2. 將 VPN 站台連線到中樞。

    New-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection" -VpnSite $vpnSite -VpnSiteLinkConnection @($vpnSiteLinkConnection1, $vpnSiteLinkConnection2)
    

將 VNet 連線到您的中樞

下一個步驟是將中樞連線到 VNet。 如果您為此練習建立了新的資源群組,您通常在資源群組中不會已有虛擬網路 (VNet)。 如果您還沒有 VNet,下列步驟可協助您建立。 然後,您可以在中樞與 VNet 之間建立連線。

建立虛擬網路

您可以使用下列範例值來建立 VNet。 務必將範例中的值取代為您用於環境的值。 如需詳細資訊,請參閱快速入門:使用 Azure PowerShell 建立虛擬網路

  1. 建立 VNet。

    $vnet = @{
       Name = 'VNet1'
       ResourceGroupName = 'TestRG'
       Location = 'eastus'
       AddressPrefix = '10.21.0.0/16'
    }
    $virtualNetwork = New-AzVirtualNetwork @vnet
    
  2. 指定子網路設定。

    $subnet = @{
       Name = 'Subnet-1'
       VirtualNetwork = $virtualNetwork
       AddressPrefix = '10.21.0.0/24'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  3. 設定 VNet。

    $virtualNetwork | Set-AzVirtualNetwork
    

將 VNet 連線至中樞

擁有 VNet 之後,請遵循本文中的步驟,將 VNet 連線至 VWAN 中樞:將 VNet 連線至虛擬 WAN 中樞

設定 VPN 裝置

若要設定內部部署 VPN 裝置,請遵循站對站:Azure 入口網站一文中的步驟。

清除資源

當您不再需要您所建立的資源時,請將其刪除。 由於相依性,某些虛擬 WAN 資源必須依特定順序刪除。 刪除需要大約 30 分鐘才能完成。

依下列順序刪除所有閘道實體:

  1. 宣告變數。

    $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"
    
  2. 刪除 VPN 網站的 VPN 閘道連線。

    Remove-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection"
    
  3. 刪除 VPN 閘道。 刪除 VPN 閘道也會移除與其相關聯的所有 VPN ExpressRoute 連線。

    Remove-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
    
  4. 此時,您可以採取下列其中一個做法:

    • 您可以刪除整個資源群組,以刪除其包含的所有剩餘資源,包括中樞、網站和虛擬 WAN。
    • 您可以選擇刪除資源群組中的每個資源。

    若要刪除整個資源群組:

    Remove-AzResourceGroup -Name "TestRG"
    

    若要刪除資源群組中的每個資源:

    • 刪除 VPN 網站。

      Remove-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
      
    • 刪除虛擬中樞。

      Remove-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
      
    • 刪除虛擬 WAN。

      Remove-AzVirtualWan -Name "TestVWAN1" -ResourceGroupName "TestRG"
      

下一步

接下來,請參閱虛擬 WAN 常見問題集來深入了解虛擬 WAN。