原地址
问题是收端可以收到SYN报文,但是不会回应ACK报文
这里的错我看中文互联网几乎没有提及,我也找了很久,直到在国外找到一篇,具体的链接如下:
解决方案
# 1.安装网卡管理工具ethtool sudo apt install ethtool # 2. 查看你发送和启服务端的veth peer端口的校验和情况 ethtool -k INTERFACE_NAME
# 3. 显示情况一般如上,veth peer默认会开启(on)发包和收包的校验和,需要手动关闭 ethtool --offload h1-dk1 rx off tx off # 注意这里的rx(收包)和tx(发包)的顺序不能写错,再次查看发现校验和关闭
之后应该就可以通过veth peer端口访问TCP或者UDP为基础的服务了,需要注意在客户端和服务端的veth peer端口都需要此操作,中间的 veth peer端口不需要,具体为什么veth peer会存在这个校验和的问题,博主尚不清楚,期待您的评论!