Quiero cambiar el nombre en Fedora 22 de una interfaz de red administrada por systemd-networkd (versión 219) del nombre asignado por el sistema enp2s0
a wan
. Para eso creé el siguiente archivo /etc/systemd/network/80-wan.link
:
[Match]
MACAddress=mac-address
[Link]
Name=wan
Sin embargo, eso no tiene ningún efecto sobre el sistema. Después de reiniciar, el nombre sigue siendo enp2s0
. Veo udevadm
que udev tomó el archivo para configurarlo pero ignoró el nombre proporcionado:
~> udevadm info /sys/class/net/enp2s0
P: /devices/pci0000:00/0000:00:1c.1/0000:02:00.0/net/enp2s0
E: DEVPATH=/devices/pci0000:00/0000:00:1c.1/0000:02:00.0/net/enp2s0
E: ID_BUS=pci
E: ID_MM_CANDIDATE=1
E: ID_MODEL_FROM_DATABASE=RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
E: ID_MODEL_ID=0x8168
E: ID_NET_DRIVER=r8169
E: ID_NET_LINK_FILE=/etc/systemd/network/80-wan.link
E: ID_NET_NAME_MAC=enxMacAddress
E: ID_NET_NAME_PATH=enp2s0
E: ID_OUI_FROM_DATABASE=Shuttle Inc.
E: ID_PATH=pci-0000:02:00.0
E: ID_PATH_TAG=pci-0000_02_00_0
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
E: ID_VENDOR_ID=0x10ec
E: IFINDEX=2
E: INTERFACE=enp2s0
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp2s0
E: TAGS=:systemd:
E: USEC_INITIALIZED=24183
Además, no se menciona el nuevo nombre wan
en ningún registro, incluso después de activar la salida de depuración de udev. ¿Que estoy haciendo mal?
Respuesta1
Al menos en Debian Stretch, parece que es necesario que update-initramfs -u && reboot
los *.link
archivos /etc/systemd/network/
surtan efecto en las interfaces existentes.
Parece que las interfaces de red cambian de nombre muy temprano durante el arranque desde initramfs, antes de que los *.link
archivos /etc/systemd/network
estén disponibles... y una vez que se cambia el nombre de la interfaz una vez ( /sys/class/net/*/name_assign_type=4
), entonces eludev-builtin-net_setup_link
ya noemitirID_NET_NAME
porque should_rename
devolucionesfalse
.
Respuesta2
Estas usando systemd-networkd
? Creo que los .link
archivos solo son relevantes si usted lo es (en lugar del NetworkManager predeterminado o los scripts de inicio heredados). (Aunque admito que todavía no lo he investigado en profundidad).
Creo que lo que quieres es un .rules
archivo en /etc/udev/rules.d
, algo así como
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="mac-address", NAME="wan"
(¿Dónde mac-address
está su dirección MAC hexadecimal real, por supuesto?).
Este archivo necesita ser ordenadoantes /usr/lib/udev/rules.d/80-net-setup-link.rules
, entonces eldocumentos ascendentessugerir /etc/udev/rules.d/70-my-net-names.rules
.
Respuesta3
Por algunas malas razones, parece que networkmanager tiene prioridad sobre networkd (¿quién podría imaginar eso?). Puedes probar esto de la siguiente manera:
systemctl stop NetworkManager
- desconecte la interfaz de red
ip addr
Resultado: se respetan las reglas /etc/systemd/network/*.link
Si inicia NetworkManager y repite la prueba, /etc/systemd/network/*.link ya no se respeta. Probé esto con la MACAddressPolicy=random
directiva.