Linux总是发送ICMP重定向
我有几个Debian Squeeze(最新版本6.0.6)用作路由器。 当链接断开时,它们将ICMP重定向发送到本地主机。这是Debian和其他几种的默认行为。因此,一旦链接恢复正常,主机必须重新启动才能访问它。 我不希望从这些路由器发送任何ICMP重定向。 我测试echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects和sysctl -w net.ipv4.conf.all.send_redirects=0并把net.ipv4.conf.all.send_redirects=0到/etc/sysctl.d/local.conf 这些解决方案中的每把正确的价值为/proc/sys/net/ipv4/conf/all/send_redirects 但是... 内核继续发送ICMP重定向。即使重启后: $ tcpdump -n -i eth0 00:56:17.186995 IP 192.168.0.254 > 192.168.0.100: ICMP redirect 10.10.13.102 to host 192.168.0.1, length 68 并且本地主机(Windows计算机)的路由表被污染。 我可以用netfilter防止这种情况: iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP 知道为什么通常的方法不起作用吗? 以及如何防止不使用netfilter来发送ICMP重定向?