从CentOS/RHEL7起,可预见的命名规则变成了默认。这一规则,接口名称被自动基于固件,拓扑结构和位置信息来确定。现在,即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。但是这样一来,虽然有好处,但也影响了不少用户的操作,因为新的命名方案接口名称比传统的eth0相比有点难以阅读。出于习惯等一些原因,你想修改网卡名称,下面为大家介绍如何在CentOS7或RHEL7命名网络接口。
-
第一步:确定当前系统中活动网卡的名称
[root@localhost ~]# ip addr
-
第二步:重命名网卡定义文件
[root@localhost ~]# mv /etc/sysconfig/network-scripts/ifcfg-当前网卡名称 /etc/sysconfig/network-scripts/ifcfg-eth0
-
第三部:编辑ifcfg-eth0文件
[root@localhost ~]# sed -i s/"^NAME"/"NAME=eth0"/g /etc/sysconfig/network-scripts/ifcfg-eth0 [root@localhost ~]# sed -i s/"^DEVICE"/"DEVICE=eth0"/g /etc/sysconfig/network-scripts/ifcfg-eth0
-
第四步:修改引导配置文件
[root@localhost ~]# sed -i s/'rhgb quiet"$'/'net.ifnames=0 biosdevname=0 rhgb quiet"'/g /etc/default/grub
-
第五步:更新引导信息
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
-
第六步:重启操作系统
-
注意:这一步不能省略*
[root@localhost ~]# reboot
-
自动化修改脚本
如果你比较懒,可以把下面的代码复制到一个脚本文件中执行,这样无需人为干预就可以自行修改。#!/bin/env bash # function RENMAE_NIC() { local _NICNAME=$(ip addr | grep "^2"|awk -F ": " '{print $2}') if [[ ${_NICNAME} != "eth0" ]];then echo -e "\e[31m The nic name is [\e[31;1m${_NICNAME}\e[0m].\n Press 'Enter' key rename nic name to 'eth0'.\e[0m" read -t 5 sed -i s/"^NAME=.*$"/"NAME=eth0"/g /etc/sysconfig/network-scripts/ifcfg-${_NICNAME} sed -i s/"^DEVICE=.*$"/"DEVICE=eth0"/g /etc/sysconfig/network-scripts/ifcfg-${_NICNAME} mv /etc/sysconfig/network-scripts/ifcfg-${_NICNAME} /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i s/'rhgb quiet"$'/'net.ifnames=0 biosdevname=0 rhgb quiet"'/g /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg echo -e "\e[32m The nic name has renamed.\n Press 'Enter' key reboot.\e[0m" read -t 5 reboot fi unset local _NICNAME #function end } RENMAE_NIC #file end