配置nat网关snat规则需三步协同:先确保子网路由指向nat网关,再添加snat规则定义地址转换,最后绑定安全组实现白名单控制;缺一不可,且需验证与监控。

配置 NAT 网关的 SNAT 规则让内网主动出网,核心是三步协同:路由指向、SNAT 规则定义、安全组放行。SNAT 本身只做地址转换,权限控制靠安全组,不能只配规则就认为“通了”。
确保子网路由指向 NAT 网关
这是前提,否则流量根本到不了 NAT 网关:
- 进入 VPC 控制台 → 路由表 → 找到内网云服务器所在子网绑定的路由表
- 添加一条目标网段为 0.0.0.0/0 的路由条目
- 下一跳类型选“NAT 网关”,并指定你已创建的 NAT 实例
- 确认该子网未被其他默认路由(如 Internet 网关)覆盖
添加 SNAT 规则,专注地址转换
规则不负责“允许谁”,只负责“把谁的地址换成什么”:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 在 NAT 网关详情页 → SNAT 规则页签 → 点击“添加 SNAT 规则”
- 源网段类型:选“VPC 内子网”(推荐)或“手动输入自定义网段”(如 10.1.1.0/24)
- 子网/源网段:填实际要出网的内网 IP 范围,不要填 0.0.0.0/0 除非全量放行
- 中转 IP:选择已绑定的 EIP;如需高并发或容灾,可选多个 EIP 组成 SNAT Pool
- 描述可写用途,如“生产区Web服务器出网”
绑定安全组,真正实现白名单控制
这才是决定“哪些内网 IP 能触发 SNAT”的关键:
- 仅标准型 NAT 网关支持安全组;传统型不支持,需先确认实例类型
- 进入 NAT 网关详情页 → 安全组页签 → 配置(或新建)安全组
- 入站规则(重点!):源 IP 填白名单网段(如 10.1.1.0/24),协议端口选“全部”或按需限定(如 TCP/80,443)
- 出站规则(必须):放通目的为 0.0.0.0/0 的 ICMP 和 TCP/UDP 流量;若业务访问范围固定(如只调某 API),可缩小目的 IP 段
- 注意:EIP 不参与安全组计算,规则只需管内网侧和 NAT 网关发出的报文
验证与常见问题排查
配完别急着上线,快速验证能避免线上阻断:
- 从白名单内 IP(如 10.1.1.5)执行:
curl -v http://httpbin.org/ip,返回应为中转 EIP - 从白名单外 IP(如 10.1.2.5)执行同样命令,应连接超时或被拒绝
- 查看 NAT 网关监控中的“SNAT 源端口溢出丢包数”,持续上升说明并发过高,需扩容中转 IP 或优化连接复用
- 若完全不通,优先检查路由表是否生效、安全组入站是否误拒、EIP 是否欠费或被封禁










