Linux siempre envía redireccionamiento ICMP


14

Tengo varios Debian Squeeze (6.0.6 actualizado) utilizados como enrutadores.
Cuando un enlace está inactivo, envían redirecciones 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 alcanzarlo hasta que se reinicia.

No quiero que se envíe ninguna redirección ICMP desde esos enrutadores.

Probé echo 0 > /proc/sys/net/ipv4/conf/all/send_redirectsy sysctl -w net.ipv4.conf.all.send_redirects=0y poniendo net.ipv4.conf.all.send_redirects=0en /etc/sysctl.d/local.conf
cada uno de esos solución de poner el valor a la derecha 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 la redirección ICMP sin usar netfilter?

Respuestas:


14

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

En /etc/sysctl.confun archivo similar, debe establecer 'todos' + 'predeterminado' (o 'todos' + 'interfaz', pero es posible que la interfaz ya no exista cuando se procesa este archivo).


55
¿Cuál es el punto del directorio "todos" entonces? Tuve la vaga impresión de que sobrescribiría los valores de todas las demás entradas.
Elrond

@Elrond, allno sobrescribe, realiza operaciones bit a bit. Ver esta respuesta acerca allvsdefault . send_redirectses un ORparámetro, por lo que la configuración all.send_redirectsde la interfaz superará la configuración a 0.
Leif Arne Storset
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.