Ral*_*ndt 15 linux-networking systemd debian-stretch
最新版本的 Ubuntu 和 Debian (stretch) 带来了新的网络接口命名方案。
现在,当从使用旧样式名称(如“eth0”)的系统进行更新时,我想在启动之前知道新名称是什么。
我怎样才能做到这一点?是否有一个神奇的“systemd”调用,我可以用来在启动前编辑 /etc/network/interface(随后失去网络连接)?
有两种不同的方案可用:biosdevname 与可预测的网络接口名称。
Biosdevname 似乎是 ubuntu 中的默认值。它通过安装 biosdevname 包来激活。
接口的 biosdevname 可以通过以下方式找到:
biosdevname -i eth0
Run Code Online (Sandbox Code Playgroud)
我相信这是 Debian 伸展中的默认设置,但需要在从以前的版本升级时显式启用。
可以通过以下方式找到 eth0 的可预测名称:
udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'
Run Code Online (Sandbox Code Playgroud)
新方案显然被称为“可预测的网络接口名称”,但我没有找到很多关于如何实际预测名称的文档。 我发现的所有关于它的内容基本上都指向这个源代码注释(它本身又指向第一个链接)。从评论来看,根本不清楚如何知道 udev 将使用哪种寻址方案作为网络设备名称。
net.ifnames=0
根据第一个链接,您可以通过在 Grub 中的内核命令行中添加来禁用它并使用传统名称。根据此评论,如果您计划创建 VLAN 标记接口,则可能有必要,因为添加的扩展将使接口名称太长。
否则,最好重新提出问题来解释您想要对名称执行的操作(例如通过 ansible 或类似的方式配置接口)
归档时间: |
|
查看次数: |
11485 次 |
最近记录: |