建立站對站 VPN 連線 - Azure PowerShell
本文說明如何使用PowerShell建立從內部部署網路到虛擬網路 (VNet) 的站對站 VPN 網關聯機。
站對站 VPN 閘道連線可用來透過 IPsec/IKE (IKEv1 或 IKEv2) VPN 通道,將內部部署網路連線到 Azure 虛擬網路。 此類型的連線需要位於內部部署的 VPN 裝置,且您已對該裝置指派對外開放的公用 IP 位址。 本文中的步驟會使用共用密鑰,建立 VPN 閘道與內部部署 VPN 裝置之間的連線。 如需 VPN 閘道的詳細資訊,請參閱關於 VPN 閘道。
開始之前
開始設定之前,請確認您的環境符合下列準則:
確認您有正常運作的路由式 VPN 閘道。 若要建立 VPN 閘道,請參閱 建立 VPN 閘道。
如果您不熟悉位於內部部署網路設定的 IP 位址範圍,您需要與能夠提供那些詳細資料的人協調。 當您建立此組態時,您必須指定 IP 位址範圍的首碼,以供 Azure 路由傳送至您的內部部署位置。 內部部署網路的子網路皆不得與您所要連線的虛擬網路子網路重疊。
VPN 裝置:
- 確定您有相容的 VPN 裝置以及能夠對其進行設定的人員。 如需相容 VPN 裝置和裝置設定的詳細資訊,請參閱關於 VPN 裝置。
- 判斷您的 VPN 裝置是否支援主動-主動模式閘道。 本文會建立主動-主動模式 VPN 閘道,建議進行高可用性連線。 主動-主動模式會指定這兩個閘道 VM 實例都處於作用中狀態。 此模式需要兩個公用IP位址,每個閘道 VM 實例各一個。 您可設定 VPN 裝置,以連線到每個閘道 VM 執行個體的 IP 位址。
如果您的 VPN 裝置不支援此模式,請勿為您的閘道啟用此模式。 如需詳細資訊,請參閱針對跨單位和 VNet 對 VNet 連線設計高可用性連線和關於主動-主動模式 VPN 閘道。
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 模組。
建立區域網路閘道
區域網路閘道 (LNG) 通常是指您的內部部署位置。 它與虛擬網路閘道不同。 請將站台命名為可供 Azure 參考的名稱,然後指定您想要與其建立連線的內部部署 VPN 裝置 IP 位址。 也請指定 IP 位址首碼,供系統透過 VPN 閘道路由至 VPN 裝置。 您指定的位址首碼是位於內部部署網路上的首碼。 如果您的內部部署網路有所變更,您可以輕鬆地更新首碼。
選取下列其中一個範例。 範例中使用的值為:
- GatewayIPAddress 是內部部署 VPN 裝置的IP位址,而不是您的 Azure VPN 閘道。
- AddressPrefix 是您的內部部署位址空間。
單一位址首碼範例
New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '[IP address of your on-premises VPN device]' -AddressPrefix '10.0.0.0/24'
多個位址首碼範例
New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '[IP address of your on-premises VPN device]' -AddressPrefix @('10.3.0.0/16','10.0.0.0/24')
設定 VPN 裝置
內部部署網路的站對站連線需要 VPN 裝置。 在此步驟中,設定 VPN 裝置。 設定 VPN 裝置時,您需要下列項目:
共用金鑰:此共用金鑰與您建立站對站 VPN 連線時所指定的金鑰相同。 在我們的範例中,我們使用簡單的共用金鑰。 我們建議您產生更複雜的金鑰以供使用。
虛擬網路閘道執行個體的公用 IP 位址:取得每個 VM 執行個體的 IP 位址。 如果您的閘道處於主動-主動模式,則每個閘道 VM 執行個體都會有 IP 位址。 務必使用這兩個 IP 位址來設定裝置,每個作用中閘道 VM 各有一個。 主動-待命模式閘道只有一個 IP 位址。 在此範例中,VNet1GWpip1 是公用IP位址資源的名稱。
Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1
根據您所擁有的 VPN 裝置,您或許可以下載 VPN 裝置設定指令碼。 如需詳細資訊,請參閱下載 VPN 裝置組態指令碼。
下列連結提供詳細設定資訊:
如需相容 VPN 裝置的相關資訊,請參閱關於 VPN 裝置。
設定 VPN 裝置之前,請先檢查是否有任何已知的裝置相容性問題。
如需裝置組態設定的連結,請參閱已經驗證的 VPN 裝置。 我們會盡最大努力提供裝置設定連結,但最好向裝置製造商洽詢最新的設定資訊。
此清單會顯示我們測試的版本。 如果 VPN 裝置的作業系統版本不在清單中,仍然可能相容。 請洽詢您的裝置製造商。
如需 VPN 裝置設定的基本資訊,請參閱合作夥伴 VPN 裝置設定概觀。
如需編輯裝置組態範例的相關資訊,請參閱編輯範例。
如需密碼編譯需求,請參閱關於密碼編譯需求和 Azure VPN 閘道。
如需關於完成設定所需參數的資訊,請參閱預設 IPsec/IKE 參數。 此資訊包含 IKE 版本、Diffie-Hellman (DH) 群組、驗證方法、加密和雜湊演算法、安全性關聯 (SA) 存留期、完整轉寄密碼 (PFS) 和失效對等偵測 (DPD)。
如需 IPsec/IKE 原則設定步驟,請參閱設定 S2S VPN 和 VNet 對 VNet 的自訂 IPsec/IKE 連線原則。
若要連接多個原則式 VPN 裝置,請參閱將 VPN 閘道連線至多個內部部署原則式 VPN 裝置。
建立 VPN 連線
您會在虛擬網路閘道與內部部署 VPN 裝置之間建立站對站 VPN 連線。 如果您使用主動-主動模式閘道 (建議),則每個閘道 VM 執行個體都有個別的 IP 位址。 若要正確設定高可用性連線,您必須在每個 VM 執行個體與 VPN 裝置之間建立通道。 這兩個通道都屬於相同的連線。
共用的金鑰必須符合您用於 VPN 裝置設定的值。 請注意,網站間的「-ConnectionType」為 IPsec。
設定變數。
$gateway1 = Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
建立連線。
New-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1 ` -Location 'East US' -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local ` -ConnectionType IPsec -SharedKey 'abc123'
驗證 VPN 連線
VPN 連線有幾種不同的驗證方式。
您可以使用 'Get-AzVirtualNetworkGatewayConnection' Cmdlet,並在搭配或不搭配 '-Debug' 的情況下驗證連線是否成功。
請使用下列 Cmdlet 範例,並將值設定為與您狀況相符的值。 出現提示時,請選取 [A] 以執行 [全部]。 在範例中,'-Name' 是指您想要測試之連線的名稱。
Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
完成 Cmdlet 之後,請檢視值。 在下列範例中,連接狀態會顯示為 [已連接],且您可以看見輸入和輸出位元組。
"connectionStatus": "Connected", "ingressBytesTransferred": 33509044, "egressBytesTransferred": 4142431
修改區域網路閘道的 IP 位址首碼
如果您要路由傳送到內部部署位置的 IP 位址首碼變更,您可以修改區域網路閘道。 使用這些範例時,請將值修改為符合您的環境。
若要新增更多地址前置字碼:
設定 LocalNetworkGateway 的變數。
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
修改首碼。 您指定的值會覆寫先前的值。
Set-AzLocalNetworkGateway -LocalNetworkGateway $local ` -AddressPrefix @('10.101.0.0/24','10.101.1.0/24','10.101.2.0/24')
若要移除位址首碼:
省略您不再需要的首碼。 在此範例中,我們不再需要前置詞 10.101.2.0/24,因此我們會更新局域網路網關並排除該前置詞。
設定 LocalNetworkGateway 的變數。
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
使用更新的首碼設定閘道。
Set-AzLocalNetworkGateway -LocalNetworkGateway $local ` -AddressPrefix @('10.101.0.0/24','10.101.1.0/24')
修改區域網路閘道的閘道 IP 位址
如果您變更 VPN 裝置的公用 IP 位址,則必須使用更新的 IP 位址來修改局域網路網關。 修改此值時,您也可以同時修改位址首碼。 修改時,請務必使用局域網路閘道的現有名稱。 如果您使用不同的名稱,您可以建立新的區域網路閘道,而不是覆寫現有的閘道資訊。
New-AzLocalNetworkGateway -Name Site1 `
-Location "East US" -AddressPrefix @('10.101.0.0/24','10.101.1.0/24') `
-GatewayIpAddress "5.4.3.2" -ResourceGroupName TestRG1
刪除閘道連線
如果您不知道連線的名稱,可以使用 'Get-AzVirtualNetworkGatewayConnection' Cmdlet 來尋找。
Remove-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 `
-ResourceGroupName TestRG1
下一步
- 一旦完成您的連接,就可以將虛擬機器加入您的虛擬網路。 如需詳細資訊,請參閱虛擬機器。
- 如需 BGP 的相關資訊,請參閱 BGP 概觀和如何設定 BGP。
- 如需使用 Azure Resource Manager 範本建立站對站 VPN 連線的相關資訊,請參閱建立站對站 VPN 連線 (部分機器翻譯)。
- 如需使用 Azure Resource Manager 範本建立 vnet 對 vnet VPN 連線的相關資訊,請參閱部署 HB 異地複寫。