設定 VNet 對 VNet 連線 (傳統)

本文可協助您建立虛擬網路之間的 VPN 閘道連線。 虛擬網路可位於相同或不同的區域,以及來自相同或不同的訂用帳戶。

Diagram showing classic VNet-to-VNet architecture

注意

本文針對傳統部署模型而撰寫。 如果您不熟悉 Azure,建議改用 Resource Manager 部署模型。 Resource Manager 部署模型是最新的部署模型,可提供比傳統部署模型更多的選項和功能相容性。 如需部署模型的詳細資訊,請參閱了解部署模型

如需本文的 Resource Manager 版本,請從下拉式清單或從左側目錄中加以選取。

本文中的步驟適用於傳統部署模型和 Azure 入口網站。 您也可從下列清單中選取不同的選項,以使用不同的部署工具或部署模型來建立此組態:

關於 VNet 對 VNet 連線

在傳統部署模型中使用 VPN 閘道將一個虛擬網路連線到另一個虛擬網路 (VNet 對 VNet),類似於將虛擬網路連線到內部部署網站位置。 這兩種連線類型都使用 VPN 閘道提供使用 IPsec/IKE 的安全通道。

您所連線的 Vnet 可位於不同的訂用帳戶和不同的區域。 您可以將 VNet 對 VNet 通訊與多站台組態結合。 這可讓您建立結合了跨單位連線與內部虛擬網路連線的網路拓撲。

Diagram showing connections

為什麼要連接虛擬網路?

針對下列原因,您可能希望連接虛擬網路:

  • 跨區域的異地備援和異地目前狀態

    • 您可以使用安全連線設定自己的異地複寫或同步處理,而不用查看網際網路對向端點。
    • 有了 Azure Load Balancer 和 Microsoft 或第三方叢集技術,您便可以利用跨多個 Azure 區域的異地備援,設定具有高可用性的工作負載。 其中一個重要的範例就是使用分散在多個 Azure 區域的可用性群組來設定 SQL Always On。
  • 具有嚴密隔離界限的區域性多層式應用程式

    • 在相同的區域中,您可以設定既有多個 VNet 相連又有嚴密的隔離及安全的層次間通訊的多層式應用程式。
  • Azure 中的跨訂用帳戶、組織間通訊

    • 如果您有多個 Azure 訂用帳戶,您可以將虛擬網路之間不同訂用帳戶的工作負載安全地連接在一起。
    • 針對企業或服務提供者,您可以在 Azure 中使用安全 VPN 技術啟用跨組織通訊。

如需 VNet 對 VNet 連接的詳細資訊,請參閱本文結尾處的 VNet 對 VNet 的考量

必要條件

我們使用入口網站來執行大部分的步驟,但是您必須使用 PowerShell 來建立 Vnet 之間的連線。 由於沒有任何方法可在入口網站中指定共用金鑰,您無法使用 Azure 入口網站建立連線。 使用傳統部署模型時,您無法使用 Azure Cloud Shell, 而必須在本機電腦上安裝最新版的 Azure 服務管理 (SM) PowerShell Cmdlet。 這些 Cmdlet 與 AzureRM 或 Az Cmdlet 不同。 若要安裝 SM Cmdlet,請參閱安裝服務管理 Cmdlet。 如需關於 Azure PowerShell 的一般詳細資訊,請參閱 Azure PowerShell 文件

規劃

決定將用來設定虛擬網路的範圍相當重要。 就此組態而言,您必須確定沒有任何 VNet 範圍彼此重疊,或是與其連接的區域網路重疊。

VNets

在此練習中,我們使用下列範例值:

TestVNet1 的值

名稱︰TestVNet1
位址空間︰10.11.0.0/16、10.12.0.0/16 (選擇性)
子網路名稱:default
子網路位址範圍:10.11.0.0/24
資源群組:ClassicRG
位置:美國東部
GatewaySubnet:10.11.1.0/27

TestVNet4 的值

名稱︰TestVNet4
位址空間︰10.41.0.0/16、10.42.0.0/16 (選擇性)
子網路名稱:default
子網路位址範圍︰10.41.0.0/24
資源群組:ClassicRG
位置:美國西部
GatewaySubnet:10.41.1.0/27

連接

下表顯示您將如何連接 VNet 的範例。 範圍僅供作為指導方針。 請記下您虛擬網路的範圍。 稍後的步驟將會需要這項資訊。

在此範例中,TestVNet1 會連線至您所建立的區域網路站台,名為 "VNet4Local"。 VNet4Local 的設定包含 TestVNet4 位址首碼。 每個 VNet 的本機網站是其他 VNet。 在我們的組態中使用下列範例值︰

範例

虛擬網路 位址空間 位置 連接至區域網路站台
TestVNet1 TestVNet1
(10.11.0.0/16)
(10.12.0.0/16)
美國東部 SiteVNet4
(10.41.0.0/16)
(10.42.0.0/16)
TestVNet4 TestVNet4
(10.41.0.0/16)
(10.42.0.0/16)
美國西部 SiteVNet1
(10.11.0.0/16)
(10.12.0.0/16)

建立虛擬網路

在此步驟中,您會建立兩個傳統虛擬網路:TestVNet1 和 TestVNet4。 如果您使用本文作為練習,請使用範例值

在建立 VNet 時,請牢記下列設定︰

  • 虛擬網路位址空間 – 在 [虛擬網路位址空間] 頁面上,指定您想要用於虛擬網路的位址範圍。 這些是將指派給 VM 的動態 IP 位址,以及指派給您部署至此虛擬網路之其他角色執行個體的動態 IP 位址。
    您選取的位址空間不能與任何其他 VNet 的位址空間,或此 VNet 連線之內部部署位置的位址空間重疊。

  • 位置 – 在建立虛擬網路時,您會將此網路與 Azure 位置 (區域) 產生關聯。 例如,如果您希望部署到虛擬網路的 VM 實際位於美國西部,請選取該位置。 建立關聯之後,您就無法變更與您的虛擬網路相關聯的位置。

建立 VNet 之後,您可以新增下列設定︰

  • 位址空間 – 此組態不需要額外的位址空間,但是您可以在建立 VNet 之後新增額外的位址空間。

  • 子網路 – 此組態不需要額外的子網路,但是您可能想要讓您的 VM 位於與其他角色執行個體不同的子網路中。

  • DNS 伺服器 – 輸入 DNS 伺服器名稱和 IP 位址。 此設定不會建立 DNS 伺服器。 它可讓您指定要用於此虛擬網路之名稱解析的 DNS 服務。

若要建立傳統虛擬網路

  1. 透過瀏覽器瀏覽至 Azure 入口網站 ,並視需要使用您的 Azure 帳戶登入。
  2. 選取 [+建立資源]。 在 [搜尋 Marketplace] 欄位中,輸入「虛擬網路」。 在傳回的清單中找出 [虛擬網路],然後選取以開啟 [虛擬網路] 頁面。
  3. 在 [虛擬網路] 頁面的 [建立] 按鈕下方,您會看到「使用 Resource Manager 部署 (變更為傳統版)」。 Resource Manager 是建立 VNet 的預設值。 您不想要建立 Resource Manager VNet。 選取 [(變更為傳統版)] 以建立傳統 VNet。 然後,選取 [概觀] 索引標籤,然後選取 [建立]。
  4. 在 [建立虛擬網路 (傳統版)] 頁面的 [基本] 索引標籤上,使用範例值設定 VNet 設定。
  5. 選取 [檢閱 + 建立] 以驗證您的 VNet。
  6. 驗證執行。 驗證 VNet 之後,請選取 [建立]。

DNS 設定不是此設定的必要部分,但如果您想要 VM 之間的名稱解析,則需要 DNS。 指定一個值並不會建立新的 DNS 伺服器。 您指定的 DNS 伺服器 IP 位址應該是可以解析您所連線之資源名稱的 DNS 伺服器。

建立虛擬網路之後,您可以新增 DNS 伺服器的 IP 位址,以便處理名稱解析。 開啟您的虛擬網路設定、按一下 DNS 伺服器,然後新增您要用於名稱解析的 DNS 伺服器 IP 位址。

  1. 在入口網站中找出虛擬網路。
  2. 在您的虛擬網路頁面上,選取 [設定] 區段下方的 [DNS 伺服器]。
  3. 新增 DNS 伺服器。
  4. 若要儲存您的設定,選取頁面頂端的 [儲存]。

設定站台和閘道

Azure 會使用每個區域網路站台中指定的設定,來決定如何路由傳送 VNet 之間的流量。 每個 VNet 都必須指向要做為流量路由傳送目的地的個別區域網路。 您需決定要用來參考每個區域網路站台的名稱。 最好使用描述性的項目。

例如,TestVNet1 會連線到您所建立名為 "VNet4Local" 的區域網路網站。 VNet4Local 的設定包含 TestVNet4 位址首碼。

請記住,每個 VNet 的本機站台都是其他 VNet。

虛擬網路 位址空間 位置 連接至區域網路站台
TestVNet1 TestVNet1
(10.11.0.0/16)
(10.12.0.0/16)
美國東部 SiteVNet4
(10.41.0.0/16)
(10.42.0.0/16)
TestVNet4 TestVNet4
(10.41.0.0/16)
(10.42.0.0/16)
美國西部 SiteVNet1
(10.11.0.0/16)
(10.12.0.0/16)

設定站台

本機網站通常是指您的內部部署位置。 它包含您要建立連線之 VPN 裝置的 IP 位址,以及將透過 VPN 閘道路由傳送至 VPN 裝置的 IP 位址範圍。

  1. 在 VNet 的頁面上,選取 [設定] 下方的 [站對站連線]。

  2. 在 [站對站連線] 頁面上,選取 [+ 新增]。

  3. 在 [設定 VPN 連線和閘道] 頁面上,針對 [連線類型] 將 [站對站] 保持選取狀態。

    • VPN 閘道 IP 位址:這是您內部部署網路之 VPN 裝置的公用 IP 位址。 在此練習中,您可以放入虛擬位址,因為您還沒有另一個站台之 VPN 閘道的 IP 位址。 例如 5.4.3.2。 隨後,當您設定另一個 VNet 的閘道後,您可以調整此值。

    • 用戶端位址空間:列出您要透過此閘道路由至另一個 VNet 的 IP 位址範圍。 您可以加入多個位址空間範圍。 確定您在此指定的範圍,不會與虛擬網路要連接的其他網路範圍重疊,或與虛擬網路本身的位址範圍重疊。

  4. 「請勿」選取頁面底部的 [檢閱 + 建立]。 請改為選取 [下一步:閘道>]。

設定虛擬網路閘道

  1. 在 [閘道] 頁面上,選取下列值:

    • 大小:這是您會用來建立虛擬網路閘道的閘道 SKU。 傳統 VPN 閘道會使用舊式 (舊版) 閘道 SKU。 如需舊版閘道 SKU 的詳細資訊,請參閱使用虛擬網路閘道 SKU (舊式 SKU)。 您可以選取用於此練習的 [標準]。

    • 路由類型:選取閘道的路由類型。 這也稱為 VPN 類型。 請務必選取正確的類型,因為您無法轉換閘道的類型。 您的 VPN 裝置必須與您所選取的路由類型相容。 如需路由類型的詳細資訊,請參閱關於 VPN 閘道設定。 您可能會看到參考 'RouteBased' 和 'PolicyBased' VPN 類型的文章。 'Dynamic' 對應到 'RouteBased',而 'Static' 對應到 'PolicyBased'。 針對此設定,請選取 [動態]。

    • 閘道子網路:您所要建立的 VPN 閘道設定會決定您需要為閘道子網路指定的大小。 雖然可以建立像 /29 這麼小的閘道子網路,但建議您使用 /27 或 /28。 這可建立包含更多位址的較大子網路。 使用較大的閘道子網路可讓您擁有足夠的 IP 位址,以因應未來可能的組態。

  2. 選取頁面底部的 [檢閱 + 建立] 以驗證您的設定。 選取 [建立] 以進行部署。 視您選取的閘道 SKU 而定,建立虛擬網路閘道可能需要 45 分鐘的時間。

  3. 在此閘道建立時,您可以開始進行下一個步驟。

設定 TestVNet4 設定

重複建立站台和閘道的步驟以設定 TestVNet4 (請在必要時替換值)。 如果您執行此動作作為練習,請使用範例值

更新本機站台

為兩個 VNet 建立虛擬網路閘道之後,您必須調整 VPN 閘道 IP 位址的本機站台屬性。

VNet 名稱 已連線網站 閘道 IP 位址
TestVNet1 VNet4Local TestVNet4 的 VPN 閘道 IP 位址
TestVNet4 VNet1Local TestVNet1 的 VPN 閘道 IP 位址

第 1 部分 - 取得虛擬網路閘道公用 IP 位址

  1. 移至 [資源群組] 並選取虛擬網路,以瀏覽至您的 VNet。
  2. 在虛擬網路的頁面上,從右側的 [基本資訊] 窗格中找出 [閘道 IP 位址],並複製到剪貼簿。

第 2 部分 - 修改本機站台屬性

  1. 在 [站對站連線] 底下,選取連線。 例如 SiteVNet4。
  2. 在站對站連線的 [屬性] 頁面上,選取 [編輯本機站台]。
  3. 在 [VPN 閘道 IP 位址] 欄位中,貼上您在上一節複製的 VPN 閘道 IP 位址。
  4. 選取 [確定]。
  5. 系統會更新此欄位。 您也可以使用此方法,新增要路由至此站台的其他 IP 位址。

第 3 部分 - 對另一個 VNet 重複步驟

對 TestVNet4 重複前述步驟。

擷取設定值

當您在 Azure 入口網站中建立傳統 VNet 時,您所檢視的名稱不是在 PowerShell 中使用的完整名稱。 例如,在入口網站中名稱顯示為 TestVNet1 的 VNet,在網路組態檔中的名稱可能更長。 針對資源群組 "ClassicRG" 名稱中的 VNet,可能看起來像這樣:Group ClassicRG TestVNet1。 當您建立連線時,務必使用您在網路組態檔中看到的值。

在下列步驟中,您將會連線到您的 Azure 帳戶,並且下載及檢視網路組態檔,以取得連線的必要值。

  1. 下載並安裝最新版的 Azure 服務管理 (SM) PowerShell Cmdlet。 多數人會在本機安裝 Resource Manager 的模組,但沒有服務管理模組。 服務管理模組是舊版,必須另外安裝。 如需詳細資訊,請參閱安裝服務管理 Cmdlet

  2. 以提高的權限開啟 PowerShell 主控台並連接到您的帳戶。 使用下列範例來協助您進行連線。 您必須使用 PowerShell 服務管理模組在本機執行這些命令。 連線至您的帳戶。 使用下列範例來協助您連接:

    Add-AzureAccount
    
  3. 檢查帳戶的訂用帳戶。

    Get-AzureSubscription
    
  4. 如果您有多個訂用帳戶,請選取您要使用的訂用帳戶。

    Select-AzureSubscription -SubscriptionId "Replace_with_your_subscription_ID"
    
  5. 在電腦上建立目錄。 例如,C:\AzureVNet

  6. 將網路設定檔匯出至目錄。 在此範例中,會將網路組態檔匯出到 C:\AzureNet

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  7. 使用文字編輯器開啟檔案,並且檢視 VNet 和網站的名稱。 這些名稱是您建立連線時使用的名稱。
    VNet 名稱會列為 VirtualNetworkSite name =
    站台名稱會列為 LocalNetworkSiteRef name =

建立連線

當所有先前的步驟都已完成時,您可以設定 IPsec/IKE 預先共用金鑰並建立連線。 這組步驟會使用 PowerShell。 由於無法在入口網站中指定共用金鑰,因此無法在 Azure 入口網站中設定傳統部署模型的 VNet 對 VNet 連線。

在這些範例中,請注意,共用金鑰是完全相同的。 共用金鑰必須一律相符。 請務必使用 VNet 和區域網路網站的確切名稱,取代這些範例中的值。

  1. 建立 TestVNet1 至 TestVNet4 的連線。 請務必變更這些值。

    Set-AzureVNetGatewayKey -VNetName 'Group ClassicRG TestVNet1' `
    -LocalNetworkSiteName 'value for _VNet4Local' -SharedKey A1b2C3D4
    
  2. 建立 TestVNet4 至 TestVNet1 的連線。

    Set-AzureVNetGatewayKey -VNetName 'Group ClassicRG TestVNet4' `
    -LocalNetworkSiteName 'value for _VNet1Local' -SharedKey A1b2C3D4
    
  3. 等待連線初始化。 一旦閘道初始化,其狀態為「成功」。

    Error          :
    HttpStatusCode : OK
    Id             :
    Status         : Successful
    RequestId      :
    StatusCode     : OK
    

常見問題和考量

這些考量適用於傳統虛擬網路和傳統虛擬網路閘道。

  • 虛擬網路可位於相同或不同的訂用帳戶。
  • 虛擬網路可位於相同或不同的 Azure 區域 (位置)。
  • 即使虛擬網路連接在一起,雲端服務或負載平衡端點也無法跨虛擬網路。
  • 將多個虛擬網路連接在一起並不需要任何 VPN 裝置。
  • VNet 對 VNet 支援連接 Azure 虛擬網路。 它不支援連接未部署到虛擬網路中的虛擬機器或雲端服務。
  • VNet 對 VNet 需要動態路由閘道。 不支援 Azure 靜態路由閘道。
  • 虛擬網路連線能力可以與多站台 VPN 同時使用。 一個虛擬網路 VPN 閘道最多可以有 10 條 VPN 通道連接至其他虛擬網路或內部部署站台。
  • 虛擬網路與內部部署區域網路網站的位址空間不得重疊。 位址空間重疊會導致建立虛擬網路或上傳 netcfg 組態檔失敗。
  • 不支援成對虛擬網路之間的備援通道。
  • VNet 的所有 VPN 通道 (包括 P2S VPN) 在 Azure 中皆共用 VPN 閘道的可用頻寬及相同的 VPN 閘道執行時間 SLA。
  • VNet 對 VNet 流量會經過 Azure 的骨幹。

下一步

確認您的連線。 確認 VPN 閘道連線