GNU/Linux >> Tutoriels Linux >  >> Linux

Linux envoie toujours la redirection Icmp ?

J'ai plusieurs Debian Squeeze (6.0.6 à jour) utilisés comme routeurs.
Lorsqu'un lien est en panne, ils envoient des redirections ICMP aux hôtes locaux. C'est le comportement par défaut de Debian et de plusieurs autres. Ainsi, une fois que le lien revient à la vie, les hôtes ne peuvent pas l'atteindre avant le redémarrage.

Je ne veux pas qu'une redirection ICMP soit envoyée depuis ces routeurs.

J'ai testé echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects et sysctl -w net.ipv4.conf.all.send_redirects=0 et mettre net.ipv4.conf.all.send_redirects=0 dans /etc/sysctl.d/local.conf
Chacune de ces solutions met la bonne valeur dans /proc/sys/net/ipv4/conf/all/send_redirects

Mais…
le noyau continue d'envoyer des redirections ICMP. Même après un redémarrage :

$ 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

Et la table de routage des hôtes locaux (ordinateurs Windows) est polluée.

Je peux empêcher cela avec netfilter :
iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP

Avez-vous une idée de la raison pour laquelle la méthode habituelle ne fonctionne pas ?
Et comment empêcher la redirection ICMP d'être envoyée, sans utiliser netfilter ?

Réponse acceptée :

La bonne commande est :echo 0 | tee /proc/sys/net/ipv4/conf/*/send_redirects
Parce que vous devez avoir 0 sur 'all' et sur 'interface_name' pour le désactiver.

Dans /etc/sysctl.conf ou un fichier similaire, vous devez définir 'all' + 'default' (ou 'all' + 'interface' mais l'interface peut ne pas exister déjà lorsque ce fichier est traité).


Linux
  1. Comment utiliser SSMTP pour envoyer un e-mail à partir d'un terminal Linux

  2. UNIX / Linux :3 façons d'envoyer un signal aux processus

  3. UNIX / Linux :Envoyer un mail avec pièce jointe en utilisant mutt

  4. Rediriger toutes les sorties vers un fichier à l'aide de Bash sous Linux ?

  5. Comment envoyer un message brut sous Linux ?

Comment envoyer du son via Bluetooth sous Linux

Comment envoyer des journaux d'application Linux à AWS CloudWatch

Comment envoyer des e-mails cryptés sous Linux

Comment rediriger la sortie vers /dev/null sous Linux

Envoyer un e-mail sous Linux à partir de la ligne de commande

Comment envoyer des processus en arrière-plan sous Linux