我有一个networking(10.1.0.0/16)上的一个主机通过TCP与另一个networking(10.2.0.0/16)和中间网关通话的testing设置。
有时,TCP连接丢失,在扫描跟踪(pcap)时,我看起来像是因为在某个时刻网关只发送了一个到10.1.0.1的ICMP主机不可达消息。 10.1.0.1然后发送一个TCP RST到10.2.0.1。
在我看来,网关(pfSense)是坏的或configuration不正确,但无论如何,出于testing的目的,我想阻止这种types的ICMP主机(10.1.0.1)之前,它会影响我的TCP连接还是这样呢?我甚至不确定)。
我试过iptables:
iptables -I INPUT -i eth0 -p icmp --icmp-type host-unreachable -j DROP
但是尽pipe它在防止类似ping的用户空间应用程序接收到这些ICMP消息方面做得很好,但是当网关发送所谓的“杀手级ICMP数据包”时,TCP连接仍然结束。
我对它是如何处理的? 如果是,那我能做些什么来达成我的目标?
您错误地认为ICMP消息是您的问题的原因。 相反,ICMP消息正在帮助您诊断问题。
RST是真正的根本原因。 您可以提供有关TCP连接的更多详细信息,以了解问题的底部。