Capítulo 13. Parámetros de red del núcleo

El núcleo tiene muchos parámetros que se pueden ajustar para diferentes circunstancias. Aunque, como de costumbre, los parámetros por defecto sirven muy bien para el 99% de las instalaciones, ¡no llamamos a éste el Cómo Avanzado sólo por diversión!

Las cosas interesantes están en /proc/sys/net, así que eche un vistazo ahí. No todo lo documentaremos aquí al principio, pero estamos trabajando en ello.

Mientras tanto, puede que quiera echar un vistazo a las fuentes del núcleo de Linux; lea el fichero Documentation/filesystems/proc.txt. La mayoria de las características se explican allí.

(FIXME)

13.1. Reverse Path Filtering

Por defecto, los routers encaminan todo, incluyendo paquetes que «obviamente» no pertenecen a nuestra red. Un ejemplo común es un escape de un espacio IP privado a Internet. Si tiene una interfaz con una ruta de 195.96.96.0/24 hacia ella, no esperará que lleguen allí paquetes de 212.64.94.1.

Mucha gente querría desactivar esto, de manera que los hacker núcleo lo han hecho sencillo. Hay ficheros en /proc donde decir que quiere que el núcleo haga esto por usted. El método se llama «"Reverse Path Filtering». Básicamente, si la respuesta a un paquete no debería haber salido de la interfaz por la que vino, entonces este paquete es erróneo y debería ser ignorado.

El siguiente fragmento lo activará para todas las interfaces actuales y futuras.

# for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do
>  echo 2 > $i 
> done

Siguiendo el ejemplo anterior, si un paquete llega al router Linux por eth1 diciendo que viene de la red Oficina+ISP, debería ser eliminado. De forma similar, si un paquete viene de la subred Oficina, diciendo que viene de algún sitio de fuera del cortafuegos, también debería ser eliminado.

Lo anterior es un «reverse path filtering» completo. La acción por defecto es filtrar basándose sólo en direcciones IP que estén en las redes conectadas directamente. Esto se debe a que el filtrado completo a veces no funciona en el caso de encaminamiento asimétrico, cuando los paquetes vienen por una vía y salen por otra, como tráfico de satélite, o si tiene rutas dinámicas (bgp, ospf, rip) en la red. Los datos vienen por la antena del satélite y las respuestas van mediante líneas terrestres normales.

Si esta excepción se le aplica (y probablemente lo sabrá si esto es así) sencillamente puede desactivar el rp_filter de la interfaz por donde vienen los datos del satélite. Si quiere ver si se están descartando paquetes, el fichero log_martians de ese mismo directorio le dirá al núcleo que los registre mediante syslog.

# echo 1 >/proc/sys/net/ipv4/conf/<nombredeinterfaz>/log_martians

FIXME: ¿basta con activar los ficheros conf/{default,all}/*? - martijn