教學課程:使用 NAT 閘道和公用負載平衡器設定雙堆疊輸出連線
在本教學課程中,瞭解如何將 NAT 閘道和公用負載平衡器設定為雙堆疊子網路,以允許使用 NAT 閘道的 v4 工作負載和使用公用負載平衡器的 v6 工作負載進行輸出連線。
NAT 閘道支援使用 IPv4 公用 IP 位址進行輸出連線,而負載平衡器同時支援 IPv4 和 IPv6 公用 IP 位址。 當具有 IPv4 公用 IP 的 NAT 閘道與使用 IPv4 公用 IP 位址的負載平衡器一起出現時,NAT 閘道優先於負載平衡器以提供輸出連線。 當 NAT 閘道部署在具有 IPv6 負載平衡器的雙堆疊網路中時,NAT 閘道會使用 IPv4 輸出流量,而負載平衡器會使用 IPv6 輸出流量。
在本教學課程中,您會了解如何:
- 建立虛擬網路
- 建立具有 IPv4 公用位址的 NAT 閘道
- 將 IPv6 新增至虛擬網路
- 建立具有 IPv6 公用位址的公用負載平衡器
- 建立雙堆疊虛擬機器
- 驗證雙堆疊虛擬機器的輸出連線能力
必要條件
登入 Azure
使用您的 Azure 帳戶登入 Azure 入口網站 。
建立虛擬網路
在本節中,建立虛擬機器和負載平衡器的虛擬網路。
下列程序會建立具有資源子網路、Azure Bastion 子網路和 Azure Bastion 主機的虛擬網路。
在入口網站中,搜尋並選取 [虛擬網路]。
在 [虛擬網路] 頁面上,選取 [+ 建立]。
在 [建立虛擬網路] 的 [基本] 索引標籤中,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [新建]
在 [名稱] 中輸入 test-rg。
選取 [確定]。[執行個體詳細資料] 名稱 輸入 vnet-1。 區域 選取 [美國東部 2]。 選取 [下一步],繼續前往 [安全性] 索引標籤。
在 [安全性] 索引標籤的 [Azure Bastion] 區段中,選取 [啟用 Bastion]。
Azure Bastion 會使用您的瀏覽器,透過安全殼層 (SSH) 或遠端桌面通訊協定 (RDP) 連線至虛擬網路中的 VM (使用其私人 IP 位址)。 VM 不需要公用 IP 位址、用戶端軟體或特殊設定。 如需 Azure Bastion 的詳細資訊,請參閱 Azure Bastion
在 [Azure Bastion] 中,輸入或選取下列資訊:
設定 值 Azure Bastion 主機名稱 輸入 bastion。 Azure Bastion 公用 IP 位址 選取 [建立公用 IP 位址]。
在 [名稱] 中輸入 public-ip。
選取 [確定]。選取 [下一步],繼續前往 [IP 位址] 索引標籤。
在 [子網路] 的 [位址空間] 方塊中,選取 [預設] 子網路。
在 [編輯子網路] 中,輸入或選取下列資訊:
設定 值 子網路詳細資料 子網路範本 保留預設值 [Default]。 名稱 輸入 subnet-1。 起始位址 保留預設值 [10.0.0.0]。 子網路大小 保留預設值 /24(256 個位址)。 選取 [儲存]。
選取畫面底部的 [檢閱 + 建立],然後在驗證通過時,選取 [建立]。
堡壘主機部署需要幾分鐘的時間。 部署虛擬網路時,您可以繼續進行後續步驟。
建立 NAT 閘道
NAT 閘道提供虛擬網路 IPv4 部分的輸出連線能力。 使用下列範例來建立 NAT 閘道。
在入口網站頂端的搜尋方塊中,輸入 NAT 閘道。 在搜尋結果中,選取 [NAT 閘道]。
選取 + 建立。
在 [建立網路位址轉譯 (NAT) 閘道] 的 [基本] 索引標籤中,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [test-rg]。 [執行個體詳細資料] NAT 閘道名稱 輸入 nat-gateway。 區域 選取 [美國東部 2]。 可用性區域 選取 [區域] 或 [無區域]。 TCP 閒置逾時 (分鐘) 保留預設值 [4]。 選取 [Next: Outbound IP] \(下一步:輸出 IP\)。
在 公用 IP 位址中,選取 [建立新的公用 IP 位址]。
在 [名稱] 中輸入 public-ip-nat。 選取 [確定]。
選取 [Next: Subnet] \(下一步:子網路\)。
在 [虛擬網路] 中,選取 [vnet-1]。
在子網路清單中,選取 [subnet-1] 的方塊。
選取 [檢閱 + 建立]。
選取 建立。
將 IPv6 新增至虛擬網路
在 NAT 閘道與 subnet-1 相關聯之後,必須將 IPv6 新增至虛擬網路。 使用下列範例,將和 IPv6 位址空間和子網路新增至您在先前步驟中建立的虛擬網路。
在入口網站頂端的搜尋方塊中,輸入虛擬網路。 選取搜尋結果中的 [虛擬網路]。
選取 [vnet-1]。
在 [設定] 中,選取 [位址空間]。
在顯示 [新增其他位址範圍] 方塊中,輸入 2404:f800:8000:122::/63。
選取 [儲存]。
在 [設定] 中選取 [子網路]。
在子網路清單中選取 [subnet-1]。
選取 [新增 IPv6 位址空間] 旁的方塊。
在 [IPv6 位址空間] 中輸入 2404:f800:8000:122::/64。
選取 [儲存]。
建立雙堆疊虛擬機器
虛擬機器的網路設定具有 IPv4 和 IPv6 組態。 建立具有內部 IPv4 位址的虛擬機器。 然後將 IPv6 組態新增至虛擬機器的網路介面。
下列程序會在虛擬網路中建立名為 vm-1 的測試虛擬機器 (VM)。
在入口網站中,搜尋並選取 [虛擬機器]。
在 [虛擬機器] 中,選取 [+ 建立],然後選取 [Azure 虛擬機器]。
在 [建立虛擬機器] 的 [基本] 索引標籤上,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [test-rg]。 [執行個體詳細資料] 虛擬機器名稱 輸入 vm-1。 區域 選取 [美國東部 2]。 可用性選項 選取 [不需要基礎結構備援]。 安全性類型 選取 [標準]。 映像 選取 [Ubuntu Server 22.04 LTS - x64 Gen2]。 VM 架構 保留預設值 [x64]。 大小 選取大小。 系統管理員帳戶 驗證類型 選取 [密碼]。 使用者名稱 輸入 azureuser。 密碼 輸入密碼。 確認密碼 請重新輸入密碼。 輸入連接埠規則 公用輸入連接埠 選取 [無]。 選取頁面頂端的 [網路] 索引標籤。
在 [網路] 索引標籤中,輸入或選取以下資訊:
設定 值 網路介面 虛擬網路 選取 [vnet-1]。 子網路 選取 [subnet-1 (10.0.0.0/24)]。 公用 IP 選取 [無]。 NIC 網路安全性群組 選取進階。 設定網路安全性群組 選取 [新建]
輸入 nsg-1 作為名稱。
將其餘項目保留為預設值,然後選取 [確定]。將其餘設定保留為預設值,然後選取 [檢閱 + 建立]。
檢閱設定並選取 [建立]。
注意
虛擬網路中的虛擬機器 (具有 Bastion 主機) 不需要公用 IP 位址。 Bastion 會提供公用 IP,而 VM 會使用私人 IP 在網路內通訊。 您可以從裝載了 Bastion 的虛擬網路中,移除任何 VM 的公用 IP。 如需詳細資訊,請參閱中斷公用 IP 位址與 Azure VM 的關聯。
注意
無論是未獲指派公用 IP 位址的 VM,或位於內部基本 Azure 負載平衡器後端集區的 VM,Azure 都會為其提供預設輸出存取 IP。 預設輸出存取 IP 機制能提供無法自行設定的輸出 IP 位址。
發生下列其中一個事件時,會停用預設輸出存取 IP:
- 公用 IP 位址會指派給 VM。
- 無論有沒有輸出規則,都會將 VM 放在標準負載平衡器的後端集區中。
- Azure NAT 閘道資源會指派給 VM 的子網路。
您在彈性協調流程模式中使用虛擬機器擴展集建立的 VM 沒有預設輸出存取。
如需 Azure 中輸出連線的詳細資訊,請參閱 Azure 中的預設對外存取與針對輸出連線,使用來源網路位址轉譯 (SNAT)。
等候虛擬機器完成部署,再繼續進行後續步驟。
將 IPv6 新增至虛擬機器
支援 IPv6,虛擬機器必須已將 IPv6 網路組態新增至網路介面。 使用下列範例將 IPv6 網路組態新增至虛擬機器。
在入口網站頂端的搜尋方塊中,輸入虛擬機器。 在搜尋結果中,選取 [虛擬機器]。
選取 [vm-1]。
在 [設定] 中,選取 [網路]。
在 [網路介面:] 欄位中選取網路介面的名稱。 網路介面的名稱是虛擬機器名稱加上隨機數字。 在此範例中,其為 vm-1202。
在網路介面內容的 [設定] 中,選取 [IP 設定]。
選取 + 新增。
在 [新增 IP 設定] 中,輸入或選取下列資訊:
設定 值 名稱 輸入 ipconfig-ipv6。 IP 版本 選取 [IPv6]。 其餘設定保留預設值,然後選取 [新增]。
建立公用負載平衡器
公用負載平衡器具有負載平衡器後端集區的前端 IPv6 位址和輸出規則。 輸出規則會控制後端集區中虛擬機器的外部 IPv6 連線行為。 使用下列範例來建立 IPv6 公用負載平衡器。
在入口網站頂端的搜尋方塊中,輸入負載平衡器。 在搜尋結果中,選取 [負載平衡器]。
選取 + 建立。
在 [建立負載平衡器] 的 [基本] 索引標籤中,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [test-rg]。 [執行個體詳細資料] 名稱 輸入 load-balancer。 區域 選取 [美國東部 2]。 SKU 保留預設值 [標準]。 類型 選取 [公用]。 層 保留預設值區域。 選取 [下一步: 前端 IP 設定]。
選取 [+ 新增前端 IP 設定]。
在 [新增前端 IP 設定] 中,輸入或選取下列資訊:
設定 值 名稱 輸入 frontend-ipv6。 IP 版本 選取 [IPv6]。 IP 類型 選取 [IP 位址]。 公用 IP 位址 選取 [新建]
在 [名稱] 中輸入 public-ip-ipv6。
選取 [確定]。選取 [新增]。
選取 [下一步:後端集區]。
選取 [+新增後端集區]。
在 [新增後端集區] 中,輸入或選取下列資訊:
設定 值 名稱 輸入 backend-pool。 虛擬網路 選取 [vnet-1 (test-rg)]。 後端集區設定 保留預設值 [NIC]。 選取 [儲存]。
選取 [下一步:輸入規則] 然後 [下一步:輸出規則]。
選取 [新增輸出規則]。
在 [新增輸出規則] 中,輸入或選取下列資訊:
設定 值 名稱 輸入 outbound-rule。 IP 版本 選取 [IPv6]。 前端 IP 位址 選取 [frontend-ipv6]。 通訊協定 保留 [全部] 的預設值。 閒置逾時 (分鐘) 保留預設值 [4]。 TCP 重設 保留預設值 [已啟用]。 後端集區 選取 [backend-pool]。 連接埠配置 連接埠配置 選取 [手動選擇輸出連接埠數目]。 輸出連接埠 選擇依據 選取 [每個執行個體的連接埠數]。 每個執行個體的連接埠數 輸入 20000。 選取 [新增]。
選取 [檢閱 + 建立]。
選取 建立。
等候負載平衡器完成部署,再繼續進行後續步驟。
將虛擬機器新增至負載平衡器
在入口網站頂端的搜尋方塊中,輸入負載平衡器。 在搜尋結果中,選取 [負載平衡器]。
選取 [load-balancer]。
在 [設定] 上,選取 [後端集區]。
選取 [backend-pool]。
在 [虛擬網路] 中選取 [vnet-1 (test-rg)]。
在 [IP 設定] 中,選取 [+ 新增]。
選取與 ipconfig-ipv6 的 IP 設定相對應的 vm-1 的核取方塊。 請勿選取 ipconfig1。
選取 [新增]。
選取 [儲存]。
驗證輸出連線能力
使用 Azure Bastion 連線到虛擬機器,以確認 IPv4 和 IPv6 輸出流量。
取得 IPv4 和 IPv6 公用 IP 位址
在您可以驗證輸出連線之前,請先不要使用 IPv4 和您先前建立的 IPv6 公用 IP 位址。 使用下列範例來取得公用 IP 位址。
在入口網站頂端的搜尋方塊中,輸入公用 IP 位址。 在搜尋結果中,選取 [公用 IP 位址]。
選取 [public-ip-nat]。
記下 IP 位址中的位址。 在此範例中為 203.0.113.5。
回到 [公用 IP 位址]。
選取 [public-ip-ipv6]。
記下 IP 位址中的位址。 在此範例中,2001:DB8::14。
記下這兩個 IP 位址。 使用 IP 來驗證每個堆疊的輸出連線能力。
測試連線能力
登入 Azure 入口網站。
在入口網站頂端的搜尋方塊中,輸入虛擬機器。 在搜尋結果中,選取 [虛擬機器]。
選取 [vm-1]。
在 [概觀] 頁面的 [vm-1] 中,選取 [連線],然後選取 [Bastion]。 選取 [使用 Bastion]
輸入您在建立虛擬機器時所建立的使用者名稱和密碼。
選取 Connect。
在命令列中,輸入下列命令來驗證 IPv4 位址。
curl -4 icanhazip.com
azureuser@vm-1:~$ curl -4 icanhazip.com 203.0.113.5
在命令列中,輸入下列命令來驗證 IPv4 位址。
curl -6 icanhazip.com
azureuser@vm-1:~$ curl -6 icanhazip.com 2001:DB8::14
關閉與 vm-1 的 bastion 連線。
清除資源
當您完成使用本文中建立的資源時,請刪除資源群組及其包含的所有資源。
在 Azure 入口網站中,搜尋並選取 [資源群組]。
在 [資源群組] 頁面上,選取 [test-rg] 資源群組。
在 [test-rg] 頁面上,選取 [刪除資源群組]。
在 [輸入資源群組名稱以確認刪除] 中輸入 test-rg,然後選取 [刪除]。
下一步
請前往下一篇文章以了解如何: