sábado, 29 de mayo de 2010

Corrección de incremento del ID en interfaces de red - GNU/linux

Que tal, alguna vez haz notado que al momento de levantar una maquina virtual clonada (en este caso utilizando VirtualBox haciendo uso de la herramienta “VBoxManage” para clonar el disco duro) el ID de la interfaz de red se incrementa siempre en uno.
Ejemplo:
La maquina virtual original posee 2 tarjetas de red virtuales las cuales poseen IDs 0 y 1 (eth0 y eth1)
La maquina virtual clonada posee las mismas 2 tarjetas de red virtuales PERO sus IDs ahora son 2 y 3 (eth2 y eth3)
Si este proceso de clonar maquinas virtuales se repitiera una y otra vez muy pronto notarían que los IDs en algún momento andaran por los cielos! empezando en 0,1,2 llegando hasta n+1!!!
Bien, si esto es molesto a la hora de hacer scripts o se necesita contar con el ID exacto la solución no es tan compleja como uno la puede imaginar.
Solución:
Abrir una terminal y editar el archivo “70-persistent-net.rules” localizado en la carpeta “/etc/udev/rules.d” (Ojo, siempre es importante hacer un respaldo de cada archivo antes de editarlo ya que nunca se sabe que podríamos hacer mal la primera vez ;) )
Respaldando archivo

$ sudo cp /etc/udev/rules.d/70-persistent-net.rules \
/etc/udev/rules.d/70-persistent-net.rules.base

Editando el archivo

$ sudo nano /etc/udev/rules.d/70-persistent-net.rules

Lo que se debe de hacer en este archivo es… eliminar todas las entradas que con concuerden con las direcciones MAC de tus dos interfaces de red actualmente funcionando en tu equipo, por lo general si acabas de clonar una maquina virtual, las ultimas 2 interfaces de red son las ultiles, asi que elimina todas y deja las ultimas ;)
Y ya casi para finalizar solo edita el ID de esas interfaces en mi caso yo tenía “eth12” y “eth13” y cambie sus IDs de 12 y 13 por un 0 y 1, quedando “eth0” y “eth1” respectivamente
Ahora si para finalizar solo deshabilita las interfaces, detén el servicio “udev” y vuelve a levantarlo

$ sudo ifconfig eth12 down # en este caso es 12 y 13 pero bueno ustedes deben poner
$ sudo ifconfig eth13 down # los IDs que le corresponden a sus interfaces de red.
$ sudo /etc/init.d/udev stop # o bien si te sinetes mas comodo usando
$ sudo /etc/init.d/udev start # "service udev stop", da igual ;)
$ sudo ifconfig eth0 up # ahora con los IDs nuevos
$ sudo ifconfig eth1 up

Nota: por alguna razón /etc/init.d/udev restart en este caso no da el mismo resultado.
Al momento de desplegar la configuración de tus interfaces de red (haciendo uso del comando ifconfig) observaras que los IDs de tus interfaces ahora son 0 y 1 (eth0 y eth1).
Espero y esto te sea de ayuda, de ser así agradecería dejaras tus comentarios y/o sugerencias. Saludos!:)

No hay comentarios: