GNU/Linux >> Tutoriales Linux >  >> Linux

¿Linux envía siempre redirección Icmp?

Tengo varios Debian Squeeze (6.0.6 actualizados) que se usan como enrutadores.
Cuando un enlace no funciona, envían redireccionamientos ICMP a los hosts locales. Este es el comportamiento predeterminado de Debian y varios otros. Entonces, una vez que el enlace vuelve a la vida, los hosts no pueden acceder a él hasta que se reinicie.

No quiero que se envíe ningún redireccionamiento ICMP desde esos enrutadores.

Probé echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects y sysctl -w net.ipv4.conf.all.send_redirects=0 y poniendo net.ipv4.conf.all.send_redirects=0 en /etc/sysctl.d/local.conf
Cada una de esas soluciones pone el valor correcto en /proc/sys/net/ipv4/conf/all/send_redirects

Pero…
el núcleo sigue enviando redireccionamientos ICMP. Incluso después de reiniciar:

$ 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

Y la tabla de enrutamiento de los hosts locales (computadoras con Windows) está contaminada.

Puedo evitar esto con netfilter:
iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP

¿Alguna idea de por qué el método habitual no funciona?
¿Y cómo evitar que se envíe el redireccionamiento ICMP sin usar netfilter?

Respuesta aceptada:

El comando correcto es:echo 0 | tee /proc/sys/net/ipv4/conf/*/send_redirects
Porque debe tener 0 en 'todos' y en 'interface_name' para deshabilitarlo.

En /etc/sysctl.conf o un archivo similar, debe configurar 'todos' + 'predeterminado' (o 'todos' + 'interfaz', pero es posible que la interfaz aún no exista cuando se procese este archivo).


Linux
  1. Envía comandos a múltiples sesiones SSH con Terminator

  2. 4 formas de enviar archivos adjuntos de correo electrónico desde la línea de comandos de Linux

  3. UNIX/Linux:3 Maneras de Enviar Señal a Procesos

  4. UNIX/Linux:Enviar correo con archivo adjunto usando mutt

  5. ¿Cómo puedo habilitar Ping en una máquina virtual Azure Linux?

Cómo enviar sonido a través de Bluetooth en Linux

Cómo enviar registros de aplicaciones de Linux a AWS CloudWatch

Cómo enviar correos electrónicos cifrados en Linux

Cómo redirigir la salida a /dev/null en Linux

Enviar correo electrónico en Linux desde la línea de comandos

Cómo enviar procesos a segundo plano en Linux