https://www.cloudshark.org/captures/6f185eb12e97
- 172.30.5.1 具有桥接网络的 Linux 虚拟机,在另一台服务器上运行,虚拟机只有 RFC1918 地址
- 144.76.103.194 Linux 主机,一个接口,连接到互联网和 RFC1918 广播域,充当虚拟机的 NAT 网关
- 86.59.21.20 Linux HTTP 服务器
端口 29909 上的 TCP 流在延迟、已重传的段从 86.59.21.20 到达后遇到来自 144.76.103.194 的 RST。
- 帧 #581 - 启动序列 522729 的重传
- 帧 #615 - 序列 522729 已重新传输
- 帧 #1727 - 原始序列 522729 到达,延迟约 600 毫秒
- 帧 #1728 - NAT 主机将 RST 发送回 HTTP 服务器
直接从 NAT 主机发起的连接工作正常。
这似乎与 Linux conntrack 代码对“长”延迟段不满意有关,由于意外数据而中止连接。
该行为可以通过设置
netfilter/nf_conntrack_tcp_be_liberal
为 1 来缓解。内核文档:https ://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt