在 Ubuntu 16.04 中使用 systemd 重命名网络接口失败

muf*_*fel 14 server networking 16.04

我正在使用带有两个物理网卡的无头 Ubuntu 16.04 LTS 服务器,它们分别命名为 enp5s0f0 和 enp5s0f1。

我想重命名这些接口,并按照这个例子。因此,我创建了这样的文件/lib/systemd/network/70-myinterface.link(原始源似乎不起作用)(我设置了正确的 mac 地址):

[Match]
MACAddress=12:34:56:78:9a:bc

[Link]
Name=dmz0
Run Code Online (Sandbox Code Playgroud)

并重新启动了服务器。不幸的是,界面没有重命名,即使udevadm显示使用了我的配置文件:

$ 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
Run Code Online (Sandbox Code Playgroud)

你知道为什么重命名不起作用吗?

Joh*_*ion 9

这可能有帮助,也可能没有帮助..我会检查/etc/udev/rules.d,看看你是否有70-persistent-net.rules。您应该能够使用该文件重命名它们

我的看起来像这样:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e0:cb:ee:d7:ff:9a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Run Code Online (Sandbox Code Playgroud)

如果您在此文件中有卡片条目,您可以通过更改“NAME=TheNameYouWant”将名称更改为您想要的任何名称


Eld*_*eek 6

一个不需要 udev 规则(systemd-networkd .link 文件的替代方案)的选项适用于 Ubuntu 16.04 以及许多其他 Linux 版本是

例子:

ifconfig peth0 down  
ip link set peth0 name eth0  
ifconfig eth0 up 
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,peth0 是原始接口名称,eth0 是所需名称。在 peth0 所在的位置插入您当前拥有的名称,在 eth0 所在的位置插入您想要的名称。不需要或建议重新启动。对第二张接口卡重复此过程

在 Ubuntu 16.04 上测试,内核为 4.4.0-36-generic #55-Ubuntu

编辑:如果您正在寻找在重启后仍然存在的持久解决方案,请参阅更改网络接口名称 Ubuntu 16.04

来源:https : //www.freedesktop.org/software/systemd/man/systemd.link.html

http://kernelpanik.net/rename-a-linux-network-interface-without-udev/

测试。

注意:由于@antti-haapala 方法之前工作并突然停止,您可能有兴趣知道“作为特殊情况,空文件(文件大小为 0)或指向 /dev/null 的同名符号链接会禁用配置文件完全(它是“蒙面”)”。<-来源