乐趣区

关于linux:linux系统重启网卡后网络不通NetworkManager篇

一. 故障景象

RHEL7.6 零碎,应用 nmcli 绑定双网卡后,再应用以下命令重启 network 服务后主机网络异样,导致无奈通过 ssh 近程登录零碎。

     # systemctl restart network

二. 理论知识

Network service 的制御网络接口配置信息改变后,网络服务必须从新启动,来激活网络新配置的使得配置失效,这部分操作和从新启动零碎时时一样的作用。制御(管制)是 /etc/init.d/network 这个文件,能够用这个文件前面加上上面的参数来操作网络服务。例如:
     # /etc/init.d/network restart
同样也能够用 service 这个命令来操作网络服务例如:
     # service network restart
     # systemctl restart network
(NetworManager)是检测网络、主动连贯网络的程序。无论是无线还是有线连贯,它都能够令您轻松治理。对于无线网络, 网络管理器能够主动切换到最牢靠的无线网络。利用网络管理器的程序能够自在切换在线和离线模式。网络管理器能够优先选择有线网络,反对 VPN。网络管理器最后由 Redhat 公司开发,当初由 GNOME 治理

三. 环境剖析

零碎版本: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 服务后,问题景象隐没,即执行如下操作:

     # systemctl stop NetworkManager

此时再次重启 network 服务:

     # systemctl restart network

能够很快 ping 通 bond0 的业务地址 10.116.6.194。
进一步剖析发现,如果不进行 NetworkManager 服务,而是批改网卡配置文件,在 bonding 网卡和组成 bonding 的 slave 网卡的配置文件中减少一行配置, 也能够解决该问题。

     NM_CONTROLLED=no

参考红帽 RHEL7 配置网卡 bonding 的官网文档:https://access.redhat.com/doc…
能够看到,官网文档的配置示例中设置了 NM_CONTROLLED=”no”:

四. 原厂问题倡议

该问题是因为 NetworkManager 服务引起,能够通过如下两种办法解决:

  • 在网卡配置文件中减少参数 NM_CONTROLLED=no(“no”的引号能够不写),设置后重启 network 服务失效。设置 NM_CONTROLLED=no 的目标是将网络设备脱离 NetworkManager 服务的治理,设置后该网络设备仅由 network 服务治理,不受 NetworkManager 服务管制,因此 nmcli 命令对该网络设备不再失效;
  • 进行并禁用 NetworkManager 服务,停用后所有网络设备由 network 服务治理,不能通过 nmcli 命令来治理网络设备:

     # systemctl stop NetworkManager
     # systemctl disable NetworkManager

五. 解决方案

据上所述,可敞开 NetworkManager 服务或在 BOND 配置文件中增加参数,但因环境须要,需应用 nmcli 命令,故无奈敞开 NetworkManager,在多轮测试中进行思考,既然 NetManager 与 network 服务抵触,但 nmcli 命令属于 NetworkManager,systemctl 个别用来治理 network,思考两者治理命令可能也存在抵触后进行了一波测试,应用 NetworkManager 的 nmcli 进行网卡的重启操作,应用以下命令后,网络能够即刻 ping 通并通过 SSH 连贯

     # nmcli connection down 网口名称
     # nmcli connection up 网口名称

六. 论断

因 NetworkManager 与 network 服务存在抵触,且双网卡绑定时所应用的的 nmcli 进行绑定,nmcli 归属于 NetworkManager,故重启网卡时利用 nmcli 命令 up/down,不应应用 systemctl 进行网卡重启

退出移动版