Używam bezgłowego serwera Ubuntu 16.04 LTS z dwiema fizycznymi kartami sieciowymi o nazwach enp5s0f0 i enp5s0f1.
Chciałbym zmienić nazwy tych interfejsów i poszedłem za tym przykładem . Dlatego utworzyłem plik /lib/systemd/network/70-myinterface.link
(wydaje się, że oryginalne źródło nie działa) w ten sposób (ustawiłem prawidłowy adres mac):
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=dmz0
i ponownie uruchomiłem serwer. Niestety nazwa interfejsu nie została zmieniona, chociaż udevadm
pokazuje, że używany jest mój plik konfiguracyjny:
$ 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
Czy masz pojęcie, dlaczego zmiana nazwy nie zadziałała?
MACAddress=
[Match]
nie działa również dla mnie w link
plikach, więc skończyło się na użyciu Path=
. Ty też powinieneś spróbować. Możesz także sprawdzić, który link
plik pasuje do twojego urządzenia za pomocą udevadm test-builtin net_setup_link /sys/class/net/enp5s0f1
polecenia