NAT 閘道資源

本文說明網路位址轉換(NAT)閘道資源的關鍵組成部分,使其能提供高度安全、可擴展且具韌性的出站連線。 NAT 閘道資源是 Azure NAT 閘道 服務的一部分。

你可以透過支援的客戶端在訂閱中設定 NAT 閘道。 這些用戶端包括 Azure 入口、Azure CLI、Azure PowerShell、Azure Resource Manager 範本,或適當的替代方案。

Azure NAT 閘道 產品型錄

Azure NAT 閘道 有兩個 SKU 版本:StandardV2 同 Standard。

Azure NAT 閘道 的標準與 StandardV2 SKU 示意圖。

StandardV2 SKU 預設為區域冗餘。 它會自動跨越區域內多個可用區域,即使某個區域無法使用,也能持續提供外撥連線。

標準SKU是區域資源。 它部署在特定的可用區域內,並且在該區域內具備韌性。

StandardV2 NAT 閘道支援 IPv4 和 IPv6 公共 IP,而標準 NAT 閘道器僅支援 IPv4 公共 IP。

Azure NAT 閘道 架構

Azure NAT 閘道 採用軟體定義網路,作為一個完全託管的分散式服務運作。 NAT 閘道器設計上跨越多個故障域,使其能承受多次故障而不影響服務。

Azure NAT 閘道 提供針對您 Azure 虛擬網路相關子網內的私有實例的來源網路位址轉換(SNAT)。 虛擬機的私有 IP 使用 SNAT 作為 NAT 閘道器的靜態公共 IP 位址,以便外出連接至網際網路。 Azure NAT 閘道 也僅對於由出站起始連線的回應封包提供目的網路位址轉換(DNAT)。

NAT 閘道資源與虛擬機用於外接網際網路連線的示意圖。

當 NAT 閘道器被設定為虛擬網路中的子網時,它會成為該子網所有出站流量的預設下一跳類型。 不需要額外的路由設定。 NAT 閘道器不會提供來自網際網路的未經請求的入站連線。 DNAT 僅對作為外發封包回應而抵達的封包執行。

子網路

你可以將 StandardV2 或 Standard NAT 閘道附加到虛擬網路中的多個子網,以提供對網際網路的外向連接功能。 當 NAT 閘道連接到子網時,它會假設預設的網際網路路由。 NAT Gateway 會作為所有傳出至網際網路流量的下一個躍點類型。

NAT 閘道器在子網配置方面有以下限制:

  • 每個子網不能連接超過一個 NAT 閘道器。

  • 你無法將 NAT 閘道連接到不同虛擬網路的子網路。

  • 你不能將 NAT 網路閘道器與 閘道子網 一起使用。 閘道子網路是 VPN 閘道的指定子網路,可傳送 Azure 虛擬網路與內部部署位置之間的加密流量。

靜態公用 IP 位址

NAT 閘道器可以與靜態公網 IP 位址或公有 IP 前綴相關聯。 如果您指派公用 IP 首碼,則會使用整個公用 IP 首碼。 你可以直接使用公有 IP 前綴,或將 該前綴的公有 IP 位址分發 到多個 NAT 閘道資源中。 NAT 閘道會將所有流量傳送至該前綴的 IP 位址範圍。

這些條件適用:

  • StandardV2 NAT 閘道器支援最多 16 個 IPv4 及 16 個 IPv6 公共 IP 位址。

  • 你不能用標準 NAT 閘道來搭配 IPv6 公共 IP 位址或前綴。 標準 NAT 閘道器最多支援 16 個 IPv4 公共 IP 位址。

  • 你不能對 Basic SKU 使用帶有公共 IP 位址的 NAT 閘道。

Azure NAT 閘道 SKU(SKU 產品型號) IPv4 IPv6
標準V2 是的,支援 IPv4 公共 IP 位址和前綴。 是的,支援 IPv6 公共 IP 位址和前綴。
標準 是的,支援 IPv4 公共 IP 位址和前綴。 不,不支援 IPv6 公共 IP 位址和前綴。

SNAT 連接埠

SNAT 埠的清單由附加於 NAT 閘道的公共 IP 位址、公共 IP 前綴或兩者皆提供。 SNAT 埠庫可按需提供給連接到 NAT 閘道的子網內所有實例。 每個執行個體不需要預先配置 SNAT 連接埠。

如需 SNAT 連接埠和 Azure NAT 閘道的詳細資訊,請參閱使用 Azure NAT 閘道來源網路位址轉換 (SNAT)

當虛擬網路中的多個子網連接到同一個 NAT 閘道資源時,NAT 閘道所提供的 SNAT 埠清單會在所有子網路間共享。

SNAT 埠口作為唯一識別碼,用以區分彼此的連線流。 相同的 SNAT 連接埠可用來同時連線到不同的目的地端點

不同的 SNAT 埠 用於連接 同一目的端點 ,以區分彼此的連線流。 重新用於連線至相同目的地的 SNAT 連接埠,會先進入重複使用冷卻計時器,然後才能重新使用。

SNAT 連接埠配置的圖表。

單一 NAT 閘道器可依據其關聯的公共 IP 位址數量進行擴展。 每個 NAT 閘道器的公共 IP 位址提供 64,512 個 SNAT 埠口以進行出站連線。 NAT 閘道器可擴展至超過 100 萬個 SNAT 埠口。 TCP 和 UDP 是獨立的 SNAT 埠清單,與 NAT 閘道無關。

可用性區域

Azure NAT 閘道 有兩個 SKU:Standard 同 StandardV2。 為了確保你的架構能抵抗區域故障,建議部署 StandardV2 NAT 閘道器,因為它是區域冗餘資源。 當某區域的 可用區域 下降時,剩餘健康區域會產生新的連線。

StandardV2 NAT 閘道器多區部署示意圖。

標準 NAT 閘道器是區域資源,意即你可以在各個可用區域部署並操作它。 如果與標準 NAT 閘道相關聯的區域當機,中斷會影響與 NAT 閘道相關子網的出站連線。

欲了解更多可用性區域與Azure NAT 閘道資訊,請參閱Azure NAT 閘道中的可靠性。

標準NAT閘道器單區部署的示意圖。

部署 NAT 閘道器後,區域選擇無法更改。

通訊協定

NAT 閘道器與 UDP 和 TCP 流程的 IP 及 IP 傳輸標頭互動。 NAT 閘道器對應用層的有效載荷是中立的。 StandardV2 NAT 閘道器亦支援 ICMP Echo 請求與 Echo 回應(ping)。 其他 ICMP 訊息類型則不支援。

附註

Azure StandardV2 NAT 閘道支援 IPv4 與 IPv6 的外發網際網路控制訊息協定(ICMP)Echo Request 與 Echo Reply(ping)。 此功能為預設提供,無需額外設定。 你可以使用 ping 工具(ICMP Echo)來驗證外撥連線,並快速診斷工作負載的可達性問題。 關於驗證連接性的步驟,請參見 「驗證 NAT 閘道連接性」。

TCP 重設

當 NAT 閘道偵測到不存在連線流程上的流量時,會傳送 TCP 重設封包。 TCP 重置封包會向接收端點表示連線流已釋放,未來在同一 TCP 連線上的通訊將失敗。 TCP 重置對 NAT 閘道來說是單向的。

若以下情況,連接流程可能不存在:

  • 連線流程在一段時間沒有活動後達到閒置逾時,且連線會以無訊息方式中斷。

  • 傳送者,無論是從 Azure 網路端還是從公用網際網路端傳送流量,在連線中斷之後傳送流量。

當系統偵測到已中斷的連線中仍有流量時,才會發送 TCP 重置封包。 此操作意味著連線流中斷後,TCP 重置封包可能不會立即傳送。

系統會在偵測到不存在的連線流量時,發送 TCP 重置封包,無論該流量來自 Azure 網路端還是公共網際網路端。

TCP 閒置逾時

NAT 閘道可為 TCP 通訊協定提供 4 分鐘到 120 分鐘的可設定閒置逾時範圍。 UDP 通訊協定的閒置逾時為 4 分鐘。

當連線進入閒置狀態時,NAT 閘道會保留 SNAT 埠,直到連線閒置結束。由於長時間的閒置逾時會不必要地增加 SNAT 埠耗盡的可能性,我們不建議將 TCP 閒置逾時超過預設的 4 分鐘。 閒置計時器不會影響永不閒置的流程。

您可以使用 TCP Keepalive 提供重新整理長時間閒置連線和端點活體偵測的模式。 欲了解更多資訊,請參見 這些.NET範例。 TCP Keepalive 會對端點顯示為重複認可 (ACK),負擔低,且對應用程式層不可見。

UDP 閒置逾時計時器無法設定。 您應使用 UDP Keepalive,確保連線不會達到閒置逾時值,並維持連線。 不同於 TCP 連線,在連線其中一端啟用的 UDP Keepalive 僅套用至單向流量流程。 您必須在流量的兩端啟用 UDP keepalive,才能保持流量的持續運作。

計時器

埠重用計時器

埠重用計時器決定連線關閉後,來源埠處於保留狀態的時間,直到 NAT 閘道器能重新使用該埠,讓新連線前往同一目的端點。

下表提供 TCP 通訊埠何時可供 NAT 閘道重複使用至相同目的地端點的相關資訊。

計時器 描述
TCP FIN TCP FIN 封包關閉連線後,65 秒計時器會保留 SNAT 連接埠。 SNAT 連接埠在計時器結束時可供重複使用。 65 秒
TCP RST TCP RST 封包 (重設) 關閉連線後,16 秒計時器會保留 SNAT 連接埠。 計時器結束時,連接埠可供重複使用。 16 秒
TCP 半開放 在連線建立過程中,當一個連線端點等待另一端點的確認時,會開始一個 30 秒的計時器。 若未偵測到任何流量,就會關閉連線。 連線結束後,來源埠便可重複使用至同一目的端點。 30 秒

對於 UDP 流量,連線關閉後,埠口會進入暫停狀態持續 65 秒,然後才可再次使用。

閒置逾時計時器

計時器 描述
TCP 閒置逾時 當任一端點長時間未傳送任何資料時,TCP 連線可能會進入閒置狀態。 您可以將計時器設定為從 4 分鐘 (預設值) 到 120 分鐘 (2 小時),以讓閒置連線逾時。 流程上的流量會重設閒置逾時計時器。 可配置;4分鐘(預設)到120分鐘
UDP 閒置逾時 當終端長時間不傳送資料時,UDP 連線可能會進入閒置狀態。 UDP 閒置逾時計時器為 4 分鐘且無法設定。 流程上的流量會重設閒置逾時計時器。 無法設定;4分鐘

附註

這些計時器設定可能隨時變更。 這些數值有助於排除故障。 你現在不應該依賴特定的計時器。

Bandwidth

Azure NAT 閘道 的每個 SKU 都有頻寬限制:

  • StandardV2 NAT 閘道器支援每個 NAT 閘道資源最高 100 Gbps 的資料吞吐量。

  • 標準 NAT 閘道提供 50 Gbps 的吞吐量,分為出站與入站(回應)資料。 資料吞吐量在標準 NAT 閘道資源中,出站速率限制為 25 Gbps,進站(回應)資料為 25 Gbps。

效能

對於 TCP 和 UDP 流量,Standard 和 StandardV2 NAT Gateway 各支援每個公共 IP 位址透過網際網路對相同目的地端點最多 50,000 個並行連線。

每個連線最多可同時支援 200 萬個活躍連線。 NAT 閘道器的連線數量是根據五元組(來源 IP 位址、來源埠、目的 IP 位址、目的埠和協定)計算的。 若 NAT 閘道超過 200 萬個連線,資料路徑的可用性下降,新的連線就會失效。

StandardV2 NAT 閘道器每秒可處理高達 1,000 萬封封包。 標準 NAT 閘道器每秒可處理高達 500 萬封封包。

限制

  • Standard 和 Basic 的公共 IP 與 StandardV2 NAT 閘道不相容。 改用 StandardV2 的公有 IP。

    要建立 StandardV2 公共 IP,請參見 Create a Azure public IP

  • 基本的負載平衡器不相容於 NAT 閘道器。 標準與 StandardV2 NAT 閘道器皆應使用標準負載平衡器。

    要將負載平衡器從 Basic 升級為標準,請參見 Upgrade an Azure public load balancer

  • 基本的公有 IP 不相容於標準 NAT 閘道器。 改用標準的公共 IP。

    若要將公共 IP 位址從 Basic 升級為標準,請參見 將 Basic 公共 IP 位址升級為標準

  • Azure StandardV2 NAT 閘道支援 IPv4 和 IPv6 情境下的外發 ICMP Echo 請求與 Echo 回應流量(ping)。 其他 ICMP 訊息類型則不支援。

  • Azure NAT 閘道 沒有 IP 碎片化功能。

  • Azure NAT 閘道 不支援路由配置類型為 Internet 的公共 IP 位址。 若想查看支援公共 IP 上 Internet路由設定的Azure服務清單,請參見 Supported services for for routing over the public internet

  • Azure NAT 閘道 不支援啟用 DDoS 防護的公共 IP。 如需詳細資訊,請參閱 DDoS 限制

  • Azure NAT 閘道 在安全的虛擬樞紐網路(vWAN)架構中不被支援。

  • 你無法將標準 NAT 閘道升級成標準 V2 NAT 閘道器。 為了讓使用區域 NAT 閘道的架構達到區域韌性,你必須部署 StandardV2 NAT 閘道來取代標準 SKU 的 NAT 閘道。

  • 你不能用標準公有 IP 搭配 StandardV2 NAT 閘道器。 若要使用 StandardV2 NAT 閘道器,你必須將公共 IP 重新配置為新的 StandardV2 公共 IP。

關於 StandardV2 NAT 閘道器更已知的限制,請參見 Azure NAT 閘道 SKUs