首页/云/云网络与负载均衡速查/NAT 网关 SNAT 规则配置

NAT 网关 SNAT 规则配置

SNAT 规则决定哪些内网地址可以通过 NAT 网关出公网:默认规则通常覆盖 VPC 全部网段,也可以按交换机或自定义网段精确控制。新增子网后无法出公网时,先检查它是否落在 SNAT 覆盖范围内。

SNAT 规则管什么

SNAT 规则决定哪些内网地址可以通过 NAT 网关出公网:命中规则的来源流量会被转换成 NAT 绑定的 EIP 地址。默认规则通常覆盖 VPC 全部网段,也可以按交换机或自定义网段精确限定。新增子网后无法出公网时,第一件事就是检查它是否落在 SNAT 的覆盖范围内。

基本信息

作用把内网源地址转换成 NAT 网关绑定的公网地址
匹配依据来源网段(子网或自定义 CIDR)
默认行为多数平台默认覆盖 VPC 内全部网段
多 EIP绑定多个 EIP 时可分摊连接与带宽(增强型 NAT 支持)
前置条件子网路由表需要把 0.0.0.0/0 指向该 NAT 网关
转换粒度按来源网段匹配,同一网段内实例共用出口地址

典型使用场景

  • 为应用子网开放出公网能力,同时给数据库子网留出干脆的隔离边界
  • 新增子网后按需追加 SNAT 条目,而不是整段放开所有网段
  • 多个对端需要不同出口地址时,按子网分配不同 EIP
  • 临时关闭某子网的出网能力:删除或收窄对应 SNAT 条目
  • 排查「只有这台机器不能出公网」时,用它核对来源覆盖范围

创建 SNAT 条目

创建 SNAT 条目
NAT 网关 → SNAT 管理 → 创建 SNAT 条目
  VPC 与交换机:选择需要出公网的子网
  源网段:10.10.1.0/24(或更小的自定义范围)
  选择 EIP:nat-eip-01(增强型支持多选)
验证:在实例内执行 curl -s https://ifconfig.me

配置检查清单

检查项期望状态
子网默认路由0.0.0.0/0 指向目标 NAT 网关
SNAT 覆盖范围包含该子网网段
NAT 绑定的 EIP已绑定且状态正常
NAT 规格带宽与连接数满足业务峰值
出网验证实例内访问外部地址返回预期的出口 IP
安全实践:只给确有出网需要的子网开通 SNAT,数据库与缓存子网通常无需公网出口,收窄范围能减少数据外传的潜在路径。
多台实例共用出口时出口地址相同,对端只能看到 NAT 的 EIP;出现异常访问需要结合时间点与业务日志反查具体实例。

易错点

  • 新增子网不在 SNAT 覆盖范围内,表现为「只有这台机器不能出公网」,而其他机器一切正常
  • 把数据库子网一并纳入 SNAT,扩大了数据外传的潜在路径,与隔离设计的初衷相悖
  • 只配 SNAT 不看路由:流量压根不走 NAT 网关,SNAT 覆盖再全也没有作用
  • 依赖默认的全网段覆盖规则,后续新增子网时无法判断哪些网段被有意放开、哪些是默认带来的

数据来源与参考

  • 阿里云 NAT 网关文档(SNAT)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌