问题描述:使用KVM通过修改配置文件配置好网卡IP,使用命令行service network restart 重启网络服务失败。
如图:
处理过程
解决的方法很简单,直接将NetworkManager服务关闭即可。步骤描述如下:
步骤 1 查看NetworkManager服务是否开启。
因系统版本各异,NetworkManager服务的具体名称可以用chkconfig --list查看。
如图所示:
从图中,可以发现NetworkManager服务已经开启了。
步骤 2 禁用NetworkManager服务。
将当前激活的服务关闭,使用下面的命令:
service NetworkManager stop
使用下面的命令禁止服务自启动。
chkconfig NetworkManager off
步骤 3 使用脚本方式配置IP地址。
步骤 1 查看NetworkManager服务是否开启。
因系统版本各异,NetworkManager服务的具体名称可以用chkconfig --list查看。
如图所示:
从图中,可以发现NetworkManager服务已经开启了。
步骤 2 禁用NetworkManager服务。
将当前激活的服务关闭,使用下面的命令:
service NetworkManager stop
使用下面的命令禁止服务自启动。
chkconfig NetworkManager off
步骤 3 使用脚本方式配置IP地址。
根因
使用/etc/network/interfaces脚本文件配置IP信息的时候,使用的是Network服务;使用图形化界面配置IP地址的时候,使用的是NetworkManager服务。
Netwok服务和NetworkManager服务之间存在下面的关系:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:1F:29:57:8B:A8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
不同的系统中,NetworkManager服务的标志位不同。例如Ubuntu中是存放在配置文件/etc/NetworkManager/nm-system-settings.conf中,名称为managed。
配置文件修改后,需要重启NetworkManager服务。
本案例中,系统默认启用了NetworkManager服务,详细信息如下所示:
[root@localhost ~]# chkconfig|grep -i network
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]#
此时再启用Network服务时是不生效的。所以重启Network服务会失败。
Netwok服务和NetworkManager服务之间存在下面的关系:
- 当系统内无NetworkManager时,系统默认使用Netwok服务进行网络配置。
- 当系统内启用了NetworkManager之后,NetworkManager默认接管了系统的网络配置。此时需要使用NetworkManager自己的网络配置参数来进行配置。适用于桌面环境,例如使用笔记本等。
- 当Network-Manager发现/etc/network/interfaces被改动的时候,则关闭自己(显示为未托管),除非NetworkManager的相关标志位设置成真。
- 当NetworkManager的相关标志位设置成真时,/etc/network/interfaces,则不生效。
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:1F:29:57:8B:A8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
不同的系统中,NetworkManager服务的标志位不同。例如Ubuntu中是存放在配置文件/etc/NetworkManager/nm-system-settings.conf中,名称为managed。
配置文件修改后,需要重启NetworkManager服务。
本案例中,系统默认启用了NetworkManager服务,详细信息如下所示:
[root@localhost ~]# chkconfig|grep -i network
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]#
此时再启用Network服务时是不生效的。所以重启Network服务会失败。
建议与总结
从Red Hat 6开始,默认是开启NetworkManager服务的,此时通过修改脚本的方式配置IP地址将无效。