首页/云/云网络与负载均衡速查/NAT 出网不通的排查顺序

NAT 出网不通的排查顺序

NAT 出网不通按固定顺序排查:实例是否自有公网地址、路由表默认路由是否指向 NAT、SNAT 规则是否覆盖该网段、安全组与防火墙是否放通、NAT 网关与绑定 EIP 是否正常。逐层排除比乱试更快。

按固定顺序逐层排除

NAT 出网不通的原因集中在几处,按顺序排查比乱试快得多:实例是否自带公网地址、子网路由表的默认路由是否指向 NAT 网关、SNAT 规则是否覆盖该网段、出方向安全组与主机防火墙是否放通、NAT 网关状态与绑定的 EIP 是否正常。每层都要有明确结论再往下走。

基本信息

第一层确认实例未绑定 EIP 或其他公网地址
第二层核对子网路由表默认路由是否指向 NAT 网关
第三层核对 SNAT 规则覆盖实例所在网段且状态正常
第四层检查出方向安全组与主机防火墙是否放行
第五层查看 NAT 网关状态、绑定 EIP 与监控指标

排查步骤

  • 确认实例未绑定 EIP,避免与 NAT 路径混淆
  • 核对子网路由表默认路由指向 NAT 网关
  • 核对 SNAT 规则覆盖实例网段且已启用
  • 检查安全组出方向与主机防火墙
  • 查看 NAT 网关与绑定 EIP 的状态和监控曲线
  • 对比不通实例与正常实例的路由与规则差异

在实例内逐层验证

在实例内逐层验证
ip route get 1.1.1.1                  # 默认路由是否指向 NAT 网关
curl -sS -m 5 -o /dev/null -w '%{http_code}\n' http://example.com/   # 出网连通性
curl -s -m 5 https://ifconfig.me; echo  # 实际出口地址是否符合预期
# 出口地址异常时回到 SNAT 规则与绑定关系上核对

现象与定位层

现象更可能的层级验证方式
全部实例不通NAT 网关或路由表查网关状态与默认路由
部分实例不通SNAT 覆盖或子网路由对比实例所在子网
出口地址不符预期实例自带 EIP实例内查出口地址
偶发不通规格触顶或连接数满看网关监控与并发连接
遇到「部分实例不通」,优先对比不通实例与正常实例的路由表与 SNAT 覆盖范围差异,而不是逐个实例翻配置。
实例已绑定 EIP 时仍按 NAT 思路排查,方向从第一步就错了;先用一条命令确认实际出口路径。

易错点

  • 实例已绑 EIP 仍按 NAT 思路排查,方向错误,浪费大量时间
  • 忽略 SNAT 规则网段与实际子网不一致,部分实例长期出不了网
  • 只查配置不看网关监控,规格触顶导致的偶发失败被漏掉
  • 在实例内改了主机防火墙却忘记云安全组出方向限制,问题依旧

数据来源与参考

  • 阿里云 NAT 网关文档
  • 腾讯云 NAT 网关排查说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌