共用方式為


建立站對站 VPN 連線 - Azure CLI

本文說明如何使用 Azure CLI 建立從內部部署網路到虛擬網路(VNet)的站對站 VPN 網關聯機。

站對站 VPN 閘道連線可用來透過 IPsec/IKE (IKEv1 或 IKEv2) VPN 通道,將內部部署網路連線到 Azure 虛擬網路。 此類型的連線需要位於內部部署的 VPN 裝置,且您已對該裝置指派對外開放的公用 IP 位址。 本文中的步驟會使用共用密鑰,建立 VPN 閘道與內部部署 VPN 裝置之間的連線。 如需 VPN 閘道的詳細資訊,請參閱關於 VPN 閘道

用於 CLI 文章中,站對站 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 參考的名稱,然後指定您想要與其建立連線的內部部署 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 連線。 如果您使用主動-主動模式閘道 (建議),則每個閘道 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

下一步