GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux sendet immer Icmp-Umleitung?

Ich habe mehrere Debian Squeeze (6.0.6 aktuell) als Router verwendet.
Wenn ein Link ausgefallen ist, senden sie ICMP-Weiterleitungen an lokale Hosts. Dies ist das Standardverhalten von Debian und mehreren anderen. Sobald der Link wieder zum Leben erweckt wird, können die Hosts ihn bis zum Neustart nicht mehr erreichen.

Ich möchte nicht, dass ICMP-Weiterleitungen von diesen Routern gesendet werden.

Ich habe echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects getestet und sysctl -w net.ipv4.conf.all.send_redirects=0 und Setzen von net.ipv4.conf.all.send_redirects=0 in /etc/sysctl.d/local.conf
Jede dieser Lösungen fügt den richtigen Wert in /proc/sys/net/ipv4/conf/all/send_redirects ein

Aber…
der Kernel sendet weiterhin ICMP-Umleitungen. Auch nach einem Neustart :

$ 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

Und die Routing-Tabellen lokaler Hosts (Windows-Computer) sind verschmutzt.

Ich kann dies mit netfilter verhindern:
iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP

Irgendeine Idee, warum die übliche Methode nicht funktioniert?
Und wie man verhindert, dass eine ICMP-Umleitung gesendet wird, ohne Netfilter zu verwenden?

Akzeptierte Antwort:

Der richtige Befehl lautet:echo 0 | tee /proc/sys/net/ipv4/conf/*/send_redirects
Weil Sie 0 auf „all“ und auf „interface_name“ haben müssen, um es zu deaktivieren.

In /etc/sysctl.conf oder einer ähnlichen Datei, müssen Sie „all“ + „default“ (oder „all“ + „interface“, aber die Schnittstelle ist möglicherweise noch nicht vorhanden, wenn diese Datei verarbeitet wird).


Linux
  1. So leiten Sie die Ausgabe in eine Datei und Stdout in Linux um

  2. UNIX / Linux:3 Möglichkeiten, Signale an Prozesse zu senden

  3. UNIX / Linux :E-Mail mit Anhang mit mutt senden

  4. Wie kann ich Ping auf einer Azure-Linux-VM aktivieren

  5. Wie sende ich eine Raw-Mail-Nachricht unter Linux?

So senden Sie Sound über Bluetooth unter Linux

So senden Sie Linux-Anwendungsprotokolle an AWS CloudWatch

So senden Sie verschlüsselte E-Mails unter Linux

So leiten Sie die Ausgabe unter Linux nach /dev/null um

Senden Sie E-Mail in Linux von der Befehlszeile aus

So senden Sie Prozesse unter Linux an den Hintergrund