linux networkmanager linux重启network服务
大家好,感谢邀请,今天来为大家分享一下linux networkmanager的问题,以及和linux重启network服务的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
linux系统重启网卡后网络不通(NetworkManager篇)
在RHEL7.6系统中,当使用nmcli绑定双网卡后,尝试通过以下命令重启NetworkManager服务会导致网络中断,无法通过SSH远程登录系统:
# systemctl restart network
NetworkManager是一个负责网络检测、自动连接和管理的程序,它能够处理无线和有线网络,包括自动切换、在线离线模式切换,以及支持VPN的网络连接。然而,在特定情况下,NetworkManager服务与systemd的network服务之间产生了冲突。在你描述的环境中,系统配置了两个bonding设备(bond0和bond1),并且在重启network服务后,问题在停止NetworkManager服务后消失,通过停止服务并重启网络服务,网络连接恢复正常。
官方文档建议处理这个问题的方法有两种:
1.临时停止NetworkManager服务:
# systemctl stop NetworkManager
# systemctl disable NetworkManager
2.在bonding网卡配置文件中添加参数NM_CONTROLLED="no",以避免NetworkManager的干预。
由于环境需求,需要使用nmcli进行网卡操作,而非systemctl。经过测试,我们发现使用nmcli的connection down和up命令来控制网口,可以避免systemctl重启网卡导致的网络问题:
# nmcli connection down网口名称
# nmcli connection up网口名称
总结来说,当涉及双网卡绑定和NetworkManager时,应避免使用systemctl重启网卡,而是通过nmcli来管理以确保网络的正常工作。
Linux下NetworkManager和network的和平共处
我们在使用CentoOS系统时偶尔会遇到配置都正确但network启动不了的问题,这问题经常是由NetworkManage引起的,关闭NetworkManage并取消开机启动network就能正常启动。使用的Linux经常使用命令行模式,所以大家都不怎么去了解NetworkManage,造成了糊里糊涂的解决问题。下面我们看一下NetworkManage的基础使用。
NetworkManage与network功能类似,都是用于管理网络,NetworkManage提供了nmctl和nmtui两个工具:
nmctl:命令行工具
我们可以直接使用命令行来管理网络,下面是对应参数项目与配置文件内的参数对应关系图。
nmtui:伪图形界面
两个都是用来管理网络,但是有一个前提:nmctl networking状态必须是enable否则设备状态为unmanaged,这会导致network启动不了!
查看方式如下:
使用nmtui来查看网络,直接在命令行下敲nmtui,就会出现蓝底的伪图形界面,可以很方便地配置服务器的网络。
设置完成后,要记得在第二项目中设置对应网卡启动,这样才能正常使用。
如果遇到network无法启动的情况,检测配置是是否有问题,如果是服务器(多网口),检测网线是否插在你启动的网网口上
检测你的NetworkManage是否启动,如果启动了可参考一下方法处理
简单粗暴:关闭NetworkManage服务,并取消开机启动(要是你使用的为命令行模式,没有有用图形界面,可以放心使用这种方法,使用图形界面的话还是建议自己排查一下)
排查NetworkManage:
如果没有启用
注意了:我的连接名称是ens33,根据你自己的情况自己改进,所有操作完成以后都执行以下命令。
否则可能不生效,当然上面两种网络管理方式network与NetworkManager其它是相辅相成的作用,只需要使用其中一种方式来管理即可,另外一种可以禁用掉(注意:至少保持一种自启动,否则可能会出现开机没有网络的状况)。
我比较喜欢使用NetworkManager来管理网络,更大的强大和易用,所以我这里把NetworkManager设置为开机启动,network为禁止开机启动。使用以下命令来查看启动状态。
至此!
Linux NetworkManager、nmcli
NetworkManager是一个系统网络服务,负责管理网络设备以及它们到网络的连接,包括以太网、wifi、移动宽带和 PPPoE设备等。它有两个基本概念:设备和连接。设备包含与之相关的信息,连接则代表应用到设备上的配置。nmcli是一个用于配置、管理以及使用 NetworkManager的命令行工具。
使用 nmcli可以轻松管理网络设备和连接。首先,可以列出 NetworkManager检测到的设备。如果某个设备需要暂时停止管理,可以使用临时的 unmanage命令。若要重新启动管理,只需使用 nmcli device set命令设置 managed为 yes。若没有附加参数,nmcli将打印每个设备的 IP配置情况。
关于连接,可以列出所有可用连接,并关闭或再次启动它们。查看连接的详细属性信息,以便了解连接的自动激活机制。手动设置静态配置时,可以将 ipv4.method设置为 manual,并在 ipv4.addresses属性中指定静态 IP地址和子网(用 CIDR写法)。使用 nmcli connection modify命令可以修改连接的属性,例如将一个连接改为静态 IPv4地址 10.10.10.1,网关 10.10.10.254,DNS 10.10.10.254。新的设置在下次激活连接时生效。
使用 nmcli创建新连接非常简单,可以使用 nmcli的子命令 add来新增连接。在创建连接时,根据连接类型(如 ethernet、wifi、bond、vpn等),会有不同的必须包含的属性要求。若没有提供相应的必选属性,nmcli会报错并给出相应缺失属性的名称。使用--ask选项可以使用交互式方式创建连接,或使用 nmcli con edit命令来使用一个 nmcli编辑器创建连接。
下面是一些常用的 nmcli命令,包括列出附近的 Wi-Fi网络、连接到 Wi-Fi网络、在特定网络接口上连接 Wi-Fi网络、断开特定接口的连接、获取连接信息列表、激活连接、删除连接、列出当前网络设备以及对应状态、关闭 Wi-Fi等。