能出去回不来意味着什么
内网发起访问有去无回,最常见的两个原因是:出方向没有做源地址转换,私网源地址被公网设备直接丢弃;或者源地址转换做了,但地址池中的公网地址在上游没有被路由或宣告,回程报文根本找不到回来的路。判断的关键动作只有一个——在出口侧抓包,看报文离开设备时的源地址到底是什么。
基本信息
| 适用平台 | 华为 USG、H3C SecPath、深信服 AF 等做出口 NAT 的设备 |
|---|---|
| 第一怀疑 | 出方向未做源 NAT,私网地址被丢弃在公网 |
| 第二怀疑 | 地址池公网地址上游未宣告或未配置回程路由 |
| 验证手段 | 出口抓包确认源地址,同时查会话表确认 NAT 是否命中 |
典型使用场景
- 新增网段后上不了网:常见于源 NAT 未覆盖新地址段
- 更换运营商或地址池:新公网地址未在对方侧配置路由
- 策略调整后故障:NAT 规则顺序变化导致原规则不再命中
- 双出口场景:切换后源地址变了,回程路由未同步调整
- 与第三方互联:对方按其白名单过滤源地址,地址变化后直接中断
排查顺序
排查顺序
1. 查会话表,确认该流量是否命中了预期的 NAT 规则
2. 在出口侧抓包,观察报文发出时的源地址
3. 源地址仍是私网:检查 NAT 配置与规则顺序,补齐转换
4. 已是公网地址:联系上游确认该地址的回程路由是否可达
5. 全过程记录抓包与结论,避免两天后再排查一次现象与原因对照
| 现象 | 可能原因 | 验证方式 |
|---|---|---|
| 只有某个网段不通 | NAT 规则未覆盖该网段 | 比对该网段的策略命中 |
| 切换链路后不通 | 源地址变了且上游无路由 | 出口抓包看源地址 |
| 部分目的地址不通 | 对端按源地址做白名单过滤 | 与对端核对放行列表 |
| 提示连接被拒绝 | 目的侧主动拒绝而非丢弃 | 核对目的端口与服务状态 |
traceroute 在中间设备不回 ICMP 时信息很有限,判断单通问题应结合出口抓包与对端抓包,而不是只看一跳一跳的延迟。