Centos7以后版本网卡命名规则
admin
2023-03-02 11:42:06
0

一、设备命名标准
参考:
官方文档第8章:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/ch-consistent_network_device_naming#sec-Naming_Schemes_Hierarchy
部分信息参考博文:感谢!
Noway11:https://www.cnblogs.com/zyd112/p/8143464.html
王伟杰:https://www.jianshu.com/p/b66981dbb389

Centos7以前版本的Centost系统对网卡命令采用了传统的命令标准,如eth0,eth2,个人是理解eth标识了网卡的链路层封装类型,后面的数字就是网卡编号了,但这个编号可不是一成不变的,如果服务器增加或删除新硬件就可能会发生变化,为运维工作多少带来了一些麻烦,为了解决这个问题Centos7以后版本引入了新的网络设备命名规范:一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING),Centos7以后支持biosdevname和net.ifnames两种命名规范。

1.net.ifnames命名规范为:设备类型+设备位置+端口号

设备类型:en 代表以太网,wl 代表无线局域网(WLAN),ww 代表无线广域网(WWAN)。
设备位置:集成设备的设备索引编号 ,或扩展卡所在总线槽位编号
端口号:板载集成设备索引编号或扩展卡上的物理端口编号

设备名称类型

格式 说明
eno1 板载设备索引号
ens33 热插拔插槽索引号

举例:

名称 设备类型 说明
eno1 板载网卡 板载1号网卡
enp0s2 pci网卡 PCI扩展卡的2号端口
ens33 pci网卡 热插拔插槽3号PCI-E插槽的3号端口
wlp3s0 PCI无线网卡 第3号PCI扩展卡的0号端口

2.biosdevname命名规范

Centos系统需要安装biosdevname程序包才可以使用biosdevname命名规范,biosdevname程序读取BIOS信息中的type 9(系统插槽)和 type 41(板载设备扩展信息)两个字段信息来命名网卡。(要求SMBIOS的版本要高于2.6)

设备 旧名称 新名称
板载内置网卡 eth[0123…] em[1234…] em1
PCI扩展卡网络接口 eth[0123…] p【槽位号】p【端口号】 p3p4
子接口虚拟功能 eth[0123…] p【槽位号】p【端口号】_【子接口号】 p3p4_1

二、系统默认的网卡命名规则

官方文档命名规则描如下:
默认情况下,systemd 会使用以下策略,采用支持的命名方案为接口命名:

方案 1:如果固件或 BIOS 信息适用且可用,则使用整合了为板载设备提供索引号的固件或 BIOS 的名称(例如:eno1),否则请使用方案 2。(针对的是板载集成网卡命名)

方案 2:如果固件或 BIOS 信息适用且可用,则使用整合了为 PCI 快速热插拔插槽提供索引号的固件或 BIOS 名称(例如 ens1),否则请使用方案 3。(针对的是PCI-E扩展网卡针命名标准)

方案 3:如果硬件连接器物理位置信息可用,则使用整合了该信息的名称(例如:enp2s0),否则请使用方案 5。

方案 4:默认不使用整合接口 MAC 地址的名称(例如:enx78e7d1ea46da),但用户可选择使用此方案。(根据MAC地址命名网卡)

方案 5:传统的不可预测的内核命名方案,在其他方法均失败后使用(例如: eth0)(以上命令信息都无法获取时则采用传统的命令规则)

这个策略(如上所述)是默认策略。如果该系统已启用 biosdevname,则会使用该方案。注:启用 biosdevname 需要添加 biosdevname=1 作为命令行参数(Dell 系统除外),此时只要安装 biosdevname,就会默认使用该方案。如果用户已添加 udev 规则,该规则会更高内核设备名称,则会优先使用这些规则

三、设备重命名策略

关于设备重命名官方的文档做了如下阐述:
1./usr/lib/udev/rules.d/60-net.rules 文件中的规则会让 udev 帮助工具 /lib/udev/rename_device 查看所有 /etc/sysconfig/network-scripts/ifcfg-suffix 文件。如果发现包含 HWADDR 条目的 ifcfg 文件与某个接口的 MAC 地址匹配,它会将该接口重命名为 ifcfg 文件中由 DEVICE 指令给出的名称。

2./usr/lib/udev/rules.d/71-biosdevname.rules 中的规则让 biosdevname 根据其命名策略重命名该接口,即在上一步中没有重命名该接口、已安装 biosdevname、且在 boot 命令行中将 biosdevname=0 作为内核命令给出。

3./lib/udev/rules.d/75-net-description.rules 中的规则让 udev 通过检查网络接口设备,填写内部 udev 设备属性值 ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。注:有些设备属性可能处于未定义状态。

4./usr/lib/udev/rules.d/80-net-name-slot.rules 中的规则让 udev 重命名该接口,优先顺序如下:ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。并提供如下信息:没有在步骤 1 或 2 中重命名该接口,同时未给出内核参数 net.ifnames=0。如果一个参数未设定,则会按列表的顺序设定下一个。如果没有设定任何参数,则不会重命名该接口。

从官方的阐述来看1,3,4都与系统systemd udev命名规则有关,2与biosdevname有关,个人理解四个文件的用途如下:

1./usr/lib/udev/rules.d/60-net.rules (rename_device程序基于自定义配置文件命名)

如果在目录/etc/sysconfig/network-scripts/中有以ifcfg-开头的文件,并且其中包含了指定网卡的MAC,则以ifcfg文件中的DEVICE字段给写的名称命名。
2./usr/lib/udev/rules.d/71-biosdevname.rules(biosdevname基于BIOS信息自动命名)

如果ifcfg开头的文件中找不到对应的配置,则看系统是否安装了biosdevname程序包,并且系统未设备参数biosdevname=0,则按biosdevname命名标准为网卡命名。

3./lib/udev/rules.d/75-net-description.rules(systemd-udev基于systemd-udev基于网卡信息命名)
如果1,2两条规则都没有命中则查看网卡信息,基于网卡信息指定的字段命名。
4./usr/lib/udev/rules.d/80-net-name-slot.rules(systemd-udev基于systemd-udev基于BIOS信息命名)
网卡信息都没有指定的字段,则按BIOS获取的板载槽位信息命名。

总结:自定义配置的优先级、其次是biosdevname、最后是systemd-udev自动配置

四、恢复网卡传统命名标准

从以上命名策略与命名规则来看,响应网卡命名的应该就是受biosdevname、net.ifnames两个参数影响,官方也给出两个参数的默认值:iosdevname=0是系统默认值(dell服务器默认是1),net.ifnames=1是系统默认值
如果想恢复以前的传统命名规范则只需要在grub文件中将两个参数设置为0即可,具体操作过程如下:

1.编辑/etc/sysconfig/grub文件,在GRUB_CMDLINE_LINUX字段最后添加net.ifnames=0 biosdevname=0

2.重新生成配置文件grub配置文件,执行如下命名

grub2-mkconfig -o /boot/grub2/grub.cfg

3.手动编辑/etc/sysconfig/network-scripts/目录下的ifcf-开头的文件,注意:HWADDR字段要与待命名的网卡MAC地址对应,或者UUID字段与网卡的UUID对应也可以。

4、重启系统。

相关内容

热门资讯

榴莲遭“仅退款”,商家花500... 极目新闻记者 王鹏2026年5月7日,河南濮阳一冷冻榴莲果肉商家反映,自己遭遇山东德州买家恶意“仅退...
4只皮皮虾1035元店主事发次... 近日,有网友反映其5月4日在三亚一家海鲜店宵夜时仅4只皮皮虾就花费1035元,价格过高,质疑店家存在...
分析师称《GTA6》发售主机或... IT之家 5 月 8 日消息,据游戏媒体 Insider Gaming 昨天报道,Circana 分...
利拓光电取得高稳定性激光器封装... 国家知识产权局信息显示,深圳市利拓光电有限公司取得一项名为“一种高稳定性激光器的封装结构”的专利,授...
别被“120W闪充”骗了:央视... 【太平洋科技快讯】央视新闻近期调查发现,市面上大量标称120W、66W的快充头存在严重功率虚标问题,...
古巴政府:美国新一轮制裁措施是... 新华社哈瓦那5月7日电 古巴外交部7日发布公告说,美国对古巴新一轮制裁措施是“经济侵略”行为,企图制...
邮轮暴发汉坦病毒疫情,世卫确认... 据凤凰卫视报道,大西洋邮轮“洪迪厄斯”号暴发汉坦病毒疫情,世界卫生组识5月7日证实,船上共有5宗确诊...
内蒙古赤峰两村半个多世纪的土地... 澎湃新闻记者 王选辉争议土地大北叉沟。本文图均为 受访者 提供备受社会关注的“赤峰两村半个多世纪的土...
冥王星5月8日开启逆行 持续约... 被“逐出”太阳系大行星序列的冥王星5月8日将结束顺行,开启为期约5个月的逆行。这也是2026年冥王星...
夸大AI功能被起诉 苹果2.5... 当地时间5月5日,因夸大AI系统“苹果智能”(Apple Intelligence)的能力,误导数百...