这个问题发生在将网卡名称修改为eth0后,使用systemctl restart network.service重启网卡时出现
#####################
CentOS 7.x系统中网卡命名规则被重新定义,可能会是 ifcfg-ens33 等,下面我们把网卡改为 ifcfg-eth0 这种:
cp ifcfg-ens33 ifcfg-ens33.20190612_bak
mv ifcfg-ens33 ifcfg-eth0
###修改ifcfg-eth0配置如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=81ac3ed3-8ce3-4541-86c4-7934188fa619
DEVICE=eth0
ONBOOT=yes
IPV6_PRIVACY=no
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=8.8.8.8
DNS2=114.114.114.114
HWADDR=00:0c:29:09:cc:b4
###修改70-persistent-net.rules文件:
修改grup配置,在 GRUB_CMDLINE_LINUX 变量中添加 "net.ifnames=0 biosdevname=0"
vi /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
运行命令,重新生成GRUB配置并更新内核参数
grub2-mkconfig -o /boot/grub2/grub.cfg
添加udev的规则
在 /etc/udev/rules.d 目录中创建一个网卡规则 70-persistent-net.rules,并写入下面的语句:
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:1e:a3:77",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"
# ATTR{address}=="00:0c:29:1e:a3:77"是网卡的MAC地址
vi /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:1e:a3:77",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"
重启网卡生效
systemctl restart network.service
重启后报错,使用命令查看日志如下:
less /var/log/messages
尝试多种方法后,发现重启时竟然会加载文件ifcfg-ens33.20190612_bak!!!这只是个备份,然后就觉得问题可能出现在这里然后将备份文件重新命名为bak_ifcfg-ens33
mv ifcfg-ens33.20190612_bak bak_ifcfg-ens33
果然,重新命名后在重启就没有报错了