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;出现异常访问需要结合时间点与业务日志反查具体实例。