您现在的位置是:首页 >技术交流 >【Linux】【配置】网络连接网站首页技术交流

【Linux】【配置】网络连接

SGchi 2023-06-11 12:00:02
简介【Linux】【配置】网络连接

NetworkManager介绍

NetworkManager 是一个在 Linux 系统上管理网络连接的系统服务和工具。它可以自动配置和管理有线、无线、移动宽带和虚拟专用网络 (VPN) 连接,以及其他类型的网络连接。
NetworkManager 提供了一种简单且易于使用的方法来管理网络连接,允许用户轻松地切换不同的网络连接,并自动配置网络设置。它还提供了图形用户界面和命令行工具来管理网络连接。
在大多数 Linux 发行版中,NetwrkManager 已经成为默认的网络管理器。

nmcli 介绍

nmcli 是 NetworkManager 的命令行工具,可以用于在 Linux 系统上管理网络连接。它可以用来列出、配置、启动和停止网络连接,以及查看网络状态和信息。
通过 nmcli,用户可以执行以下操作:

  • 列出可用的网络连接
  • 连接到特定的网络
  • 配置网络设置,如 IP 地址、网关和 DNS
  • 启用或禁用网络连接
  • 查看网络连接的状态和信息
  • 配置虚拟专用网络 (VPN) 和其他类型的网络连接
  • nmcli 可以在终端中使用,也可以编写脚本自动化网络连接的配置和管理。它提供了广泛的选项和参数,允许用户根据需要自定义网络连接的行为和设置。

配置步骤

在终端中输入以下命令,查看 NetworkManager 是否接管了网络:

nmcli networking

如果输出 disabled,则表示 NetworkManager 未接管网络,网络图标消失也是由此导致的。
在这里插入图片描述
正常的网络设置界面应该是这样子的:
在这里插入图片描述
出问题后,有线连接的设置项就消失了:
在这里插入图片描述
这时候查看网卡,会提示“未托管”:

[root@localhost ~]# nmcli device status 
DEVICE      TYPE      STATE   CONNECTION    
ens33       ethernet  未托管  -- 

连接网卡(以 ens33 网卡为例),会提示失败:

[root@localhost ~]# nmcli device connect ens33
错误:添加/激活新连接失败:Connection 'ens33' is not available on device ens33 because device is strictly unmanaged

解决办法:
只需要一条命令就能搞定,在终端中输入:

nmcli networking on

另一种稍显笨拙的办法:

1.关闭 NetworkManager。在终端中输入:

systemctl stop NetworkManager

2.打开 /var/lib/NetworkManager/NetworkManager.state,将其中的 NetworkingEnabled= false 改为 NetworkingEnabled= true;
在这里插入图片描述
3.重新启动 NetworkManager。在终端中输入:

systemctl start NetworkManager

注意,必须先关闭 NetworkManager,再修改文件,否则修改不会生效。

可能的原因 2:NetworkManager 未运行

在终端中输入以下命令,查看 NetworkManager 的运行状态:

systemctl status NetworkManager

如果显示Active: inactive (dead),则表示 NetworkManager 未运行。
此时的网络设置项长这样:
在这里插入图片描述

解决办法:

在终端中输入以下命令,运行 NetworkManager:

systemctl start NetworkManager

再次查看 NetworkManager 的运行状态会显示:Active: active (running)
在这里插入图片描述
建议将 NetworkManager 设为开机自启:

systemctl enable NetworkManager

查看是否开机启动:

systemctl is-enabled NetworkManager

总结

systemctl status NetworkManager # 查看 NetworkManager 是否运行
systemctl start NetworkManager # 运行 NetworkManager
systemctl enable NetworkManager # 将 NetworkManager 设为开机自启

nmcli networking  # 查看 NetworkManager 是否接管了网络
nmcli networking on # 开启网络

[参考文章]:

https://zhuanlan.zhihu.com/p/395817630

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。