在安装Linux操作系统RHEL9的过程中自定义以太网网卡接口名称

本文主要讲述我们如何在安装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
2
3
4
5
6
7
enp4s0d1v7
en - 前两个字母"en"说明这个接口是以太网接口
p - PCI Bus 号,"p4"意味着这是我机器上的第四张网卡
s - PCI Slot 号,大多数设备所有网卡都为 "s0"
d - 设备端口号,"d0"意味着这是我这张网卡的第二个口
第一个口呢?第一个口不存在该参数
v - SR-IOV 虚拟功能(VF)编号,"v7"意味着这是该网口的第八个 VF

在安装Linux操作系统RHEL9的过程中自定义以太网网卡接口名称

二、将太网网卡接口的命名为ethX

首先,我们强烈建议使用新的systemd-udev命名约定,如果需要设置网卡接口为ethX,需要禁用Predictable Network Interface的功能(设置net.ifnames=0),此种情况我们并不推荐,原因依然是如果没有采用替代方法来重命名接口,那么所有网络接口都将保留其原始 ethX 内核分配的名称,如上所述,这些名称本质上是不可靠的。这可能会导致许多问题。

(一)设置安全的net.ifnames=0的几种情况

如果非要修改以太网网卡接口为ethX,设置安全的net.ifnames=0仅在几种特定情况下:

剩余内容需解锁观看

解锁查看全文

立即回复
已经回复?立即刷新

原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/1049.html

(0)
保哥保哥黄金会员
上一篇 2023年3月13日
下一篇 2023年3月14日

相关推荐

发表回复

登录后才能评论

评论列表(1条)

  • P2Baby
    P2Baby 2023年3月14日 16:23

    宝哥已经开始玩RHEL9 啦