Linux内核参数:net.ifnames=0和biosdevname=0有什么区别

ose*_*000 5 linux kernel

我发现centos7.8在其内核参数中使用“net.ifnames=0”而没有“biosdevname=0”,结果似乎是相同的:我得到了传统的网卡名称,例如eth0。

只是好奇,“net.ifnames=0”和“biosdevname=0”有什么区别?

GAD*_*D3R 4

来自戴尔文档

Biosdevname 是由 Dell 开发并根据 GNU 通用公共许可证 (GPL) 发布的 udev 帮助程序实用程序。它根据系统 BIOS 建议的物理位置为网络设备提供一致的命名机制。

来自联机帮助页

biosdevname takes a kernel device name as an argument,
and returns the BIOS-given name it "should" be. 
Run Code Online (Sandbox Code Playgroud)

biosdevname默认情况下,在运行基于 Dell 硬件的 RedHat 的系统上启用此功能。

net.ifnames=0是一个禁用可预测网络接口重命名行为的内核参数。

内核命令行手册页

   net.ifnames=
       Network interfaces are renamed to give them predictable names
       when possible. It is enabled by default; specifying 0
       disables it
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢。如果没有“biosdevname = 0”,单独的“net.ifnames = 0”是否总是生成传统的网卡名称,例如eth0? (3认同)