建立站對站 VPN 連線 - Azure CLI
本文說明如何使用 Azure CLI 建立從內部部署網路到虛擬網路(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 閘道。
本文需要 2.0 版或更新版本的 Azure CLI。
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
建立區域網路閘道
區域網路閘道通常是指您的內部部署位置。 請將站台命名為可供 Azure 參考的名稱,然後指定您想要與其建立連線的內部部署 VPN 裝置 IP 位址。 也請指定 IP 位址首碼,以供系統透過 VPN 閘道路由至 VPN 裝置。 您指定的位址首碼是位於內部部署網路上的首碼。 如果您的內部部署網路有所變更,您可以輕鬆地更新首碼。
使用下列值:
- --gateway-ip-address 是內部部署 VPN 裝置的 IP 位址。
- --local-address-prefixes 是內部部署位址空間。
使用 az network local-gateway create 命令來新增局域網路網關。 下列範例顯示具有多個位址前綴的局域網路閘道。 使用您自己的值加以取代。
az network local-gateway create --gateway-ip-address [IP address of your on-premises VPN device] --name Site1 --resource-group TestRG1 --local-address-prefixes 10.3.0.0/16 10.0.0.0/24
設定 VPN 裝置
內部部署網路的站對站連線需要 VPN 裝置。 在此步驟中,設定 VPN 裝置。 設定 VPN 裝置時,您需要下列值:
共用金鑰:此共用金鑰與您建立站對站 VPN 連線時所指定的金鑰相同。 在我們的範例中,我們使用簡單的共用金鑰。 我們建議您產生更複雜的金鑰以供使用。
虛擬網路閘道執行個體的公用 IP 位址:取得每個 VM 執行個體的 IP 位址。 如果您的閘道處於主動-主動模式,則每個閘道 VM 執行個體都會有 IP 位址。 務必使用這兩個 IP 位址來設定裝置,每個作用中閘道 VM 各有一個。 主動-待命模式閘道只有一個 IP 位址。
若要尋找虛擬網路閘道的公用 IP 位址,請使用 az network public-ip list 命令。 為方便閱讀,系統會將輸出格式化為以資料表格式顯示公用 IP 的清單。 在此範例中,VNet1GWpip1 是公用IP位址資源的名稱。
az network public-ip list --resource-group TestRG1 --output table
根據您所擁有的 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 裝置之間建立通道。 這兩個通道都屬於相同的連線。
使用 az network vpn-connection create 命令建立連線。 共用的金鑰必須符合您用於 VPN 裝置設定的值。
az network vpn-connection create --name VNet1toSite1 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site1
過一會兒,連接將會建立。
驗證 VPN 連線
您可以使用 az network vpn-connection show 命令來確認連線是否成功。 在此範例中,'--name' 是指您想要測試的連線名稱。 當系統在建立連線時,其連線狀態會顯示「連線中」。 連線建立好之後,狀態會變更為 [已連線]。 使用適用於您環境的值修改下列範例。
az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>
如果您想要使用其他方法來確認您的連線,請參閱確認 VPN 閘道連線。
常見工作
本節包含使用站對站組態時很實用的常見命令。 如需 CLI 網路命令的完整清單,請參閱 Azure CLI - 網路。
檢視區域網路閘道
若要檢視區域網路閘道清單,請使用 az network local-gateway list 命令。
az network local-gateway list --resource-group TestRG1
修改區域網路閘道 IP 位址首碼 - 沒有網路閘道連線
如果您想要新增或移除 IP 位址前綴,且閘道尚未連線,您可以使用 az network local-gateway create 來更新前置詞。 若要覆寫目前的設定,請使用現有的區域網路閘道名稱。 如果您使用不同的名稱,您會建立新的區域網路閘道,而不是覆寫現有閘道。 您也可以使用此命令來更新 VPN 裝置的閘道 IP 位址。
每次進行變更時,您都必須指定完整的首碼清單,而不只是指定您想要變更的首碼。 僅指定我們想要保留的首碼。 在此情況下,10.0.0.0/24 和 10.3.0.0/16
az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 10.3.0.0/16
修改區域網路閘道 IP 位址首碼 - 現有閘道連線
如果您有閘道連線,而且想要新增或移除 IP 位址首碼,您可以使用 az network local-gateway update 更新首碼。 這會導致您 VPN 連線的停機時間。
每次進行變更時,您都必須指定完整的首碼清單,而不只是指定您想要變更的首碼。 在此範例中,已有 10.0.0.0/24 和 10.3.0.0/16。 我們會新增前置詞 10.5.0.0/16 和 10.6.0.0/16,並在更新時指定所有 4 個前置詞。
az network local-gateway update --local-address-prefixes 10.0.0.0/24 10.3.0.0/16 10.5.0.0/16 10.6.0.0/16 --name VNet1toSite2 -g TestRG1
修改區域網路閘道 'gatewayIpAddress'
如果您變更 VPN 裝置的公用 IP 位址,則必須使用更新的 IP 位址來修改局域網路網關。 修改閘道時,請務必指定局域網路閘道的現有名稱。 如果您使用不同的名稱,您可以建立新的區域網路閘道,而不是覆寫現有的閘道資訊。
若要修改閘道 IP 位址,使用 az network local-gateway update 命令以您自己的值取代 'Site2' 和 'TestRG1'。
az network local-gateway update --gateway-ip-address 23.99.222.170 --name Site2 --resource-group TestRG1
確認輸出中的 IP 位址正確無誤︰
"gatewayIpAddress": "23.99.222.170",
確認共用金鑰值
請確認共用金鑰值和您用於 VPN 裝置組態的值相同。 如果不是,請使用來自裝置的值再次執行連線,或使用傳回的值更新裝置。 這兩個值必須相符。 若要檢視共用金鑰,請使用 az network vpn-connection-list。
az network vpn-connection shared-key show --connection-name VNet1toSite2 --resource-group TestRG1
若要檢視 VPN 閘道公用 IP 位址:
若要尋找虛擬網路閘道的公用 IP 位址,請使用 az network public-ip list 命令。 為了方便閱讀,系統會將此範例的輸出格式化為以資料表格式顯示公用 IP 的清單。
az network public-ip list --resource-group TestRG1 --output table
下一步
- 如需 BGP 的相關資訊,請參閱 BGP 概觀和如何設定 BGP。
- 如需強制通道的相關資訊,請參閱關於強制通道。
- 如需高可用性主動-主動連線的相關信息,請參閱 高可用性跨單位和 VNet 對 VNet 連線能力。
- 如需 Azure CLI 網路命令的清單,請參閱 Azure CLI。
- 如需使用 Azure Resource Manager 範本建立站對站 VPN 連線的詳細資訊,請參閱 建立站對站 VPN 連線。
- 如需使用 Azure Resource Manager 範本建立 VNet 對 VNet VPN 連線的詳細資訊,請參閱 部署 HBase 異地復寫。