Actualicé una máquina virtual que ejecuta el servidor Ubuntu 15.04 a la nueva versión estable 15.10.
No hubo problemas aparentes, pero después de reiniciar la máquina perdió su conexión de red. lspci
mostró la tarjeta correcta y lsmod
demostró que el controlador había sido cargado.
Las sugerencias sobre la edición o eliminación /etc/udev/rules.d/70-persistent-net.rules
no tuvieron éxito (todavía no hay red, no hay archivo nuevo), el famoso /lib/udev/write_net_rules
ni siquiera existía.
No tengo mucha idea con respecto a udev y systemd, por lo que me tomó un tiempo encontrar en / sys / class / net que cambió el nombre de la interfaz de red. Se convirtió ens32
, que pasó a llamarse eth0
. Después de cambiar la /etc/network/interfaces
red, la comunicación se habilitó nuevamente.
Pero, ¿por qué sucede esto? Y si sucede, ¿no debería actualizarse automáticamente el archivo de interfaces?
Ahora que eliminé la tarjeta de red virtual y creé otra, se eth0
convierte en eno16777728
, lo que no es tan agradable.
¿Debería este comportamiento (al menos el del procedimiento de actualización) informarse como un error?
Además, ¿está /etc/udev/rules.d/70-persistent-net.rules
obsoleto ahora? Y (aunque solo en parte relacionado) ¿qué pasa /etc/udev/rules.d/70-persistent-cd.rules
?)
Editar - pregunta adicional (después de la respuesta aceptada)
La dependencia del /etc/network/interfaces
nombre real de la interfaz me molestó. Intenté una nueva instalación de * ubuntu en otra máquina virtual. Para mi sorpresa, /etc/network/interfaces
contenía una referencia al dispositivo loopback solamente. Sin embargo, con mi VM original, este cambio impidió que surgiera la red. Entonces, ¿qué más necesito cambiar?
Editar
Bueno, en otra prueba descubrí que un nuevo servidor Ubuntu tiene la tarjeta de interfaz de red /etc/network/interfaces
, mientras que XUbuntu no. Tal vez está usando network-manager
o algo más.
fuente
Respuestas:
En Ubuntu 15.10 (Wily Werewolf), comenzar con systemd / udev asignará automáticamente nombres de interfaz de red predecibles y estables para todas las interfaces locales de Ethernet, Wlan y Wwan ( fuente ).
Los siguientes esquemas de nomenclatura diferentes para interfaces de red ahora son compatibles con udev de forma nativa:
eno1
)ens1
)enp2s0
)enx78e7d1ea46da
)eth0
- obsoletoPor defecto, systemd ahora nombrará interfaces siguiendo la política:
¿Cómo deshabilitas esto?
Básicamente tiene las siguientes opciones:
/etc/udev/rules.d/70-my-net-names.rules
cp /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/80-net-setup-link.rules
luego edite el archivo allí y cambie las líneas según sea necesario.net.ifnames=0
en la línea de comando del núcleo.fuente
Hay una manera más fácil contada por la Guía para principiantes de ArchWiki .
Primero obtenga la dirección MAC de sus dispositivos
La salida se muestra como
La dirección MAC de sus dispositivos es la
Simplemente cree el archivo (simplemente ábralo con derechos sudo en un editor de texto)
Agregar línea siguiente
Reemplace el nombre con su nombre deseado y aa: bb: cc: dd: ee: ff con la dirección MAC de sus dispositivos.
Ahora solo reinicie su computadora y el nombre del dispositivo debería haber cambiado.
fuente
DRIVERS=="?*",
despuésACTION=="add",
. Ver también askubuntu.com/questions/767786/…Prueba esto: edita tu
/etc/default/grub
. Cambiar la línea dea
y finalmente corre:
como root y reinicie su sistema.
fuente
append (...) net.ifnames=0 (...)
Sé que esto puede ser un poco tarde y la adición de 10-network.rules parece haber ayudado, pero no del todo. Tuve que agregar el nombre del núcleo del dispositivo para cambiar el nombre. Así es como conseguí que /etc/udev/rules.d/10-network.rules funcionara ...
y cambie el KERNEL == "" a lo que su núcleo nombra al dispositivo cuando se inicia.
HTH
KC
fuente
Si tienes una instalación nueva
Entonces
Verifique si tiene un archivo udev net ruels. Si es así, retírelo.
Ahora edite / etc / network / interfaces, cambie el nombre de las interfaces a eth0, eth1, ... etc.
Reiniciar
fuente
Obtuve esto trabajando creando un archivo:
fuente