分享方式:


教學課程:在中樞和輪輻網路中整合 NAT 閘道與 Azure 防火牆以進行輸出連線

在本教學課程中,您會瞭解如何在中樞和輪輻網路中整合 NAT 閘道與 Azure 防火牆

Azure 防火牆為每個後端虛擬機器擴展集執行個體 (至少兩個執行個體) 設定的每個公用 IP 位址提供 2,496 個 SNAT 連接埠。 您可以將最多 250 個公用 IP 位址與 Azure 防火牆產生關聯。 根據您的架構需求和流量模式,您可能需要比 Azure 防火牆所能提供的更多 SNAT 連接埠。 您可能也需要使用較少的公用 IP,同時需要更多的 SNAT 連接埠。 輸出連線的更好方法是使用 NAT 閘道。 NAT 閘道可為每個公用 IP 位址提供 64,512 個 SNAT 連接埠,而且最多可與 16 個公用 IP 位址一起使用。

NAT 閘道可以藉由將 NAT 閘道直接設定為 Azure 防火牆子網來與 Azure 防火牆整合,以提供更可調整的輸出連線方法。 對於生產環境部署,建議您使用中樞與輪輻 (軸輻式) 網路,其中防火牆會位於自己的虛擬網路中。 工作負載伺服器是與防火牆所在的中樞虛擬網路位於相同區域中的對等互連虛擬網路。 在此架構設定中,NAT 閘道可為對等互連的所有輪輻虛擬網路提供中樞虛擬網路的輸出連線能力。

教學課程中建立的 Azure 資源圖表。

注意

安全虛擬網路 (vWAN) 結構目前不支援 Azure NAT 閘道。 您必須使用中樞虛擬網路架構進行部署,如本教學課程所述。 如需 Azure 防火牆結構選項的詳細資訊,請參閱什麼是 Azure 防火牆管理員結構選項?

在本教學課程中,您會了解如何:

  • 建立中樞虛擬網路,並在部署期間部署 Azure 防火牆和 Azure Bastion
  • 建立 NAT 閘道,並將它與中樞虛擬網路中的防火牆子網路產生關聯
  • 建立輪輻虛擬網路
  • 建立虛擬網路對等互連
  • 建立輪輻虛擬網路的路由表
  • 建立中樞虛擬網路的防火牆原則
  • 建立虛擬機器以測試通過 NAT 閘道的輸出連線能力

必要條件

建立中樞虛擬網路

中樞虛擬網路包含與 Azure 防火牆和 NAT 閘道相關聯的防火牆子網路。 使用下列範例來建立中樞虛擬網路。

  1. 登入 Azure 入口網站

  2. 在入口網站頂端的搜尋方塊中,輸入虛擬網路。 選取搜尋結果中的 [虛擬網路]

  3. 選取 + 建立

  4. 在 [建立虛擬網路] 的 [基本] 索引標籤中,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [新建]
    輸入 test-rg
    選取 [確定]。
    [執行個體詳細資料]
    名稱 輸入 vnet-hub
    區域 選取 [(美國) 美國中南部]
  5. 選取 [下一步],繼續前往 [安全性] 索引標籤。

  6. 在 [安全性] 索引標籤的 [Azure Bastion] 區段中,選取 [啟用 Bastion]

    Azure Bastion 會使用您的瀏覽器,透過安全殼層 (SSH) 或遠端桌面通訊協定 (RDP) 連線至虛擬網路中的 VM (使用其私人 IP 位址)。 VM 不需要公用 IP 位址、用戶端軟體或特殊設定。 如需 Azure Bastion 的詳細資訊,請參閱 Azure Bastion

    注意

    無論輸出資料使用量為何,每小時價格都是從部署 Bastion 的那一刻開始計費。 如需詳細資訊,請參閱價格SKU。 如果您要將 Bastion 部署為教學課程或測試的一部份,建議您在使用完畢後刪除此資源。

  7. 在 [Azure Bastion] 中,輸入或選取下列資訊:

    設定
    Azure Bastion 主機名稱 輸入 bastion
    Azure Bastion 公用 IP 位址 選取 [建立公用 IP 位址]
    在 [名稱] 中輸入 public-ip
    選取 [確定]。
  8. 在 [安全性] 索引標籤的 [Azure 防火牆] 區段中,選取 [啟用 Azure 防火牆]

    Azure 防火牆是受控、雲端式網路安全性服務,可以保護您的 Azure 虛擬網路資源。 這是完全具狀態的防火牆即服務,具有內建的高可用性和不受限制的雲端延展性。 如需 Azure 防火牆的詳細資訊,請參閱 Azure 防火牆

  9. Azure 防火牆中輸入或選取下列資訊:

    設定
    Azure 防火牆名稱 輸入防火牆
    選取 [標準]。
    原則 選取 [新建]
    在 [名稱] 中輸入 firewall-policy
    選取 [確定]。
    Azure 防火牆公用 IP 位址 選取 [建立公用 IP 位址]
    在 [名稱] 中輸入 public-ip-firewall
    選取 [確定]。
  10. 選取 [檢閱 + 建立]。

  11. 選取 建立

部署堡壘 (Bastion) 主機和防火牆需要幾分鐘。 當虛擬網路作為部署的一部分建立時,您可以繼續執行後續步驟。

建立 NAT 閘道

所有輸出網際網路流量都會周遊 NAT 閘道至網際網路。 使用下列範例來為中樞和輪輻網路建立 NAT 閘道,並將其與 AzureFirewallSubnet 產生關聯。

  1. 在入口網站頂端的搜尋方塊中,輸入 NAT 閘道。 在搜尋結果中,選取 [NAT 閘道]。

  2. 選取 + 建立

  3. 在 [建立網路位址轉譯 (NAT) 閘道] 的 [基本] 索引標籤中,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [test-rg]
    [執行個體詳細資料]
    NAT 閘道名稱 輸入 nat-gateway
    區域 選取 [美國中南部]
    可用性區域 選取 [區域] 或 [無區域]
    TCP 閒置逾時 (分鐘) 保留預設值 [4]

    如需可用性區域的詳細資訊,請參閱 NAT 閘道和可用性區域

  4. 選取 [Next: Outbound IP] \(下一步:輸出 IP\)

  5. 在 [輸出 IP] 的 [公用 IP 位址] 中,選取 [建立新的公用 IP 位址]

  6. 在 [名稱] 中輸入 public-ip-nat

  7. 選取 [確定]。

  8. 選取 [Next: Subnet] \(下一步:子網路\)

  9. 在 [虛擬網路] 中,選取 [vnet-hub]

  10. 在 [子網路名稱] 中選取 [AzureFirewallSubnet]

  11. 選取 [檢閱 + 建立]。

  12. 選取 建立

建立輪輻虛擬網路

輪輻虛擬網路包含用來測試網際網路流量路由傳送至 NAT 閘道的測試虛擬機器。 使用下列範例來建立輪輻網路。

  1. 在入口網站頂端的搜尋方塊中,輸入虛擬網路。 選取搜尋結果中的 [虛擬網路]

  2. 選取 + 建立

  3. 在 [建立虛擬網路] 的 [基本] 索引標籤中,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [test-rg]
    [執行個體詳細資料]
    名稱 輸入 vnet-spoke
    區域 選取 [美國中南部]
  4. 選取 [下一步],繼續前往 [安全性] 索引標籤。

  5. 選取 [下一步],繼續前往 [IP 位址] 索引標籤。

  6. 在 [IP 位址] 索引標籤的 [IPv4 位址空間] 中,選取垃圾桶以刪除自動填入的位址空間。

  7. 在 [IPv4 位址空間] 中輸入 10.1.0.0。 將遮罩選取範圍中的預設值保留 /16 (65,536 個位址)

  8. 選取 [+ 新增子網路]

  9. 在 [新增子網路] 中輸入或選取下列資訊:

    設定
    子網路詳細資料
    子網路範本 保留預設值 [Default]
    名稱 輸入 subnet-private
    起始位址 輸入 10.1.0.0
    子網路大小 保留預設值 /24(256 個位址)
  10. 選取 [新增]。

  11. 選取 [檢閱 + 建立]。

  12. 選取 建立

在中樞與輪輻之間建立對等互連

虛擬網路對等互連可用來將中樞連線到輪輻,以及將輪輻連線到中樞。 使用下列範例,在中樞和輪輻之間建立雙向網路對等互連。

  1. 在入口網站頂端的搜尋方塊中,輸入虛擬網路。 選取搜尋結果中的 [虛擬網路]

  2. 選取 [vnet-hub]

  3. 在 [設定] 中選取 [對等互連]

  4. 選取 + 新增

  5. 在 [新增對等互連] 中,輸入或選取下列資訊:

    設定
    此虛擬網路
    對等互連連結名稱 輸入 vnet-hub-to-vnet-spoke
    允許 'vnet-hub' 存取 'vnet-spoke' 將預設保留為已選取
    允許 'vnet-hub' 接收來自 'vnet-spoke' 的轉送流量 選取核取方塊。
    允許 'vnet-hub' 中的網路閘道將流量轉送到 'vnet-spoke' 將預設保留為未選取
    啟用 'vnet-hub' 以使用 'vnet-spoke' 的遠端網路閘道 將預設保留為未選取
    遠端虛擬網路
    對等互連連結名稱 輸入 vnet-spoke-to-vnet-hub
    虛擬網路部署模型 保留預設值 [資源管理員]
    訂用帳戶 選取您的訂用帳戶。
    虛擬網路 選取 [vnet-spoke]
    允許 'vnet-spoke' 存取 'vnet-hub' 將預設保留為已選取
    允許 'vnet-spoke' 接收來自 'vnet-hub' 的轉送流量 選取核取方塊。
    允許 'vnet-spoke' 中的網路閘道將流量轉送到 'vnet-hub' 將預設保留為未選取
    啟用 'vnet-spoke' 以使用 'vnet-hub' 的遠端網路閘道 將預設保留為未選取
  6. 選取 [新增]。

  7. 選取 [重新整理],並驗證對等互連狀態為 [已連線]

建立輪輻網路路由表

路由表會強制所有流量離開輪輻虛擬網路到中樞虛擬網路。 路由表設定具有作為虛擬設備的 Azure 防火牆的私人 IP 位址。

取得防火牆的私人 IP 位址

本文稍後建立的路由表需要防火牆的私人 IP 位址。 使用下列範例來取得防火牆私人 IP 位址。

  1. 在入口網站頂端的搜尋方塊中,輸入防火牆。 在搜尋結果中,選取 [防火牆]

  2. 選取 [防火牆]

  3. 在 [防火牆] 的 [概觀] 中,記下 [防火牆私人 IP] 欄位中的 IP 位址。 在此範例中,IP 位址是 10.0.1.68

建立路由表

建立路由表,以強制所有輪輻間和網際網路輸出流量通過中樞虛擬網路中的防火牆。

  1. 在入口網站頂端的搜尋方塊中,輸入路由表。 在搜尋結果中,選取 [路由表]

  2. 選取 + 建立

  3. 在 [建立路由表] 中,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [test-rg]
    [執行個體詳細資料]
    區域 選取 [美國中南部]
    名稱 輸入 route-table-spoke
    散佈閘道路由 選取
  4. 選取 [檢閱 + 建立]。

  5. 選取 建立

  6. 在入口網站頂端的搜尋方塊中,輸入「路由表」。 在搜尋結果中,選取 [路由表]

  7. 選取 [route-table-spoke]

  8. 在 [設定] 中,選取 [路由]

  9. 在 [路由] 中,選取 [+ 新增]

  10. 在 [新增路由] 中,輸入或選取下列資訊:

    設定
    路由名稱 輸入 route-to-hub
    目的地類型 選取 [IP 位址]
    目的地 IP 位址/CIDR 範圍 輸入 0.0.0.0/0
    下一個躍點類型 選取 [虛擬設備]
    下一個躍點位址 輸入 10.0.1.68
  11. 選取 [新增]。

  12. 在 [設定] 中選取 [子網路]

  13. 選取 [+ 建立關聯]

  14. 在 [關聯子網路] 中,輸入或選取下列資訊:

    設定
    虛擬網路 選取 [vnet-spoke (test-rg)]
    子網路 選取 [subnet-private]
  15. 選取 [確定]。

設定防火牆

必須允許流量可以透過防火牆原則和網路規則從輪輻流通到中樞。 使用下列範例來建立防火牆原則和網路規則。

設定網路規則

  1. 在入口網站頂端的搜尋方塊中,輸入防火牆。 在搜尋結果中,選取 [防火牆原則]

  2. 選取 [firewall-policy]

  3. 在 [設定] 中選取 [網路規則]

  4. 選取 [+新增規則集合]

  5. 在 [新增規則集合] 中輸入或選取下列資訊:

    設定
    名稱 輸入 spoke-to-internet
    規則集合類型 選取 [網路]
    優先順序 輸入 100
    規則集合動作 選取允許
    規則集合群組 選取 [DefaultNetworkRuleCollectionGroup]
    規則
    名稱 輸入 allow-web
    來源類型 IP 位址。
    來源 輸入 10.1.0.0/24
    通訊協定 選取 [TCP]。
    目的地連接埠 輸入 80,443
    目的地類型 選取 [IP 位址]
    Destination 輸入 *
  6. 選取 [新增]。

建立測試虛擬機器

Ubuntu 虛擬機器可用來測試通過 NAT 閘道的輸出網際網路流量。 請使用下列範例來建立 Ubuntu 虛擬機器。

下列程序會在虛擬網路中建立名為 vm-spoke 的測試虛擬機器 (VM)。

  1. 在入口網站中,搜尋並選取 [虛擬機器]

  2. 在 [虛擬機器] 中,選取 [+ 建立],然後選取 [Azure 虛擬機器]

  3. 在 [建立虛擬機器] 的 [基本] 索引標籤上,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取 [test-rg]
    [執行個體詳細資料]
    虛擬機器名稱 輸入 vm-spoke
    區域 選取 [(美國) 美國中南部]
    可用性選項 選取 [不需要基礎結構備援]
    安全性類型 保留預設值 [標準]
    映像 選取 [Ubuntu Server 22.04 LTS - x64 Gen2]
    VM 架構 保留預設值 [x64]
    大小 選取大小。
    系統管理員帳戶
    驗證類型 選取 [密碼]
    使用者名稱 輸入 azureuser
    密碼 輸入密碼。
    確認密碼 請重新輸入密碼。
    輸入連接埠規則
    公用輸入連接埠 選取 [無]。
  4. 選取頁面頂端的 [網路] 索引標籤。

  5. 在 [網路] 索引標籤中,輸入或選取以下資訊:

    設定
    網路介面
    虛擬網路 選取 [vnet-spoke]
    子網路 選取 [subnet-private (10.1.0.0/24)]
    公用 IP 選取 [無]。
    NIC 網路安全性群組 選取進階
    設定網路安全性群組 選取 [新建]
    輸入 nsg-1 作為名稱。
    將其餘項目保留為預設值,然後選取 [確定]
  6. 將其餘設定保留為預設值,然後選取 [檢閱 + 建立]

  7. 檢閱設定並選取 [建立]

注意

虛擬網路中的虛擬機器 (具有 Bastion 主機) 不需要公用 IP 位址。 Bastion 會提供公用 IP,而 VM 會使用私人 IP 在網路內通訊。 您可以從裝載了 Bastion 的虛擬網路中,移除任何 VM 的公用 IP。 如需詳細資訊,請參閱中斷公用 IP 位址與 Azure VM 的關聯

測試 NAT 閘道

您可以連線至您在先前步驟中所建立的 Ubuntu 虛擬機器,以驗證輸出網際網路流量是否離開 NAT 閘道。

取得 NAT 閘道公用 IP 位址

取得 NAT 閘道公用 IP 位址以驗證本文稍後的步驟。

  1. 在入口網站頂端的搜尋方塊中,輸入公用 IP。 在搜尋結果中,選取 [公用 IP 位址]

  2. 選取 [public-ip-nat]

  3. 記下 [IP 位址] 中的值。 本文中使用的範例是 20.225.88.213

從輪輻測試 NAT 閘道

  1. 在入口網站頂端的搜尋方塊中,輸入虛擬機器。 在搜尋結果中,選取 [虛擬機器]。

  2. 選取 vm-spoke

  3. 在 [作業] 中,選取 [Bastion]

  4. 輸入在 VM 建立期間輸入的使用者名稱和密碼。 選取 Connect

  5. 在 bash 命令提示字元中輸入下列命令:

    curl ifconfig.me
    
  6. 確認命令傳回的 IP 位址符合 NAT 閘道的公用 IP 位址。

    azureuser@vm-1:~$ curl ifconfig.me
    20.225.88.213
    
  7. 關閉與 vm-spoke 的 Bastion 連線。

清除資源

當您完成使用您所建立的資源時,您可以刪除資源群組及其所有資源:

  1. 在 Azure 入口網站中,搜尋並選取 [資源群組]。

  2. 在 [資源群組] 頁面上,選取 [test-rg] 資源群組。

  3. 在 [test-rg] 頁面上,選取 [刪除資源群組]

  4. 在 [輸入資源組名] 中輸入 test-rg 以確認刪除,然後選取 [刪除]。

下一步

請前往到下一篇文章,以了解如何整合 NAT 閘道與 Azure Load Balancer: