全部產品
Search
文件中心

NAT Gateway:使用公網 NAT Gateway實現公網訪問

更新時間:Jan 08, 2026

公網 NAT Gateway作為網路位址轉譯網關,通過轉換和隱藏雲端服務的真真實位址,避免對外暴露,提升公網訪問的安全性。

建立公網 NAT Gateway並綁定 EIP 後,可以:

  • 配置 SNAT:多個 ECS 共用 EIP 訪問公網,節省公網 IP 資源。

  • 配置 DNAT:ECS 通過連接埠映射或 IP 映射,面向公網提供服務。

SNAT - 伺服器訪問公網

image

DNAT - 對外提供 Web 服務

image

SNAT - 伺服器訪問公網

當多個 ECS 執行個體訪問公網時,逐一配置 EIP 會增加成本。使用公網 NAT Gateway的 SNAT 功能,可實現多個 ECS 執行個體共用 EIP 上網,節省成本的同時,通過隱藏執行個體的真實 IP 位址、限制入向串連提升安全性。

工作原理

以 ECS 執行個體(私網IP:192.168.1.100)訪問公網為例。

  1. 路由轉寄:按照 VPC 路由表中指向 NAT Gateway的路由規則,訪問資料包被轉寄至公網 NAT Gateway。

  2. SNAT(源地址轉換):NAT Gateway接收到資料包後,根據 SNAT 規則配置將源 IP 位址192.168.1.100 轉換為 NAT Gateway綁定的EIP。同時記錄原始五元組(協議、源IP、源連接埠、目的IP、目的連接埠)與轉換後的五元組(協議、EIP、公網源連接埠、目的IP、目的連接埠)的對應關係。

  3. 發往公網:經過地址轉換後的資料包被發送至互連網。該請求的發起方為 EIP,而非ECS執行個體的私網IP。

當公網的目標伺服器返迴響應資料包時,將按照會話映射表還原為原始的私網IP,從而轉寄回 ECS 執行個體。

image

SNAT 生效規則

SNAT 功能配置後是否生效,取決於以下規則:

  • 確保 VPC 內訪問公網的流量被正確路由到 NAT Gateway,即 VPC 路由表中訪問公網目標網段的路由條目下一跳指向公網 NAT Gateway。

    • 自動設定:如果 VPC 系統路由表中無0.0.0.0/0 路由,該 VPC 建立第一個公網 NAT Gateway時,系統會自動添加此路由。

    • 手動設定:如果使用自訂路由表,或系統路由表中已存在 0.0.0.0/0 路由,需要手動添加或調整自訂路由條目。建議遵循最小許可權原則,配置目標網段為訪問的具體公網網段。

    • 路由優先順序:當多條路由的目標網段重疊時,遵循最長首碼匹配原則轉寄流量。

  • 出口 IP 優先順序:執行個體持有的固定公網IP/EIP > DNAT IP映射(任意連接埠) > SNAT條目綁定的EIP。可參考統一公網出口IP調整網路架構。

  • SNAT 條目優先順序:當多條 SNAT 條目源網段重疊時,遵循最長子網路遮罩匹配規則。例如,ECS粒度的SNAT條目源網段的子網路遮罩為/32,長度最長,優先順序最高。

1. 建立公網 NAT Gateway並綁定 EIP

公網NAT Gateway需要綁定EIP才能正常工作。一個公網NAT Gateway最多可綁定20個EIP,可以前往配額管理頁面自助提升配額。
從2022年09月19日起,新建立的公網NAT Gateway綁定一個EIP時將佔用NAT Gateway所在交換器的一個私網IP(已有NAT Gateway執行個體不受影響),請確保NAT Gateway所在交換器內私網IP地址充足,否則無法成功綁定。

控制台

前往NAT Gateway - 公網 NAT Gateway購買頁

  • 付費類型:隨用隨付。

  • 地區:選擇建立公網 NAT Gateway的地區。

  • 網路及可用性區域:選擇公網 NAT Gateway所屬的VPC和交換器。建立成功後無法修改。

  • Elastic IP Address:根據是否已建立 EIP 等情況選擇。

    • 選擇已有:選擇未綁定執行個體的EIP。

    • 新購Elastic IP Address:無可用 EIP 時選擇。預設建立BGP(多線)類型的按使用流量計費的EIP,可根據自身業務需要選擇頻寬峰值

      如需綁定BGP(多線)_精品線路類型或其他計費類型的EIP,需先申請EIP,建立時選擇已有進行綁定。
    • 稍後配置:成功建立的NAT Gateway將不具備公網能力,使用者需後續手動綁定EIP。

      建立完成後,單擊目標公網NAT Gateway執行個體Elastic IP Address列的立即綁定,可從已有Elastic IP Address中選擇或新購Elastic IP Address並綁定。

API

2. 配置 SNAT 條目

控制台

前往公網 NAT Gateway頁面。單擊目標執行個體操作列的設定SNAT,單擊建立SNAT條目

  • SNAT條目粒度:SNAT 規則的生效範圍,根據管理精細度需求選擇。

    • 專用網路粒度:所屬VPC下的所有ECS均可以通過配置的SNAT規則訪問公網。

    • 交換器粒度:僅指定的交換器下的ECS可訪問公網。

    • ECS/彈性網卡粒度:僅指定的ECS或彈性網卡可訪問公網。

    • 自訂網段粒度:為指定的CIDR網段內的資源提供公網訪問能力。

  • 選擇Elastic IP Address地址:在下拉式清單中選擇提供公網訪問的EIP。

    • 沒有可選的EIP時,可在下拉式清單單擊新購Elastic IP Address並綁定,在彈出的對話方塊中完成EIP的購買。

    • 可以選擇多個EIP,Business Connectivity會通過雜湊演算法分配到多個EIP,由於每個串連的流量不同,可能會出現多EIP業務流量不均勻的情況,建議將每個EIP加入到同一個共用頻寬中以避免單EIP頻寬達到上限導致業務受損。

  • EIP親和性:選擇多個EIP,未開啟EIP親和性時,同一個私網IP訪問單一目的IP,可能使用不同的EIP。開啟後,會使用相同的EIP。但訪問單一目標的並發串連數過多時,會造成連接埠分配失敗,需持續監控 連接埠分配失敗丟失數

建立完成後,可單擊目標條目操作列的編輯,修改EIP與EIP親和性。

API

3. 配置路由

配置路由,確保 ECS 執行個體發往互連網的流量正確路由到 NAT Gateway。

控制台

前往專用網路控制台 - 路由表頁面。在頂部功能表列,選擇公網NAT Gateway的地區。找到 ECS 執行個體所在交換器關聯的路由表,單擊 ID 進入詳情頁。

  • 自動設定:如果建立該 VPC 內的第一個公網 NAT Gateway,且 ECS 執行個體所在的交換器關聯了系統路由表,系統會自動添加一條目標網段為 0.0.0.0/0、下一跳為該NAT Gateway的路由。此情況下,無需任何操作。

  • 手動設定:如果 VPC 內已存在 0.0.0.0/0 路由或交換器綁定了自訂路由表,需在對應路由表中添加目標網段為需訪問的具體公網網段、路由下一跳為 NAT Gateway的自訂路由。

API

驗證網路連通性

登入 ECS 執行個體,執行以下命令。

# 確保 ECS 執行個體所屬的安全性群組已允許存取訪問公網的對應流量
# 測試能否訪問公網
ping www.aliyun.com

# 查看當前出口公網IP,應顯示為NAT Gateway綁定的EIP
curl ifconfig.me

DNAT - 對外提供 Web 服務

當 ECS 執行個體對外提供 Web 服務時,直接為其分配 EIP 會暴露執行個體的所有連接埠,增加安全風險。使用公網 NAT Gateway的 DNAT 功能,可通過將 NAT 網關 EIP 的特定連接埠或所有流量轉寄至 ECS 執行個體,避免地址暴露。需確保 ECS 執行個體未綁定 EIP,才能配置 DNAT 條目。

工作原理

以 ECS 執行個體(私網IP:192.168.1.100)面向公網提供服務為例。

  1. 公網使用者訪問服務:資料包的目標 IP 為公網 NAT Gateway綁定的用於提供服務的 EIP。

  2. DNAT(目標地址轉換):NAT Gateway接收資料包後,根據 DNAT 規則,將 EIP 轉換為ECS執行個體的私網 IP。同時記錄地址轉換的映射關係。

  3. 訪問服務:經過地址轉換後的資料包轉寄至目標 ECS執行個體。

當目標 ECS 執行個體返迴響應資料包時,將按照路由轉寄至公網 NAT Gateway,並根據會話映射錶轉換為EIP,發送至公網使用者。

僅配置 DNAT 條目時,ECS 接收資料包的源 IP 為公網 IP。因此,為 ECS 配置安全性群組入方向規則時,需使用真實的訪問源 IP(即公網 IP)。
image

配置 DNAT 條目

此處僅說明如何配置 DNAT 條目。建立 NAT Gateway、綁定 EIP 與路由配置可參考伺服器訪問公網

控制台

  1. 前往公網 NAT Gateway頁面。在頂部功能表列,選擇公網NAT Gateway的地區。

  2. 單擊目標公網NAT Gateway執行個體操作列的設定DNAT,單擊建立DNAT條目

    • 選擇Elastic IP Address地址:選擇公網使用者訪問的EIP。支援同一個EIP同時用於DNAT條目和SNAT條目。

    • 選擇私網IP地址:選擇對外提供服務的真實私網IP。支援通過ECS或彈性網卡進行選擇或通過手動輸入。

    • 連接埠設定:配置DNAT映射。

      • 任意連接埠:屬於IP映射,任何訪問該EIP的請求都將轉寄到目標ECS執行個體上,將佔用全部連接埠。

        • 目標ECS執行個體也可以使用該EIP主動訪問公網。該EIP不能再被其他DNAT條目或SNAT條目使用。

        • 如果公網NAT Gateway既配置了DNAT IP映射,又配置了SNAT條目,則ECS執行個體訪問公網時,優先使用DNAT IP映射方式的EIP。

      • 具體連接埠:屬於連接埠映射,以指定協議和連接埠訪問該EIP的請求將轉寄到目標ECS執行個體的指定連接埠上。 配置公網連接埠(進行連接埠轉寄的外部連接埠或連接埠段)、私網連接埠(進行連接埠轉寄的內部連接埠或連接埠段)、協議類型(轉送連接埠的協議類型)。

        • 輸入的連接埠範圍需要在1~65535之間,如果需要在連接埠段內轉寄,請在輸入時以正斜線(/)隔開開始端點口,例如10/20。公私網連接埠段中的連接埠數量一致,公私網需同為連接埠或者連接埠段,且需確保連接埠數量一致。例如公網連接埠設定為10/20私網連接埠設定為80/90

        • 當選擇的EIP已建立SNAT條目,且需要設定大於1024的公網連接埠時,因SNAT預設分配連接埠範圍在1025~65535之間,需單擊開啟連接埠突破

          重要

          開啟連接埠突破會導致部分存量SNAT的串連閃斷,重連即可恢複,請謹慎操作。

    建立完成後,可單擊目標條目操作列的編輯,修改EIP、私網IP和連接埠。

API

資源清理

公網 NAT Gateway從建立完成到釋放結束均收取執行個體費,處理流量時還將收取容量單位 CU 費。為避免非必要開銷,當不再需要時,可按照以下步驟清理資源:

控制台

  1. 刪除配置條目:在執行個體詳情頁的SNAT管理DNAT管理頁簽,刪除配置的條目。

  2. 解除綁定並釋放 EIP:在執行個體詳情頁的綁定的Elastic IP Address頁簽,解除綁定。僅解除綁定 EIP,仍需支付 EIP 配置費,需前往EIP釋放 EIP。

    未刪除配置條目時,可強制解除綁定NAT

  3. 刪除公網 NAT Gateway:單擊目標公網NAT Gateway執行個體操作更多操作 > 刪除

    未解除綁定EIP、刪除配置條目時,可選擇強制移除(刪除 NAT Gateway及其包含資源),由系統刪除執行個體及相關資源。

    為執行個體開啟刪除保護,可避免誤刪。刪除執行個體前,需關閉刪除保護。

API

  1. 分別調用DeleteSnatEntryDeleteForwardEntry刪除SNAT條目和DNAT條目。

  2. 調用UnassociateEipAddress解除綁定EIP。

  3. 調用DeleteNatGateway刪除公網NAT Gateway。

應用於生產環境

最佳實務

  • 網路規劃:為公網 NAT Gateway建立獨立的交換器,並預留足夠的私網IP,避免因 IP 耗盡影響後續為 NAT Gateway綁定多 EIP。

  • 精細化控制:使用交換器粒度或 ECS 粒度的 SNAT 條目,遵循最小許可權原則,僅為需要訪問公網的資源開啟許可權。

容災策略

  • 高可用容災:公網 NAT Gateway提供主備可用性區域容災,備可用性區域由阿里雲選擇。但主備切換過程中,可能存在最長 10 分鐘的切換中斷。對於無法接受此中斷的業務,應在不同可用性區域部署多個 NAT Gateway,並在業務層面實現流量調度和故障切換。

  • 多 EIP 冗餘:為 SNAT 條目綁定多個 EIP。當某個 EIP 因攻擊等原因不可用時,業務流量可以自動通過其他 EIP 流出。

風險防範

  • 安全性群組配置:公網 NAT Gateway實現地址轉換,後端 ECS 執行個體的安全防護仍依賴安全性群組和網路 ACL。請務必為 ECS 執行個體配置嚴格的入方向安全性群組規則,僅允許存取必要的連接埠。

  • 監控與警示:為 NAT Gateway的關鍵計量(如並發串連數、出入方向頻寬等)配置警示規則,以便在資源接近瓶頸時及時收到通知並擴容。

  • 串連數限制:業務需要大量串連到同一公網服務(如支付網關)時,需關注最大並發串連數(N × 55,000, N 是 SNAT 條目配置的 EIP 數量)。建議提前規劃足夠的 EIP 數量,並監控連接埠分配失敗丟失數

  • ICMP 代回:預設開啟,通過Ping命令進行探測時,通過 NAT Gateway將會收到正常的回複報文,這無法保證後端伺服器正常。對於依賴 Ping 進行精細化監控的情境,需在詳情頁關閉 ICMP 代回

    • 僅 DNAT 配置任意連接埠映射情境下,將ICMP報文轉寄至後端伺服器。

    • 具體連接埠映射情境下,Ping將無法探測。可使用 telnet <EIP> <公網連接埠>直接探測映射的業務連接埠。

常見問題

配置 SNAT 後無法訪問公網

可參考以下步驟排查:

  1. 路由配置:在公網 NAT Gateway執行個體詳情頁查看指向NAT的專用網路路由資訊,確認是否有指向該公網NAT Gateway的路由條目。

  2. SNAT 條目配置:在公網 NAT Gateway執行個體詳情頁的SNAT管理頁簽,確認SNAT條目的狀態為可用。並確認訪問公網的源地址在源網段內。

  3. 存取控制:檢查訪問的公網對端是否配置了存取控制策略或將執行個體綁定的EIP加入了白名單。

  4. 檢查是否配置IPv4網關:與 IPv4 網關結合使用時,確保NAT Gateway為NAT模式,並正確配置路由。

訪問公網連線逾時或速度慢

通常由以下原因導致:

公網 NAT Gateway處理私網流量

NAT Gateway本身不決定流量的走向,僅負責地址轉換。流量是否會被發送到 NAT Gateway,以及地址轉換後流向何處,由 VPC 的路由表控制。

更多資訊

計費說明

公網 NAT Gateway收取執行個體費和容量單位CU費。綁定的 EIP 有獨立的計費規則,費用由EIP收取。

image

配額

配額名稱

描述

預設限制

提升配額

natgw_quota_nat_num_per_vpc

單VPC內可以建立NAT Gateway的數量

5個

前往配額管理頁面配額中心申請提升配額。

natgw_quota_eip_num_per_nat

每個NAT Gateway可綁定的EIP數量

20個

natgw_quota_snat_entry_num

每個NAT Gateway中可保有的SNAT條目數量

40個

natgw_quota_dnat_entry_num

每個NAT Gateway中可保有的DNAT條目數量

100個