linux添加网卡后restartnetwork失败

linux添加网卡后restartnetwork失败,第1张

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地址将无效。

重新启动在linux上指定的网卡

在linux上,可以通过重新启动来指定网卡,例如服务网络重新启动

首先用c工具连接到Linux命令行界面。 或者进入 *** 作系统界面,选择终端输入;

如果要重新启动所有网卡,请尝试输入“服务网络重新启动”命令

在Linux上更改网络设置后,不需要重新启动计算机。 只需重新启动相关的配置选项即可。 更改网络设置后,例如更改IP、域等。 对于redhat,重新启动网络后可以输入service network restart或/etc/RC.d/init.d/network restart

Linux如何重新启动网络并禁用网卡

Linux可以通过以下方式重新启动网络并禁用网卡:

如果要重新启动所有网卡,请尝试输入“服务网络重新启动”命令。

这样服务就完成了

<div style="font-weight: 400"> <span></span> <h1>个人博客:<a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.mianshi.host" target="_blank" rel="nofollow">点击这里进入</a></h1> <span></span> <h3>一.故障现象</h3> <blockquote> <p>RHEL7.6系统,使用nmcli绑定双网卡后,再使用以下命令重启network服务后主机网络异常,导致无法通过ssh远程登录系统。</p> </blockquote> <p>     <code># systemctl restart network</code></p><span></span> <h3>二.理论知识</h3> <blockquote> <p>Network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分 *** 作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来 *** 作网络服务。例如:      <code># /etc/init.d/network restart</code> 同样也可以用service这个命令来 *** 作网络服务例如:      <code># service network restart</code>      <code># systemctl restart network</code>(NetworManager)是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器可以优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理</p> </blockquote><span></span> <h3>三.环境分析</h3> <blockquote> <p>系统版本:Red Hat Enterprise Linux Server release 7.6 内核版本:3.10.0-957.el7.x86_64 硬件类型:Huawei 2288H V5 首先检查系统网络配置,该系统配置两块bonding设备,分别是: bond0:业务网络 bond1: Oracle RAC心跳网络 分析系统日志,当重启network服务时(systemctl restart network),系统messages日志中无明显异常,测试发现,当停止NetworkManager服务后,问题现象消失,即执行如下 *** 作:</p> </blockquote> <p>     <code># systemctl stop NetworkManager</code></p> <blockquote> <p>此时再次重启network服务:</p> </blockquote> <p>     <code># systemctl restart network</code></p> <blockquote> <p>可以很快ping通bond0的业务地址10.116.6.194。 进一步分析发现,如果不停止NetworkManager服务,而是修改网卡配置文件,在bonding网卡和组成bonding的slave网卡的配置文件中增加一行配置,也可以解决该问题。</p> </blockquote> <p>     <code>NM_CONTROLLED=no</code></p> <blockquote> <p>参考红帽RHEL7配置网卡bonding的官方文档: <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Faccess.redhat.com%2Fdocumentation%2Fen-us%2Fred_hat_enterprise_linux%2F7%2Fhtml%2Fnetworking_guide%2Fsec-network_bonding_using_the_command_line_interface" target="_blank" rel="nofollow">https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-network_bonding_using_the_command_line_interface</a> 可以看到,官方文档的配置示例中设置了NM_CONTROLLED=”no”: <img src="https://upload-images.jianshu.io/upload_images/24736011-d9a54d4b359b41d0.png" alt=""> <img src="https://upload-images.jianshu.io/upload_images/24736011-466df81c683a5113.png" alt=""></p> </blockquote><span></span> <h3>四.原厂问题建议</h3> <blockquote> <p>该问题是由于NetworkManager服务引起,可以通过如下两种方法解决:</p> </blockquote> <ul> <li>在网卡配置文件中增加参数NM_CONTROLLED=no(“no”的引号可以不写),设置后重启network服务生效。设置NM_CONTROLLED=no的目的是将网络设备脱离NetworkManager服务的管理,设置后该网络设备仅由network服务管理,不受NetworkManager服务控制,因而nmcli命令对该网络设备不再生效;</li> <li>停止并禁用NetworkManager服务,停用后所有网络设备由network服务管理,不能通过nmcli命令来管理网络设备:</li> </ul> <p>     <code># systemctl stop NetworkManager</code>      <code># systemctl disable NetworkManager</code></p><span></span> <h3>五.解决方案</h3> <blockquote> <p>据上所述,可关闭NetworkManager服务或在BOND配置文件中添加参数,但因环境需要,需使用nmcli命令,故无法关闭NetworkManager,在多轮测试中进行思考,既然NetManager与network服务冲突,但nmcli命令属于NetworkManager,systemctl一般用来管理network,考虑两者管理命令可能也存在冲突后进行了一波测试,使用NetworkManager的nmcli进行网卡的重启 *** 作,使用以下命令后,网络可以即刻ping通并通过SSH连接</p> </blockquote> <p>     <code># nmcli connection down 网口名称</code>      <code># nmcli connection up 网口名称</code></p><span></span> <h3>六.结论</h3> <blockquote> <p>因NetworkManager与network服务存在冲突,且双网卡绑定时所使用的的nmcli进行绑定,nmcli归属于NetworkManager,故重启网卡时应用nmcli命令up/down,不应使用systemctl进行网卡重启</p> </blockquote>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8446450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存