CentOS 7 修改网卡名称
原文链接:https://blog.itnorth.cn/CentOS7-change-netname/index.html
文章目录
介绍
CentOS 6 网卡命名规则
CentOS 6 中网卡命名非唯一且固定,会根据根据情况有所改变;CentOS6及其以之前版本,网络接口采取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 |
教程
备份网卡配置文件
# 创建备份文件夹
mkdir /etc/sysconfig/network-scripts/bak/
# 备份 ifcfg-ens32 配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/bak/ifcfg-ens32.bak
# 备份 ifcfg-ens33 配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/bak/ifcfg-ens33.bak
# 备份 ifcfg-ens34 配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/bak/ifcfg-ens34.bak
# 备份 ifcfg-ens35 配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens35 /etc/sysconfig/network-scripts/bak/ifcfg-ens35.bak
修 改 文 件 先 备 份,养 成 良 好 习 惯 !
Ps:一般情况下可以直接备份到当前目录下;
但有些特殊情况,如果安装了第三方软件,需要读取修改网卡配置文件,会在
/etc/sysconfig/network-scripts/
目录下读取以ifcfg-
开头的文件,误将备份文件识别为网卡文件;为避免发生意外,所以建议在当前目录下新建bak
文件夹,将文件备份到此目录中。
启动 NetworkManager 服务
# 启动 NetworkManager 服务
systemctl start NetworkManager
RHEL7 上 NetworkManager 服务默认是启用状态,下面的
nmcli
命令是依赖 NetworkManager 服务的。如果 NetworkManager 服务不可启用,可使用
vi
命令手动修改配置文件。
添加/修改 HWADDR
# 修改 ifcfg-ens32 配置文件
nmcli connection modify ens32 802-3-ethernet.mac-address `cat /sys/class/net/ens32/address`
# 修改 ifcfg-ens33 配置文件
nmcli connection modify ens33 802-3-ethernet.mac-address `cat /sys/class/net/ens33/address`
# 修改 ifcfg-ens34 配置文件
nmcli connection modify ens34 802-3-ethernet.mac-address `cat /sys/class/net/ens34/address`
# 修改 ifcfg-ens35 配置文件
nmcli connection modify ens35 802-3-ethernet.mac-address `cat /sys/class/net/ens35/address`
请注意将
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=xxxx
修改为正确的MAC地址,如果不存在则新增一行写入,然后按Esc
键,输入:wq
保存退出,重复操作每一个网卡。
修改 DEVICE
# 修改 ifcfg-ens32 配置文件
nmcli connection modify ens32 connection.interface-name eno1
# 修改 ifcfg-ens33 配置文件
nmcli connection modify ens33 connection.interface-name eno2
# 修改 ifcfg-ens34 配置文件
nmcli connection modify ens34 connection.interface-name ens6f0
# 修改 ifcfg-ens35 配置文件
nmcli connection modify ens35 connection.interface-name ens6f1
请注意将
ens32
、ens33
、ens34
、ens35
等网卡名称改为实际的网卡名称。如果手动修改,编辑配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens32
,将DEVICE=ens32
修改为DEVICE=eno1
,然后按Esc
键,输入:wq
保存退出,重复操作每一个网卡。
修改 NAME
# 修改 ifcfg-ens32 配置文件
nmcli connection modify ens32 connection.id eno1
# 修改 ifcfg-ens33 配置文件
nmcli connection modify ens33 connection.id eno2
# 修改 ifcfg-ens34 配置文件
nmcli connection modify ens34 connection.id ens6f0
# 修改 ifcfg-ens35 配置文件
nmcli connection modify ens35 connection.id ens6f1
请注意将
ens32
、ens33
、ens34
、ens35
等网卡名称改为实际的网卡名称。如果手动修改,编辑配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens32
,将NAME=ens32
修改为NAME=eno1
,然后按Esc
键,输入:wq
保存退出,重复操作每一个网卡。
修改网卡配置文件名称
# 修改 ifcfg-ens32 配置文件
mv /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-eno1
# 修改 ifcfg-ens33 配置文件
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eno2
# 修改 ifcfg-ens34 配置文件
mv /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens6f0
# 修改 ifcfg-ens35 配置文件
mv /etc/sysconfig/network-scripts/ifcfg-ens35 /etc/sysconfig/network-scripts/ifcfg-ens6f1
请注意将
ens32
、ens33
、ens34
、ens35
等网卡名称改为实际的网卡名称。
添加 udev 规则
# 编辑网卡命名规则
vi /etc/udev/rules.d/70-persistent-net.rules
大多数情况该文件是不存在的,直接创建添加内容即可,将下面的内容直接粘贴进去,再修改
address
、KERNEL
、NAME
的值。使用
cat /sys/class/net/ens32/address
命令查看各网卡的MAC地址
# ens32 > eno1
ACTION=="add",SUBSYSTEM=="net",DRIVERS=="?*",ATTR{type}=="1",ATTR{address}=="00:0c:29:c8:16:37",KERNEL=="ens32",NAME="eno1"
# ens33 > eno2
ACTION=="add",SUBSYSTEM=="net",DRIVERS=="?*",ATTR{type}=="1",ATTR{address}=="00:0c:29:c8:16:41",KERNEL=="ens33",NAME="eno2"
# ens34 > ens6f0
ACTION=="add",SUBSYSTEM=="net",DRIVERS=="?*",ATTR{type}=="1",ATTR{address}=="00:0c:29:c8:16:4b",KERNEL=="ens34",NAME="ens6f0"
# ens35 > ens6f1
ACTION=="add",SUBSYSTEM=="net",DRIVERS=="?*",ATTR{type}=="1",ATTR{address}=="00:0c:29:c8:16:55",KERNEL=="ens35",NAME="ens6f1"
备份 grub.cfg 配置文件
cp /etc/default/grub /etc/default/grub.bak
修 改 文 件 先 备 份,养 成 良 好 习 惯 !
修改 grub.cfg 配置文件
# 取消一致性网络设备命名
# 添加 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
sed -i s/'GRUB_CMDLINE_LINUX="'/'GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 '/g /etc/default/grub
# 修改grub.cfg开机启动参数后
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统
# 重启操作系统
reboot
检查网卡信息
# 检查网卡名称、MAC地址等信息
ip address