背景:
收到工单反馈说现网业务一个功能有异常,具体现象是tc.hb.cn
域名无法访问,客户地区是河南省,这里记录下排查过程和思路。
首先梳理链路
客户端域名 tc.hb.cn cname—> domainparking-dnspod.cn(新加坡clb)—> snat—> 广州集群(k8s)
1、确认解析是否正常
2、确认clb和域名是否被封禁
这里推荐使用净网云剑进行查询
3、使用拨测平台对域名或者CLB进行拨测
刚开始怀疑是丢包导致的,但是拉通网络侧同事得到的结论是跨境访问,这点丢包率很正常,而且还是小运营商。
4、新申请clb进行测试
1、新申请了一个新加坡其他可用区的clb,代理host测试有问题
2、新申请了一个广州clb进行测试,代理host测试正常
到这一步就非常怀疑是跨境导致的问题,但是想要实锤,还是得抓包,看后端是否正常返回!
5、进入容器进行抓包
因为这里后端机器,所以需要对所有的机器进行抓包
tcpdump -iany -nnv -w hostip.pcap
在Wireshark中使用http contains "tc.hb.cn"
过滤
异常域名
tc.hb.cn
后端接收到clb数据后,应答了,但是没有回包,这里基本上可以确认是后端有问题了
正常域名
cainiaonas.eu.org
正常来讲,后端应答后应该回包,所以需要后端看看代码逻辑,为什么没有回包
总结:
这里一来就怀疑是跨境网络问题以及clb违规被封禁问题,导致前面耽搁了许多时间,要是一来就进行抓包对比,其实一下子就能确认是后端问题,解决时间大大减少,这里肯定有小伙伴问为什么服务要跨境访问呢,后来了解到是因为合规要求,没办法!