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地址等信息 |