Cambié el nombre de mi eth1
interfaz a eth0
. ¿Cómo pedir udev
ahora que vuelva a leer la configuración?
service udev restart
y
udevadm control --reload-rules
no ayudes. Entonces, ¿hay alguna forma válida excepto reiniciar? (sí, reiniciar ayuda con este problema)
sí, sé que debo anteponer los comandos con
sudo
, pero cualquiera de los que publiqué arriba no cambia nada enifconfig -a
el resultado: todavía veoeth1
, noeth0
.Acabo de cambiar la
NAME
propiedad de la línea udev-rule. No conozco ninguna razón por la que esto sea ineficaz.
No hay ningún erroral ejecutar los dos comandos que publiqué anteriormente, pero simplemente no cambian el nombre real de la interfaz en ifconfig -a
la salida. Si reinicio, el nombre de la interfaz cambia como se esperaba.
Para fines de desarrollo, escribo un script que clona máquinas virtuales (controladas por VirtualBox) y las preconfigura de alguna manera.
Así que realizo un comando para clonar la máquina virtual, la inicio y, siempre que se cambie la interfaz MAC de la red, udev
agrego la segunda regla a las reglas persistentes de la red. Inmediatamente después de que la máquina se inicia por primera vez, existen 2 reglas:
eth0
, que no existe, siempre y cuando existiera en la imagen MAC de la VM originaleth1
, que existe, pero toda la configuración en todos los archivos hace referencia aeth0
, por lo que no es tan bueno para mí
Así que sed
elimino la línea with eth0
(es obsoleta e inútil en la imagen clonada) y la reemplazo eth1
con eth0
. Actualmente tengo una regla persistente válida, pero todavía hay eth1
una /dev
.
El problema: no quiero reiniciar la máquina (llevará otro momento, lo cual no es bueno en la etapa de construcción de VM) y solo quiero reconstruirla /dev
con algún comando para tener una VM lista para usar. sin ningún reinicio.
Respuesta1
No sé si esto ayuda a recargar la configuración de red, pero cuando modifiqué /etc/udev/rules.d/70-persistent-cd.rules
para corregir el enlace del dispositivo DVD desde /dev/dvd1
a /dev/dvd
, tuve que ejecutar
sudo udevadm trigger
para conseguir que se creen los nuevos enlaces.
Respuesta2
Tienes que combinar todos los consejos que se dan aquí en el orden correcto:
- Derribar la red
service networking stop
- Descargue el módulo del controlador del kernel
- Busque el nombre del módulo
lspci -v
y busque "Controlador kernel en uso:" modprobe -r <driver module>
- Busque el nombre del módulo
- Recargar las reglas de udev
udevadm control --reload-rules
- Activar las nuevas reglas
udevadm trigger
- Controlador de carga
modprobe <driver module>
- Reiniciar la red
service networking start
- (opcional) Vuelva a ejecutar cualquier
iptables
secuencia de comandos que hiciera referencia aleth
nombre de la interfaz antes de que estuviera activa.
Sospecho que ni el paso 4 ni el paso 5 son realmente necesarios, pero estos pasos funcionaron para mí. Puede verificar después del paso 4 con el paso 2.1 para ver si el comando de activación ya realizó el paso 5; edite esta respuesta para reflejar sus hallazgos si lo hace.
Respuesta3
Tuve un problema similar. Como no quería tomarme el tiempo para reiniciar, ejecuté una sola línea siguiendo la sugerencia de Chris Wesseling.
/etc/init.d/networking stop && modprobe -r tg3 && udevadm control --reload-rules && udevadm trigger && modprobe tg3 && /etc/init.d/networking start
Esto funcionó para mí usando el servidor Ubuntu 12.04.02. Mis NIC estaban usando el controlador del módulo del kernel tg3, así que cambie tg3 al módulo que están usando sus interfaces. Encontré los que el mío usó en /etc/udev/rules.d/70-persistent-net.rules
:
Dispositivo PCI 0x14e4:/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.1 (tg3) <controlador del módulo kernel para la NIC
El único problema que tuve fue una ruta incorrecta que solucioné con un simple comando de adición de ruta. ¡Gracias por la ayuda Cris!
Respuesta4
sudo /etc/init.d/udev restart
debería funcionar. Algunos de los comandos que probó, si los ejecuta con sudo
, también podrían ser efectivos.