为什么iptables拒绝允许的数据包的第二个和后续片段?
我有两台主机试图build立一个IPSec连接。 为此,他们必须在UDP端口500和4500上进行通信,所以我在两端的防火墙中打开它们(如相关部分所示): -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT -A INPUT -m udp -p udp –dport 500 -j ACCEPT -A INPUT -m udp -p udp –dport 4500 -j ACCEPT #….. -A INPUT -j REJECT –reject-with icmp6-port-unreachable 然而,密钥交换从来没有成功。 每一方都不断尝试重复发送UDP数据包,从来没有听到任何回应,直到最后放弃。 我在一端启动了tcpdump ,发现UDP数据包被碎片化,第二个碎片进入后,一个ICMP端口不可访问被返回。 这种交易失败的一个例子(为了保护而消毒): 04:00:43.311572 IP6 (hlim 51, next-header Fragment (44) payload length: 1240) 2001:db8::be6b:d879 > 2001:db8:f:608::2: […]