Evitar el doble gateway después de instalar el puente para KVM con wicd en Linux Ubuntu 9.10

Introducción.

Después de configurar el puente entre las interfaces de red para permitirle el acceso a la red a las máquinas virtuales basadas en KVM encontré un problema: el servidor podía ser accedido pero este no tenía acceso a Internet.

Después de algunas pruebas determiné el problema sin embargo su solución me tomó mas de lo esperado ya que previamente había instalado wicd para administrar con mayor sencillez las interfaces de red, especialmente la inalámbrica, y esto hizo que mis intentos previos de solución sin tenerlo en cuenta fracasaran miserablemente.

El problema.

Después de la creación del puente sobre la interfaz de red alámbrica (eth0)  se crea la interfaz bridge (br0) la cual toma su información de red.  El problema radica en que, aparentemente wicd, se crean dos gateways por defecto.

$ sudo route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    100    0        0 br0

La solución.

Versión temporal.

El problema se soluciona removiendo el camino establecido a través de la interfaz de red alámbrica de la siguiente manera.

$ sudo route del -net default netmask 0.0.0.0 dev eth0

De esta manera el servidor ya puede acceder a la red WAN, sin embargo al reiniciarse el problema se vuelve a presentar.

Version final.

Probablemente en condiciones normales el problema se solucione agregando el comando mencionado anteriormente en /etc/rc.local y asignándole permisos de ejecución a este archivo, sin embargo esta estrategia resultó infructuosa en el servidor ya que este estaba utilizando wicd.

Para solucionar el problema de manera definitiva utilizando wicd se deben realizar los siguientes pasos.

$ sudo vi /etc/wicd/wired-settings.conf

Agregar un elemento afterscript de la siguiente manera.

[wired-default]
afterscript = /etc/wicd/scripts/postconnect/removeEth0GatewayRoute

Crear el script asociado.

$ sudo vi /etc/wicd/scripts/postconnect/removeEth0GatewayRoute

route del -net default netmask 0.0.0.0 dev eth0

$ sudo chmod +x /etc/wicd/scripts/postconnect/removeEth0GatewayRoute

Reiniciar el servidor y verificar que el script se ha ejecutado exitosamente.

$ sudo route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
default         192.168.1.1     0.0.0.0         UG    100    0        0 br0

Leave a Reply

Your email address will not be published. Required fields are marked *