CentOS 6 / RHEL 6, dos placas de red en la misma subnet pero solo una pinguea

En la ultima semana me tope con un problema con CentOS 6 (por lo tanto también existe en RHEL 6 y Scientific Linux 6), el inconveniente es el siguiente, cuando tenemos dos interfaces de red (NICs) en la misma subred se produce un comportamiento raro, donde la primera placa de red funciona sin problemas pero la segunda no responde ping ni funciona del todo.

Esta falla es causada por una configuración del kernel, puntualmente rp_filter que en CentOS 6 pasa a tener 3 posibles configuraciones:

0 - No se valida la fuente
1 - Validación por "reverse path" estricta
2 - Validación por "reverse path" poco estricta

El valor por defecto ahora es «1», para que ambas interfaces funcionen dentro de la misma subred tendremos que cambiarlo a 2, para esto editaremos el archivo sysctl.conf:

vi  /etc/sysctl.conf

Y haremos lo siguiente:

  1. Cambiar el valor de net.ipv4.conf.default.rp_filter de «1» a «2»
  2. Agregaremos la linea net.ipv4.conf.all.rp_filter = 2

Guardamos el archivo y aplicamos los cambios corriendo el comando:

sysctl -p

Volvemos a probar y ambas interfaces tendrían que responder normalmente.

Julio Barnils