我正在尝试重命名具有 20 个接口的集群计算机上的其中一个接口,其中一些是物理接口,其他是虚拟接口。经过研究,我发现在较新版本的 Ubuntu 中/etc/udev/rules.d/70-persistent-net.rules
实际上缺少它,并且没有办法生成它。我尝试运行:$ sudo udevadm trigger -s net -c add
并且/lib/udev/write_net_rules
文件也丢失了,因此没有简单的方法来生成该/etc/udev/rules.d/70-persistent-net.rules
文件。我尝试创建此文件,并填充以下内容:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:f1:ab:1e:e8", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="enp6s0f0"
我也更改了/etc/default/grub
文件并添加了net.ifnames=0 biosdevname=0
选项GRUB_CMDLINE_LINUX
并更新了 grub:sudo update-grub
但重启后,只有一个接口在我的接口列表中,即我已重命名的接口,所以我不得不删除自定义文件,恢复 grub 设置并再次重启。
在 Ubuntu 18.04 中是否有简单的方法可以做到这一点,Ubuntu 删除该文件的原因是什么/etc/udev/rules.d/70-persistent-net.rules
?但重启系统后
答案1
好的,我找到了问题的答案,并测试了它,它在我的 Ubuntu 上运行良好。您必须创建一个/etc/udev/rules.d/70-persistent-net.rules
文件并在其中添加以下行:
SUBSYSTEM=="net",
ACTION=="add",
DRIVERS=="?*",
ATTR{address}=="00:13:f1:ab:1e:e8",
ATTR{dev_id}=="0x0",
ATTR{type}=="1",
NAME="enp6s0f0"
其中ATTR{address}
包含要更改名称的接口的 MAC 地址,并且NAME
是接口的名称。
您还需要更改文件中此接口的名称/etc/networ/interfaces
以匹配NAME
定义/etc/udev/rules.d/70-persistent-net.rules
,当然还要重新启动机器。重新启动后,您的所有网络接口都将可用,包括您已更改名称的接口。
请注意,如果您修改文件/etc/default/grub
并添加更新 grub 并修改该行:
GRUB_CMDLINE_LINUX=""
到
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
您需要在文件中添加所有接口/etc/udev/rules.d/70-persistent-net.rules
,否则在重新启动机器后只会显示重命名的接口,因此我强烈建议您不要更改此行。这就是我的服务器最终没有网络,需要本地连接到它来修复网络设置的原因。
我还找不到一种简单的方法来填充该70-persistent-net.rules
文件。