最近版本的Ubuntu和Debian(stretch)带来了新的networking接口命名scheme。
现在,从使用旧样式名称(如“eth0”)的系统进行更新时,我想知道在启动新名称之前。
我该怎么做? 是否有一个神奇的调用“systemd”我可以使用编辑/ etc /networking/接口引导(和随后失去networking连接)?
新scheme显然被称为“可预测的networking接口名称”,但我没有find大量关于如何预测名称的文档。 我发现的一切都基本上指向这个源代码评论(它本身指向第一个链接)。 从评论中,并不清楚如何知道udev将用于networking设备名称的寻址scheme。
根据第一个链接,可以禁用它,并通过在Grub中的内核命令行上添加net.ifnames=0
来使用传统名称。 根据这个评论 ,如果你打算创build一个带VLAN标记的接口,可能是必要的,因为添加的扩展名会使接口名称过长。
否则,重新提出这个问题可能会更好一些,以解释你想要做的名字(例如,通过可信或类似的方式configuration接口)
有两种不同的scheme:biosdevname vs可预测的networking接口名称。
Biosdevname似乎是Ubuntu的默认设置。 它通过安装biosdevname包来激活。
接口的biosdevname可以通过以下方式find:
biosdevname -i eth0
我相信这是Debian系列中的默认设置,但需要在从以前的版本升级时明确启用。
eth0的可预测名称可以在以下位置find:
udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'
我不知道是否更新版本仍然如此,但在我的旧系统上,我可以在/etc/udev/rules.d/80-net-name-slot.rules
上创build一个空文件,禁用“可预测的”命名function。 您还可以创build自己的规则,并根据mac地址或PCI / USB连接自行命名接口。
这个文档可能会有所帮助。 请参阅“v197中精确更改的内容”一节。 是的,我意识到这个价值有限,但它可能会给你一个进一步研究的途径。