tcpcopy
tcpcopy copied to clipboard
引流后目标测试机应用无法接受生产流量
@wangbin579 搭建了一套测试环境,目前从日志里面看不出问题,但测试机应用层接受不到流量,请帮我分析下原因
1.环境 :
1)在线服务器 192.168.1.1 服务启动在8080端口
/usr/local/tcpcopy/sbin/tcpcopy -x 8080-192.168.1.3:8080 -s 192.168.1.2 -d
2)辅助机 192.168.1.2 /usr/local/intercept/sbin/intercept -i eth0 -F 'tcp and src port 8080' -d -l /home/test/intercept.log
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 ether 00:16:3e:00:b4:25 txqueuelen 1000 (Ethernet) RX packets 7413 bytes 1813043 (1.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6729 bytes 570384 (557.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3)测试机 192.168.1.3 测试服务启动在8080端口 route del default gw 192.168.1.253 (测试机原有网关) route add default gw 192.168.1.2 (辅助机IP作为新的网关)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255 ether 00:16:3e:00:f1:3a txqueuelen 1000 (Ethernet) RX packets 7778 bytes 1870299 (1.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7770 bytes 788350 (769.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4)3台服务器的防火墙已全部关闭,telnet能够相互访问
2.测试
向生产环境发起一个get请求
生产环境tcpdump看到报文
测试机tcpdump抓到有ip报文,但测试服务收不到业务请求
看了下对应的日志,没看出错误
生产环境的日志(/usr/local/tcpcopy/logs/error_tcpcopy.log)
辅助机的日志( /home/test/intercept.log)
日志看不出问题,测试服务收不到业务请求 ,这会是什么原因造成的?
辅助服务器,很可能没有收到路由过来的数据包,用tcpdump抓一下辅助服务器的数据包,看看能不能收到测试服务器过来的第二次握手数据包
在辅助机上确实收不到测试机(192.168.1.3)过来的报文,是命令不对(tcpdump -i eth0 host 192.168.1.3),还是其他原因?
[root@iZ11nid5ig5Z test]# tcpdump -i eth0 host 192.168.1.3 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
@wangbin579 我已将登陆IP、账号、密码发到你gmail邮箱!!方便你帮助检查,非常感谢!!
tcpdump -i any host 192.168.1.3 能不能捕获到? 如果不能,那这个问题已经是路由范畴的问题了,目标就是让测试服务器的响应包路由给辅助服务器。
你也可以让intercept运行在测试服务器上面,看看效果如何?如果效果好,那就说明整个环境已经有黑洞了。
王高工,您好,我出现了和上面的陈高工一样的问题,测试服务器能收到流量,但是tcp会话无法建立,都是reset结束,Intercpt服务器能收到回包流量,折腾了好久,无法判断出是啥问题? 还请您指点一二,谢谢。
这个问题有解决了吗。 貌似我也碰到类似的
@wangbin579 我已将登陆IP、账号、密码发到你gmail邮箱!!方便你帮助检查,非常感谢!!
请问下最后是怎么解决的,谢大神指教。