单向探测看不到回程
单侧路径探测只画出去程,而网络故障完全可能只发生在回程:去程包顺利到达对端,回程被策略丢弃或者走了另一条链路,结果就是连接建不起来而单侧探测显示路径完好。要排除这种情况,需要两端几乎同时执行路径探测,把两条路径并排比对,看是否经过同一组出口与策略设备。若两端结果差异明显,基本可以确认存在不对称路由。
基本信息
| 核心思想 | 去程与回程分别取证,再并排比对 |
|---|---|
| 执行要求 | 两端尽量同时探测,避免中间路由收敛造成误判 |
| 模式选择 | 探测业务端口更有代表性,例如指定服务端口的传输层探测 |
| 配套证据 | 两端抓包同时看建连报文的去向 |
| 适用场景 | 单向不通、连接建立失败、疑似不对称路由 |
典型使用场景
- 连接建立失败但单侧路径正常:确认回程是否被丢弃
- 多出口环境:核对不同方向的路径是否一致
- 防火墙策略调整后:验证放行是否双向生效
- 链路割接后:确认往返路径未出现绕行
- 向运营商报障:两端路径对比是最有力的材料
两端取证
两端取证
# A 端:
traceroute -T -p 443 -n -m 20 203.0.113.10 | tee /tmp/route-A-to-B.txt
# B 端(另一会话):
traceroute -T -p 443 -n -m 20 10.0.0.100 | tee /tmp/route-B-to-A.txt
# 两端同时抓包看建连报文去向:
tcpdump -nn -i any -c 20 'tcp port 443 and tcp[tcpflags] & tcp-syn != 0'
# 汇总比对路径中是否经过同一组出口设备比对结果判读
| 结果 | 结论 | 下一步 |
|---|---|---|
| 两端路径对称且都完整 | 路径本身不是故障点 | 转向抓包看策略与端口 |
| 去程完整、回程缺失 | 回程被策略丢弃或路由缺失 | 检查对端出口策略与回程路由 |
| 两端路径差异明显 | 存在不对称路由 | 核对路由策略与多出口配置 |
| 某跳后两端都无响应 | 该跳之后链路或策略异常 | 向该跳所属网络报障 |
| 路径正常但连接失败 | 状态化设备丢弃非业务报文 | 用业务端口探测与抓包复核 |
排查连接建立失败时的黄金组合:两端各自路径探测加两端同时抓包看建连报文的去向,三份证据能拼出完整链路。