ubuntu查询不到ip
问题描述
最近在使用 vmware 中的 ubuntu22.04 版本虚拟机时,发现桌面右上角的网络图标消失不见,通过 ip a
命令查看 ip 也消失不见。
问题分析
由于使用的是桌面环境,可能是 NetworkManager 服务出现问题,直接查看状态是否正常
服务在正常运行,然后去看 NetworkManager 的状态文件,文件位置在 /var/lib/NetworkManager/NetworkManager.state
可以看到 NetworkingEnabled=false
,是否启用整个网络被关掉了,这就是问题所在。
解决办法
- 执行
systemctl stop NetworkManager
停掉服务,修改NetworkingEnabled=true
-
执行
systemctl start NetworkManager
启动服务。 -
再次查看,网络恢复。
加载中...
总结
NetworkManager 本质上是 Linux 系统里的网络管理服务,主要负责统一管理有线、无线、VPN、移动宽带等各种网络连接。作用如下:
-
自动管理网络
- 自动识别网卡、无线网络
- 自动获取 DHCP 地址、配置 DNS
- 可以自动在可用网络之间切换(比如 Wi-Fi 和有线网)
-
提供统一接口
- 桌面用户可以用 GUI 工具(如
nm-applet
、gnome-control-center
)管理网络 - 服务器用户可以用
nmcli
命令行或nmtui
TUI 工具操作
- 桌面用户可以用 GUI 工具(如
-
支持多种网络类型
- 有线(Ethernet)
- 无线(Wi-Fi)
- 移动宽带(WWAN / 3G / 4G / 5G)
- VPN
- Bridge / Bond / VLAN 等高级网络配置
/var/lib/NetworkManager/NetworkManager.state
是 NetworkManager 的状态文件,用来记录当前网络管理器的一些持久化状态。
文件内容示例:
[main]
NetworkingEnabled=true
WirelessEnabled=true
WWANEnabled=true
WimaxEnabled=true
字段含义
- NetworkingEnabled → 控制是否启用整个网络(总开关)。
- WirelessEnabled → 是否启用无线(Wi-Fi)。
- WWANEnabled → 是否启用移动宽带(3G/4G)。
- WimaxEnabled → 是否启用 WiMAX(现在几乎不用了)。
用途
-
恢复网络状态 当禁用网络(例如
nmcli networking off
),NetworkManager 会写入NetworkingEnabled=false
,下次开机它会记住。 -
修复网络无法启动问题 如果网络突然不能启动,可能是这个文件里某个字段被写成了
false
。-
手动编辑文件,把相关字段改成
true
:vim /var/lib/NetworkManager/NetworkManager.state
-
然后重启 NetworkManager:
systemctl restart NetworkManager
-
-
命令行修改状态
nmcli networking on # 等价于 NetworkingEnabled=true
nmcli radio wifi on # 等价于 WirelessEnabled=true
nmcli radio wwan on
注意:
在 服务器环境,有时会关闭 NetworkManager,改用
systemd-networkd
或者直接写网卡配置文件(比如/etc/network/interfaces
或netplan
)。在 桌面环境,一般必须启用 NetworkManager,否则 Wi-Fi、VPN 等功能不好用。