Linux自定义网卡名称之 CentOS 7
网卡命名规则介绍
CentOS 6 网卡命名规则
CentOS 6 中网卡命名非唯一且固定,会根据根据情况有所改变;
CentOS 6 及其以之前版本,网络接口采取eth0、eth1连续序号,会随着网卡增删变化。
CentOS 7/8 网卡命名规则
CentOS 7/8 采用 dmidecode 采集命名方案,以此来得到主板信息,它可以实现网卡名字永久唯一化 (dmidecode 这个命令可以采集有关硬件方面的信息);
CentOS 7 网卡一般从ens33开始,CentOS 8 网卡一般为ens33或ens160。
在 CENTOS7/8 中
en :表示ethernet 以太网,就是现在使用的局域网;
eno:主板板载网卡,集成设备的设备索引号;
enp:独立网卡,PCI 网卡;
ens:热插拔网卡,usb 之类,扩展槽的索引号;
nnn(数字)表示:MAC 地址+主板信息计算得出唯一的序列;
实例环境介绍
实例操作系统:CentOS Linux release 7.6.1810 (Core)
教程适用范围:CentOS 7.X 系列
当前操作系统共有4块网卡,名称分别为 ens32 、 ens33 、 ens34 、 ens35。
现在需要将网卡名称重命名为 eno1 、 eno2 、 ens6f0 、 ens6f1 ;
如下表所示:
| 状态 | 网卡1 | 网卡2 | 网卡3 | 网卡4 |
|---|---|---|---|---|
| 修改前名称 | ens32 | ens33 | ens34 | ens35 |
| 修改后名称 | eno1 | eno2 | ens6f0 | ens6f1 |
实例教程
备份网卡配置文件
1 | 创建备份文件夹 |
修 改 文 件 先 备 份,养 成 良 好 习 惯 !
Ps:一般情况下,可以直接备份到当前目录下;
但有些特殊情况,如果安装了第三方软件,需要读取修改网卡配置文件,会在/etc/sysconfig/network-scripts/目录下读取以ifcfg-开头的文件,误将备份文件识别为网卡文件;为避免发生意外,所以建议在当前目录下新建bak文件夹,将文件备份到此目录中。
启动 NetworkManager 服务
1 | 启动 NetworkManager 服务 |
RHEL7 上 NetworkManager 服务默认是启用状态,下面的
nmcli命令是依赖 NetworkManager 服务的。
如果 NetworkManager 服务不可启用,需用vi命令手动修网卡改配置文件。
添加/修改网卡配置文件的 HWADDR项
1 | 此命令是在网卡配置文件中修改"HWADDR=xx:xx"项,如果不存在,则自动添加 |
这里使用命令修改网卡配置文件,便于复制,请注意将
ens32、ens33、ens34、ens35等网卡名称改为实际的网卡名称;
文件/sys/class/net/ens32/address中记录着ens32网卡的MAC地址,这个文件不需要修改,更改完网卡,重启系统后这个文件(包括路径目录)会自动更新;
如果手动修改,使用命令查看网卡MAC地址cat /sys/class/net/ens32/address;
编辑网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens32;
将HWADDR=xx:xx:xx:xx:xx:xx修改为正确的MAC地址(如果不存在此项则新增一行写入);
然后按Esc键,输入:wq保存退出,重复操作每一个网卡。
修改网卡配置文件的 DEVICE项
1 | 此命令是将网卡配置文件中的"DEVICE=ens32"修改为"DEVICE=eno1" |
请注意将
ens32、ens33、ens34、ens35等网卡名称改为实际的网卡名称;
如果手动修改,编辑配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens32;
将DEVICE=ens32修改为DEVICE=eno1;
然后按Esc键,输入:wq保存退出,重复操作每一个网卡;
修改网卡配置文件的 NAME项
1 | 此命令是将网卡配置文件中的"NAME=ens32"修改为"NAME=eno1" |
请注意将
ens32、ens33、ens34、ens35等网卡名称改为实际的网卡名称;
如果手动修改,编辑配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens32;
将NAME=ens32修改为NAME=eno1;
然后按Esc键,输入:wq保存退出,重复操作每一个网卡;
修改网卡配置文件名称
1 | 修改网卡配置文件名称 |
请注意将
ens32、ens33、ens34、ens35等网卡名称改为实际的网卡名称。
修改 grub.cfg 配置文件
备份 grub.cfg 配置文件
1 | cp /etc/default/grub /etc/default/grub.bak |
修 改 文 件 先 备 份,养 成 良 好 习 惯 !
修改grub.cfg 配置文件
1 | 在 GRUB_CMDLINE_LINUX 项的参数中添加 "net.ifnames=0 biosdevname=0" |
添加这个参数后,将取消 CentOS 7/8 采用
dmidecode的采集命名方案;
如果此时重启设备,网卡名称将会采用eth0、eth1、eth2、eth3方式进行命名;
想要实现自定义命名,还需使用下面步骤进行绑定;
添加 udev 规则
1 | 编辑udev规则配置文件 |
大多数情况该文件是不存在的,直接创建添加内容即可,将下面的内容直接粘贴进去,需修改
address、KERNEL、NAME的值;
使用cat /sys/class/net/ens32/address命令查看各网卡的MAC地址;
1 | ACTION=="add",SUBSYSTEM=="net",DRIVERS=="?*",ATTR{type}=="1",ATTR{address}=="00:0c:29:c8:16:37",KERNEL=="ens32",NAME="eno1" |
重启系统
1 | 重启操作系统 |
查看网卡信息
1 | 查看当前(修改后)的网卡名称、MAC地址等信息 |

