全部產品
Search
文件中心

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

更新時間:Oct 30, 2025

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

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

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

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

SNAT - 伺服器訪問公網

DNAT - 對外提供 Web 服務

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 執行個體。

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 條目

此處僅說明如何配置 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收取。

配額

配額名稱

描述

預設限制

提升配額

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個