Estoy usando un servidor Ubuntu 16.04 LTS sin cabeza con dos tarjetas de red físicas, que se denominan enp5s0f0 y enp5s0f1.
Me gustaría cambiar el nombre de estas interfaces y seguí este ejemplo . Por lo tanto, creé el archivo /lib/systemd/network/70-myinterface.link
(la fuente original no parece funcionar) de esta manera (configuré la dirección mac correcta):
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=dmz0
y reinició el servidor. Lamentablemente, la interfaz no cambió de nombre, aunque udevadm
muestra que se utiliza mi archivo de configuración:
$ udevadm info /sys/class/net/enp5s0f1
P: /devices/pci0000:00/0000:00:02.0/0000:01:00.0/0000:02:02.0/0000:05:00.1/net/enp5s0f1
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/0000:02:02.0/0000:05:00.1/net/enp5s0f1
E: ID_BUS=pci
E: ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper)
E: ID_MODEL_ID=0x1096
E: ID_NET_DRIVER=e1000e
E: ID_NET_LINK_FILE=/lib/systemd/network/70-myinterface.link <-- my file
E: ID_NET_NAME_MAC=enx123456789abc
E: ID_NET_NAME_PATH=enp5s0f1
E: ID_OUI_FROM_DATABASE=Intel Corporation
E: ID_PATH=pci-0000:05:00.1
E: ID_PATH_TAG=pci-0000_05_00_1
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Intel Corporation
E: ID_VENDOR_ID=0x8086
E: IFINDEX=3
E: INTERFACE=enp5s0f1
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp5s0f1
E: TAGS=:systemd:
E: USEC_INITIALIZED=1900192
¿Tienes alguna idea de por qué el cambio de nombre no funcionó?
networking
server
16.04
muffel
fuente
fuente
MACAddress=
[Match]
no funciona para mí también enlink
archivos, así que terminé usando en suPath=
lugar. Deberías intentarlo también. También puede verificar quélink
archivo coincide con su dispositivo con eludevadm test-builtin net_setup_link /sys/class/net/enp5s0f1
comandoRespuestas:
Esto puede o no ayudar ... Comprobaría /etc/udev/rules.d y vería si tiene 70-persistent-net.rules. Debería poder cambiarles el nombre usando ese archivo
El mío se ve así:
Si tiene las entradas para sus tarjetas en este archivo, puede cambiar el nombre a lo que quiera cambiando "NAME = TheNameYouWant"
fuente
Una opción que no requiere reglas udev (una alternativa a los archivos systemd-networkd .link) que funciona con Ubuntu 16.04 y muchas otras versiones de Linux es
Ejemplo:
En el ejemplo anterior, peth0 es el nombre de la interfaz original y eth0 es el nombre deseado. Ingrese el nombre que tiene actualmente donde está peth0 y el nombre que desea donde está eth0. No se requiere reiniciar ni se sugiere. Repita el proceso para la segunda tarjeta de interfaz
Probado en Ubuntu 16.04 con kernel 4.4.0-36-generic # 55-Ubuntu
Editar: si está buscando una solución persistente que sobreviva al reinicio, vea Cambiar el nombre de las interfaces de red Ubuntu 16.04
Fuentes: https://www.freedesktop.org/software/systemd/man/systemd.link.html
http://kernelpanik.net/rename-a-linux-network-interface-without-udev/
Pruebas.
Nota: dado que el método @ antti-haapala funcionó antes y de repente se detuvo, es posible que le interese saber que "Como un caso especial, un archivo vacío (tamaño de archivo 0) o un enlace simbólico con el mismo nombre apuntando a / dev / null desactiva el archivo de configuración completamente (está "enmascarado") ". <-Fuente
fuente
Los tres métodos de nombres personalizados, explicados systemd: Nombres de interfaz de red predecibles , están relacionados con las reglas de udev.
Las reglas de systemd .link's y udev tienen prioridad de carpeta.
/etc
anula/run
anula/lib
.Así que verifique la configuración actual.
Después de que cualquier cambio en estas reglas de udev (agregar / eliminar archivos de anulación) sea efectivo, el disco RAM de arranque debe actualizarse:
Por defecto, estos son los únicos archivos que puede encontrar
Los probé en la nueva instalación de VBox 16.04 como se documenta en el siguiente enlace, todos los métodos funcionan como se esperaba:
Nombres de interfaz complicados de Ubuntu 16.04
/etc/udev/rules.d/70-persistent-net-rules
es de versiones anteriores reemplazadas por systemd .link's (pero no se crean automáticamente), lo agregué aquí para verificar su existencia en busca de problemas específicos, pero no para el caso de AnttiHaapala .fuente
Necesita actualizar su
initrd
con algo comoupdate-initramfs -k all -c
, ya que udev aplica esas configuraciones ya mientras se ejecutainitrd
.Ubuntu 16.04 ya no tiene el archivo 70-persistent-net-rules.
fuente
No tengo suficiente reputación para comentar, pero solo para agregar a la respuesta marcada, las instalaciones limpias de Ubuntu 16.04 no tendrán el archivo /etc/udev/rules.d/70-persistent-net.rules presente. Sin embargo, si lo crea manualmente, puede agregar una línea como se muestra en la respuesta aquí y debería funcionar igual que en versiones anteriores, con una diferencia notable: el parámetro KERNEL debe especificarse como el nombre asignado al interfaz por defecto. Por ejemplo, si el sistema nombró la interfaz como "ens160" y desea cambiarla a "eth0", la línea podría verse así:
Esto le dice a la regla que solo coincida en una interfaz que coincida con el MAC especificado (en el parámetro ATTR {dirección}) y con un nombre de kernel que coincida con el parámetro KERNEL. Alternativamente, probablemente podría omitir el parámetro KERNEL por completo y eso también debería funcionar.
EDITAR: Y como ya se mencionó, si desea utilizar el método de archivo .link, deberá actualizar initramfs para que surta efecto. También tenga en cuenta que el archivo .link personalizado debe crearse en / etc / systemd / network y no en / lib / systemd / network (cualquiera de los dos funcionará, pero la mejor práctica es usar / etc / systemd / network ya que para eso está allí: para permitir archivos .link personalizados que anulan los valores predeterminados en / lib / systemd / network).
fuente