CentOS 7 对系统中网卡命名规则重新定义,命名规则根据系统固件和硬件来命名为 ifcfg-en*
类型,只有新的命名规则找不到的情况下才使用类似 ifcfg-eth0
这样的传统网卡名字,系统之所以做出这样的改变肯定是有利于兼容硬件,我的电脑安装 CentOS 7 之后网卡是 ifcfg-enp0s3
,使用 ip address
或 ifconfig
命令的输出也可以看出,如下图所示:
出于各种业务原因,实际生产环境的业务,还不太习惯使用 ifcfg-en*
这种类型的网卡配置,需要将网卡改为传统的 ifcfg-eth0
,修改方法如下:
-
进入
/etc/sysconfig/network-scripts/
目录cd /etc/sysconfig/network-scripts/
-
养成一个习惯,对修改风险较大的,先将文件做个备份
cp ifcfg-ensp03 ifcfg-ensp03_bak
-
重命名文件
mv ifcfg-ensp03 ifcfg-eth0
-
vi ifcfg-eth0
进入编辑,修改如下内容:NAME=eth0 #修改 DEVICE=eth0 #修改
-
:wq
保存退出之后,进入/etc/sysconfig/
目录,cd /etc/sysconfig/
-
同样,对要修改的
grub
文件做个备份,要注意,/etc/sysconfig/grub
其实是/etc/default/grub
的软链接,所以,备份的时候,备份一个原文件/etc/default/grub
,建立新的软链接备份方便以后要再修改的时候能够找到:cp /etc/default/grub /etc/default/grub_bak ln -s grub_bak ../default/grub_bak
-
vi grub
进入编辑,为GRUB_CMDLINE_LINUX变量增加两个参数:net.ifnames=0 biosdevname=0
,如下所示:GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb net.ifnames=0 biosdevname=0 quiet"
-
执行
grub2-mkconfig -o /boot/grub2/grub.cfg
生成grub启动菜单, 如下图: -
grub启动菜单必须重启系统才能生效,因此,
reboot
手动重启一下系统; -
系统重启(系统重启网卡也就重启了,如果在之后才修改
ifcfg-eth0
文件,则使用service network restart
重启网络)后再次执行ip address
或ifconfig
命令就可以看到网卡类型已经更改为eth0
了,如下图所示:
总结: CentOS 7 系统对命名规则进行更改,出发点是好的,但是考虑到很多生产环境的网络配置标准,在很长一段时间我们还是要改回来,需要慢慢过度到一定时候才会真的接受新的方式。