Ho diversi Debian Squeeze (6.0.6 aggiornati) usati come router.
Quando un collegamento non è attivo, inviano reindirizzamenti ICMP agli host locali. Questo è il comportamento predefinito di Debian e molti altri. Quindi, una volta che il collegamento torna in vita, gli host non possono raggiungerlo fino al riavvio.
Non voglio che nessun reindirizzamento ICMP venga inviato da quei router.
Ho testato echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
e, sysctl -w net.ipv4.conf.all.send_redirects=0
inserendo net.ipv4.conf.all.send_redirects=0
in /etc/sysctl.d/local.conf
ognuna di quelle soluzioni, ho inserito il giusto valore/proc/sys/net/ipv4/conf/all/send_redirects
Ma ...
il kernel continua a inviare reindirizzamenti ICMP. Anche dopo un riavvio:
$ 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
E la tabella di routing degli host locali (computer Windows) è inquinata.
Posso impedirlo con netfilter:
iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP
Qualche idea sul perché il solito metodo non funziona?
E come impedire che il reindirizzamento ICMP venga inviato, senza utilizzare netfilter?