linux添加网卡后restartnetwork失败
发布网友
发布时间:2022-12-14 03:40
我来回答
共1个回答
热心网友
时间:2024-02-23 08:35
Linux系统重启network服务失败

丹鱼先生
2022-07-18 11:37
关注
问题描述
使用KVM通过修改配置文件配置好网卡IP,使用命令行service network restart 重启网络服务失败。
如图:

使用图形化管理工具配置IP,在系统界面右上角可以看到网卡状态为未连接,配置好IP以后使用service network restart命令时报同样的错。
如图:

告警信息
使用ping命令查看路由是否通畅,系统提示“network is unreachable”。
处理过程
解决的方法很简单,直接将NetworkManager服务关闭即可。步骤描述如下:
步骤 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服务之间存在下面的关系:
当系统内无NetworkManager时,系统默认使用Netwok服务进行网络配置。
当系统内启用了NetworkManager之后,NetworkManager默认接管了系统的网络配置。此时需要使用NetworkManager自己的网络配置参数来进行配置。适用于桌面环境,例如使用笔记本等。
Netwok服务和NetworkManager服务之间不能同时共存,两者为了避免冲突,又能共享配置,就有下面的解决方案:
当Network-Manager发现/etc/network/interfaces被改动的时候,则关闭自己(显示为未托管),除非NetworkManager的相关标志位设置成真。
当NetworkManager的相关标志位设置成真时,/etc/network/interfaces,则不生效。
从Red Hat 6开始,默认是开启NetworkManager服务的,此时通过修改脚本的方式配置IP地址将无效,除非将相关标志位设置为假。例如,使用DHCP配置的IP地址,其格式如下:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:1F:29:57:8B:A8"
NM_CONTROLLED="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地址将无效。