本文主要讲述我们如何在安装Linux操作系统Red Hat Enterprise Linux9的过程中自定义以太网网卡接口名称的前缀。以及在使用systemd-udev的Linux中,网卡接口命名规则改变原因的概述。
一、解析
我们都知道从Linux开始使用systemd-udev管理设备开始,系统的以太网网卡已经不再使用ethX来命名。根本原因是默认的systemd-udev行为与以前的版本的udev有很大不同。systemd-udev不再考虑接口的MAC地址,也不再维护具有MAC-to-name关联的规则文件。反而,udev根据PCI插槽编号或PCI总线地址等稳定属性以可预测的方式重命名所有接口。只要接口的这些属性不改变,systemd-udev应始终在重新启动时派生相同的名称。故新版本的udev分配不遵循内核的ethX模式。systemd将这一新方案称为其Predictable Network Interface特征。
目前, systemd 有以下五种命名策略:
-
- 传统的接口名 ethX 、wifiX……
- 固件、BIOS提供的不可插拔的板载设备,接口名 enoX
- 固件、BIOS提供的 PCIe 可热插拔设备,接口名 ensX
- 根据硬件物理/地理地址,接口名 enpXsYdZvM
- 根据硬件物理地址(MAC),接口名 enxFFFF0000AAAA
最后一个策略不会被系统采用,除非用户手动选择,如果用户有自定义的 udev 规则,那么优先按照 udev 来执行。
通过阅读相关文档和源码,我们可以了解具体的命名方式,举例
1 |
|
二、将太网网卡接口的命名为ethX
首先,我们强烈建议使用新的systemd-udev命名约定,如果需要设置网卡接口为ethX,需要禁用Predictable Network Interface的功能(设置net.ifnames=0),此种情况我们并不推荐,原因依然是如果没有采用替代方法来重命名接口,那么所有网络接口都将保留其原始 ethX 内核分配的名称,如上所述,这些名称本质上是不可靠的。这可能会导致许多问题。
(一)设置安全的net.ifnames=0的几种情况
如果非要修改以太网网卡接口为ethX,设置安全的net.ifnames=0仅在几种特定情况下:
原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/1049.html
评论列表(1条)
宝哥已经开始玩RHEL9 啦