RHEL7网卡命名方式解析

2018年11月20日讲师:刘老师浏览:5017次

在RHEL7系统中,udev规则支持不同的设备命名方案,默认会根据固件、拓扑以及位置信息等使用一致且可预期的网络设备命名,不会像传统命名那样出现重复枚举的情况,不过也使得与传统的eth0、eth1命名相比,这种命名方式相对会比较难理解,如enp2s0。 这里解读一下RHEL7可预期的名称含义,一般分为两大组成部分: 第一部分是根据接口类型进行的设定: en代表以太网 w1代表无线局域网 ww代表无线广域网 第二部分是设备名称类型: o为板载设备,后边会接设备索引 s 为热插拔槽,后边会接位置或索引号 p 为对PCI类型的支持 默认情况下,systemd会采用支持的命名方案为接口命名: 在固件或BIOS信息可用时,使用整合了板载设备提供索引号的固件或BIOS名称,如eno1; 否则,使用整合了PCI快速热插拔槽提供索引号的固件或BIOS名称,如ens33; 如果硬件连接器物理位置可用,则使用整合该信息的名称,如enp2s0; 如果是内核无法识别的命名方案,则在其他方法都不可用时使用传统命名方案,如eth0。 不过如果系统启用biosdevname的话,即安装biosdevname软件包,biosdevname程序会使用来自系统BIOS的信息,会使用此方案命名: 内嵌网络接口会被命名为em[123…]; PCI卡网络接口会被命名类似为p3p4; 虚拟功能的接口会被命名类似为p3p4_1、p3p4_2… 如果用户添加udev规则,则该规则的优先级会更高。RHEL7中与网卡设备命名相关的udev规则文件有: /usr/lib/udev/rules.d/60-net.rules /usr/lib/udev/rules.d/71-biosdevname.rules /lib/udev/rules.d/75-net-description.rules /usr/lib/udev/rules.d/80-net-name-slot.rules 那么我们就可以使用如下方式控制网卡设备命名: 1.根据网络接口设备识别 在 ifcfg 文件中使用 HWADDR 指令设定 MAC 地址,这样就可由 udev 识别。会从 DEVICE 指令提供的字符串中提取该名称,按惯例名称应使用与 ifcfg 相同的后缀,如:ifcfg-ens33。 2. 通过打开或关闭 biosdevname 如果 biosdevname 可确定,可使用由 biosdevname 提供的名称。 3. 通过打开或关闭 systemd-udev 的命名方式 如果 systemd-udev 可确定,可使用由systemd-udev提供的名称。
分享 1

您已经赞过了!