規劃及實作虛擬寬區域網路,包括安全的虛擬中樞
虛擬 WAN 會透過 IPsec/IKE (IKEv1 和 IKEv2) VPN 連線,來連線到 Azure 中的資源。 此類型的連線需要位於內部部署的 VPN 裝置,且您已對該裝置指派對外開放的公用 IP 位址。
必要條件
驗證您有 Azure 訂用帳戶。 如果您還沒有 Azure 訂用帳戶,則可以啟用 MSDN 訂戶權益或註冊免費帳戶。
決定您要用於您的虛擬中樞私人位址空間的 IP 位址範圍。 設定您的虛擬中樞時會使用此資訊。 虛擬中樞是虛擬 WAN 建立和使用的虛擬網路。 這是您區域中虛擬 WAN 網路的核心。 位址空間範圍必須符合特定規則。
- 您為中樞指定的位址範圍不能與您連線的任何現有虛擬網路重疊。
- 位址範圍不能與您連線的內部部署位址範圍重疊。
- 如果您不熟悉位於內部部署網路設定中的 IP 位址範圍,請與可以為您提供這些詳細資料的人員協調。
- 您為中樞指定的位址範圍不能與您連線的任何現有虛擬網路重疊。
Azure 入口網站或 Azure PowerShell
您可以使用 Azure 入口網站或 Azure PowerShell Cmdlet 來建立與 Azure 虛擬 WAN 的站對站連線。 Cloud Shell 是免費的互動式殼層,其已預先安裝常見的 Azure 工具並設定為搭配您的帳戶使用。
若要開啟 Cloud Shell,只要從程式碼區塊右上角選取 [開啟 Cloud Shell]。 您也可以移至 https://shell.azure.com/powershell,在個別的瀏覽器索引標籤上開啟 Cloud Shell。 選取 [複製] 以複製程式碼區塊、將它們貼上到 Cloud Shell 中,然後選取 Enter 鍵以執行它們。
您也可以在本機電腦上安裝並執行 Azure PowerShell Cmdlet。 PowerShell Cmdlet 會經常更新。 如果您尚未安裝最新版本,指示中指定的值可能會失敗。 若要尋找電腦上安裝的 Azure PowerShell 版本,請使用 Get-Module -ListAvailable Az cmdlet
。
登入
如果您使用 Azure Cloud Shell,在開啟 Cloud Shell 之後,系統會自動將您導向,以登入您的帳戶。 您不需要執行 Connect-AzAccount
。 登入之後,您仍然可以視需要使用 Get-AzSubscription
和 Select-AzSubscription
來變更訂用帳戶。
如果您是在本機執行 PowerShell,請使用較高的權限來開啟 PowerShell 主控台,並連線到您的 Azure 帳戶。 Connect-AzAccount Cmdlet 會提示您輸入認證。 驗證之後,它會下載您的帳戶設定,使其可供 Azure PowerShell 使用。 您可以使用 Get-AzSubscription
和 Select-AzSubscription -SubscriptionName "Name of subscription"
來變更訂用帳戶。
建立虛擬 WAN
您必須先建立資源群組來裝載虛擬 WAN 或使用現有的資源群組,才能建立虛擬 WAN。 使用下列其中一個範例。
此範例會在美國東部位置建立名為 TestRG 的新資源群組。 如果想改用現有的資源群組,您可以修改 $resourceGroup = Get-AzResourceGroup -ResourceGroupName "NameofResourceGroup"
命令,然後使用自有值完成本練習中的步驟。
建立資源群組。
New-AzResourceGroup -Location "East US" -Name "TestRG"
使用 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 分鐘的時間。
如果您已關閉 Azure Cloud Shell 或連線逾時,您可能需要再次為 $virtualHub 宣告變數。
$virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
使用 New-AzVpnGateway Cmdlet 來建立 VPN 閘道。
New-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
建立 VPN 閘道之後,您可以使用下列範例來檢視它。
Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
建立站台和連線
在本節中,您會建立與實體位置和連線對應的站台。 這些站台包含您的內部部署 VPN 裝置端點,您可以在虛擬 WAN 中為每個虛擬中樞建立最多 1000 個站台。 如果您有多個中樞,您可以為每個中樞建立 1000 個。
為 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"
建立連結以新增分支上實體連結的相關資訊,包括有關連結速度、連結提供者名稱和內部部署裝置的公用 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"
建立 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)
建立站台連結連線。 連線是由從分支/站台到可調整閘道的兩個主動-主動通道所組成。
$vpnSiteLinkConnection1 = New-AzVpnSiteLinkConnection -Name "TestLinkConnection1" -VpnSiteLink $vpnSite.VpnSiteLinks[0] -ConnectionBandwidth 100 $vpnSiteLinkConnection2 = New-AzVpnSiteLinkConnection -Name "testLinkConnection2" -VpnSiteLink $vpnSite.VpnSiteLinks[1] -ConnectionBandwidth 10
將 VPN 站台連線至中樞
執行命令之前,您可能需要重新宣告下列變數:
$virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1" $vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" $vpnSite = Get-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
將 VPN 站台連線到中樞。
New-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection" -VpnSite $vpnSite -VpnSiteLinkConnection @($vpnSiteLinkConnection1, $vpnSiteLinkConnection2)
將 VNet 連線到您的中樞
下一個步驟是將中樞連線到 VNet。 如果您為此練習建立了新的資源群組,您通常在資源群組中不會已有虛擬網路 (VNet)。 如果您還沒有 VNet,下列步驟可協助您建立。 然後,您可以在中樞與 VNet 之間建立連線。
建立虛擬網路
您可以使用下列範例值來建立 VNet。 務必將範例中的值取代為您用於環境的值。
建立 VNet。
$vnet = @{ Name = 'VNet1' ResourceGroupName = 'TestRG' Location = 'eastus' AddressPrefix = '10.21.0.0/16' } $virtualNetwork = New-AzVirtualNetwork @vnet
指定子網路設定。
$subnet = @{ Name = 'Subnet-1' VirtualNetwork = $virtualNetwork AddressPrefix = '10.21.0.0/24' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
設定 VNet。
$virtualNetwork | Set-AzVirtualNetwork
將 VNet 連線至中樞
下列步驟可讓您使用 PowerShell 將虛擬網路連線到虛擬中樞。 您也可以使用 Azure 入口網站來完成這項工作。 為您想要連線的每個 VNet 重複這些步驟。
建立連線之前,請注意下列事項:
- 虛擬網路一次只能連線至一個虛擬中樞。
- 若要將其連線至虛擬中樞,遠端虛擬網路不能有閘道。
- 某些組態設定 (例如 [傳播靜態路由]),目前只能在 Azure 入口網站中進行設定。
如果虛擬中樞中有 VPN 閘道,則此作業以及已連線的 VNet 上的任何其他寫入作業可能會導致對點對站用戶端中斷連線,以及站對站通道和邊界閘道協定 (BGP) 工作階段的重新連線。
新增連線
宣告現有資源的變數,包括現有虛擬網路。
$resourceGroup = Get-AzResourceGroup -ResourceGroupName "TestRG" $virtualWan = Get-AzVirtualWan -ResourceGroupName "TestRG" -Name "TestVWAN1" $virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1" $remoteVirtualNetwork = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG"
建立連線,以將虛擬網路對等互連至虛擬中樞。
New-AzVirtualHubVnetConnection -ResourceGroupName "TestRG" -VirtualHubName "Hub1" -Name "VNet1-connection" -RemoteVirtualNetwork $remoteVirtualNetwork
設定 VPN 裝置
下載 VPN 組態
若要設定您的內部部署 VPN 裝置,請使用 VPN 裝置設定檔。 以下是基本步驟:
從您的虛擬 WAN 頁面,移至中樞 ->您的虛擬中樞 ->VPN (站對站) 頁面。
在 [VPN (站對站)] 頁面頂端按一下 [下載 VPN 設定]。當 Azure 在資源群組 'microsoft-network-[location]' 中建立新儲存體帳戶時,您會看到一系列的訊息,其中 location 是 WAN 的位置。 您也可以新增現有的儲存體帳戶,方法是按一下 [使用現有],然後新增已啟用寫入權限的有效 SAS URL。
檔案建立完成後,請按一下連結以下載檔案。 所提供 SAS URL 位置就會建立具有 VPN 設定的新檔案。
將組態套用至您的內部部署 VPN 裝置。 如需詳細資訊,請參閱本節中的 VPN 裝置設定。
將設定套用至 VPN 裝置之後,您就不需要保留所建立的儲存體帳戶。
虛擬中樞虛擬網路的位址空間。
範例:
"AddressSpace":"10.1.0.0/24"
連線到虛擬中樞之虛擬網路的位址空間。
範例:
"ConnectedSubnets":["10.2.0.0/16","10.3.0.0/16"]
虛擬中樞 vpngateway 的 IP 位址空間。 由於每個 vpngateway 連線都由「主動對主動」設定中的 2 個通道組成,因此您會看到此檔案中列出這兩個 IP 位址。 在此範例中,您會看到每個網站的 "Instance0" 和 "Instance1"。
範例:
"Instance0":"nnn.nn.nn.nnn"
"Instance1":"nnn.nn.nn.nnn"
公用 IP 位址:由 Azure 指派。
私人 IP 位址:由 Azure 指派。
預設 BGP IP 位址:由 Azure 指派。
自訂 BGP IP 位址:此欄位會保留給 APIPA (自動私人 IP 定址)。 Azure 在範圍 169.254.21.* 和 169.254.22.* 支援 BGP IP。 Azure 會接受這些範圍內的 BGP 連線,但會使用預設的 BGP IP 來進行撥號連線。 使用者可以針對每個執行個體指定多個自訂 BGP IP 位址。 兩個執行個體不應該使用相同的自訂 BGP IP 位址。
VPN 裝置設定檔
裝置設定檔包含了設定內部部署 VPN 裝置時所要使用的設定。 當您檢視此檔案時,請注意下列資訊:
- vpnSiteConfiguration - 此區段代表設定為連線到虛擬 WAN 的站點的裝置詳細資料。 它包含分支裝置的名稱和公用 IP 位址。
vpnSiteConnections - 此區段提供與下列設定有關的資訊:
- Vpngateway 連線設定詳細資料,例如 BGP、預先共用金鑰等。PSK 是自動為您產生的預先共用金鑰。 對於自訂預先共用金鑰 (PSK),您可隨時在 [概觀] 頁面上編輯連線。
範例裝置設定檔
{ "configurationVersion":{ "LastUpdatedTime":"2018-07-03T18:29:49.8405161Z", "Version":"r403583d-9c82-4cb8-8570-1cbbcd9983b5" }, "vpnSiteConfiguration":{ "Name":"testsite1", "IPAddress":"73.239.3.208" }, "vpnSiteConnections":[ { "hubConfiguration":{ "AddressSpace":"10.1.0.0/24", "Region":"West Europe", "ConnectedSubnets":[ "10.2.0.0/16", "10.3.0.0/16" ] }, "gatewayConfiguration":{ "IpAddresses":{ "Instance0":"104.45.18.186", "Instance1":"104.45.13.195" } }, "connectionConfiguration":{ "IsBgpEnabled":false, "PSK":"bkOWe5dPPqkx0DfFE3tyuP7y3oYqAEbI", "IPsecParameters":{ "SADataSizeInKilobytes":102400000, "SALifeTimeInSeconds":3600 } } } ] }, { "configurationVersion":{ "LastUpdatedTime":"2018-07-03T18:29:49.8405161Z", "Version":"1f33f891-e1ab-42b8-8d8c-c024d337bcac" }, "vpnSiteConfiguration":{ "Name":" testsite2", "IPAddress":"66.193.205.122" }, "vpnSiteConnections":[ { "hubConfiguration":{ "AddressSpace":"10.1.0.0/24", "Region":"West Europe" }, "gatewayConfiguration":{ "IpAddresses":{ "Instance0":"104.45.18.187", "Instance1":"104.45.13.195" } }, "connectionConfiguration":{ "IsBgpEnabled":false, "PSK":"XzODPyAYQqFs4ai9WzrJour0qLzeg7Qg", "IPsecParameters":{ "SADataSizeInKilobytes":102400000, "SALifeTimeInSeconds":3600 } } } ] }, { "configurationVersion":{ "LastUpdatedTime":"2018-07-03T18:29:49.8405161Z", "Version":"cd1e4a23-96bd-43a9-93b5-b51c2a945c7" }, "vpnSiteConfiguration":{ "Name":" testsite3", "IPAddress":"182.71.123.228" }, "vpnSiteConnections":[ { "hubConfiguration":{ "AddressSpace":"10.1.0.0/24", "Region":"West Europe" }, "gatewayConfiguration":{ "IpAddresses":{ "Instance0":"104.45.18.187", "Instance1":"104.45.13.195" } }, "connectionConfiguration":{ "IsBgpEnabled":false, "PSK":"YLkSdSYd4wjjEThR3aIxaXaqNdxUwSo9", "IPsecParameters":{ "SADataSizeInKilobytes":102400000, "SALifeTimeInSeconds":3600 } } } ] }
設定 VPN 裝置
注意
如果您正在處理虛擬 WAN 合作夥伴解決方案,系統會自動進行 VPN 裝置設定。 裝置控制器會從 Azure 取得設定檔,並套用到裝置以設定 Azure 的連線。 這表示您無須知道如何手動設定 VPN 裝置。
檢視或編輯閘道設定
您可以隨時檢視和設定您的 VPN 閘道設定。 移至您的虛擬中樞 ->VPN (站對站),然後選取 [檢視/設定]。
在 [編輯 VPN 閘道] 頁面上,您可以看到下列設定: