1. Redhat/Centos7网卡命名介绍
1.1 网络设备命名
Redhat/Centos7提供在网络接口中使用新的网络设备命名方法。这些功能会更改系统中的网络接口名称,以便定位和区分这些接口。
1.2 命名方案层级结构
默认情况下,systemd会使用以下策略,采用支持的命名方案为接口命名:
方案1:如果固件或BIOS信息适用且可用,则使用整合了为板载设备提供索引号的固件或BIOS的名称(例如:eno1),否则请使用方案2。
方案2:如果固件或BIOS信息适用且可用,则使用整合了为PCI快速热插拔插槽提供索引号的固件或BIOS名称(例如ens1),否则请使用方案3。
方案3:如果硬件连接器物理位置信息可用,则使用整合了该信息的名称(例如:enp2s0),否则请使用方案5。
方案4:默认不使用整合接口MAC地址的名称(例如:enx78e7d1ea46da),但用户可选择使用此方案。
方案5:传统的不可预测的内核命名方案,在其他方法均失败后使用(例如:eth0)。
这个策略(如上所述)是默认策略。如果该系统已启用biosdevname,则会使用该方案。注:启用biosdevname需要添加biosdevname=1作为命令行参数(Dell系统除外),此时只要安装biosdevname,就会默认使用该方案。如果用户已添加udev规则,该规则会更高内核设备名称,则会优先使用这些规则。
1.3 设备重命名过程
设备命名过程如下:
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指令给出的名称。
例,如下配置文件网卡则以eth0命名:
[[email protected] rules.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
UUID=e073eeeb-ecba-4481-841f-539454d90a6f
DEVICE=eth0
ONBOOT=yes
HWADDR=00:0c:29:7c:4a:f8
2. /usr/lib/udev/rules.d/71-biosdevname.rules
文件中的规则让biosdevname根据其命名策略重命名该接口,即在上一步中没有重命名该接口、已安装biosdevname、且在b