Linux如何使用nm-tool查看网络状态

nm-tool是Linux下查看NetworkManager管理的网络状态的简易工具,可显示接口、IP、网关、DNS等信息;其输出包括NetworkManager整体状态、设备连接状态及IPv4/IPv6配置,适用于快速诊断网络问题;若命令未找到需安装network-manager或启用NetworkManager服务;尽管nm-tool直观易用,但现代系统已逐步弃用它,推荐使用功能更强大的nmcli进行网络管理。

Linux如何使用nm-tool查看网络状态

在Linux系统上,当你想快速了解当前的网络连接状态时,

nm-tool

是一个非常直接且实用的命令行工具,它能帮你一目了然地查看由NetworkManager管理的所有网络接口、IP地址、网关、DNS服务器等关键信息。它就像一个简易的网络状态仪表盘,让你无需深入配置文件就能掌握网络概况。

解决方案

使用

nm-tool

查看网络状态其实非常简单,你只需要在终端中输入

nm-tool

并回车。

nm-tool

执行这个命令后,它会列出你系统上所有由NetworkManager管理的网络设备及其当前状态。这包括无线(Wi-Fi)、有线(Ethernet)接口,以及它们的连接ID、IP地址、子网掩码、默认网关和DNS服务器等详细信息。

我个人觉得

nm-tool

的魅力就在于它的直接和简洁,虽然功能不如

nmcli

强大,但在某些紧急时刻,它就是那个能让你快速摸清状况的趁手工具。比如,当你的网络突然断开,或者你怀疑IP地址配置有问题时,

nm-tool

能迅速提供一个概览,帮你定位问题的大致方向。它不会给你一堆复杂的选项,直接把最核心的信息呈现出来。

nm-tool显示的信息具体有哪些,我该如何解读?

nm-tool

的输出通常会分为几个主要部分,理解这些部分对于快速诊断网络问题至关重要。

首先,你会看到一个“NetworkManager State”部分,它会告诉你NetworkManager服务本身是处于“connected”、“disconnected”还是“connecting”状态。这基本上是整个网络管理服务的健康指示器。如果这里显示“disconnected”,那可能你的网络问题就出在NetworkManager服务层面。

接着,是“Device”列表,这里会列出你的所有网络适配器,比如

eth0

(有线)或

wlan0

(无线)。每个设备都会有自己的状态,比如“connected”、“disconnected”或“unavailable”。如果一个设备显示“unavailable”,那可能意味着驱动有问题或者硬件未被识别。

在每个“Device”下方,如果设备处于连接状态,你还会看到更详细的连接信息。这包括:

  • Type: 设备的类型,如“Ethernet”或“Wi-Fi”。
  • State: 设备当前的连接状态,通常是“connected”。
  • Capabilities: 设备支持的功能,比如“Ethernet (wired)”或“Wi-Fi (wireless)”.
  • Wireless SSIDs: 如果是Wi-Fi设备,会显示当前连接的SSID名称。
  • IPv4 Settings: 这是最关键的部分之一。它会显示你的IP地址(
    Address

    )、子网掩码(

    Prefix

    ,通常以CIDR格式表示,如

    /24

    )、默认网关(

    Gateway

    )以及DNS服务器(

    DNS

    )。这些信息直接决定了你的机器能否正确地在局域网内通信,并访问互联网。如果你的IP地址是169.254.x.x,那通常意味着没有从DHCP服务器获取到有效IP。

  • IPv6 Settings: 如果你的系统支持并配置了IPv6,这里也会显示相应的IPv6地址和DNS信息。

我通常会先看“NetworkManager State”是不是“connected”,然后检查我的主用网络设备(比如

eth0

wlan0

)的状态是否也是“connected”。如果都正常,我就会去核对IPv4设置里的IP地址、网关和DNS是不是我预期中的。有时候,DNS服务器配置错误会导致能ping通IP地址但无法访问域名的情况,这时候

nm-tool

就能很快帮你发现问题。

nm-tool无法运行或显示错误,我该如何排查?

在使用

nm-tool

时,偶尔会遇到它无法运行或者输出不正常的情况。这通常不是

nm-tool

本身的问题,而是其依赖的服务或环境出了状况。

一个常见的情况是,终端提示

nm-tool: command not found

。这说明你的系统上可能没有安装

network-manager

包,或者它不在你的PATH环境变量中。解决办法很简单,对于基于Debian/Ubuntu的系统,你可以尝试:

sudo apt update sudo apt install network-manager

对于基于RHEL/CentOS/Fedora的系统:

sudo dnf install NetworkManager # 或者 sudo yum install NetworkManager

安装完成后,通常就可以正常使用了。

另一个可能的原因是NetworkManager服务没有运行。

nm-tool

是NetworkManager的客户端工具,如果后台服务都没启动,它自然也无法获取到任何信息。你可以通过以下命令检查NetworkManager服务的状态:

Linux如何使用nm-tool查看网络状态

SkyReels

SkyReels是全球首个融合3D引擎与生成式AI的AI视频创作平台

Linux如何使用nm-tool查看网络状态865

查看详情 Linux如何使用nm-tool查看网络状态

systemctl status NetworkManager

如果服务没有运行,你可以尝试启动它:

sudo systemctl start NetworkManager

并设置开机自启:

sudo systemctl enable NetworkManager

有时候,权限问题也可能导致

nm-tool

无法获取到完整信息,但这种情况相对较少,因为

nm-tool

通常设计为普通用户也能查看基本网络状态。如果遇到奇怪的权限错误,可以尝试使用

sudo nm-tool

,但这在大多数情况下是不必要的。

在我个人经验里,最常遇到的还是NetworkManager服务挂掉或者没有安装,一旦解决了这两个核心问题,

nm-tool

基本上就能正常工作了。

在现代Linux系统中,nm-tool是否还有用武之地,或者有更好的替代方案?

说实话,

nm-tool

虽然简洁,但在现代Linux发行版中,它已经被

nmcli

(NetworkManager Command Line Interface)所取代,并且在很多系统上,

nm-tool

甚至已经被标记为“deprecated”(不推荐使用)或者直接不再预装。

这并不是说

nm-tool

完全没有用处了。对于那些只想快速瞥一眼网络状态,不希望处理复杂命令的用户来说,

nm-tool

依然是一个直观的选择。它的输出格式相对固定,易于阅读,这在一些快速诊断场景下确实很方便。

然而,如果你需要更精细地控制NetworkManager,比如创建、修改或删除连接,或者需要进行更复杂的网络配置,那么

nmcli

无疑是更强大、更灵活的替代方案。

nmcli

提供了更多的子命令和选项,几乎可以完成NetworkManager GUI工具能做的一切,而且它更适合脚本化操作。

举个例子,用

nm-tool

查看状态是:

nm-tool

而用

nmcli

查看类似信息,你可以这样:

nmcli device show nmcli connection show
nmcli

的输出可能一开始看起来有点复杂,因为它提供了更多的细节,但一旦你熟悉了它的语法,你会发现它远比

nm-tool

强大。例如,用

nmcli

可以轻松地连接到一个Wi-Fi网络:

nmcli device wifi connect "你的SSID" password "你的密码"

或者修改一个连接的IP地址:

nmcli connection modify "连接名称" ipv4.addresses 192.168.1.100/24 nmcli connection modify "连接名称" ipv4.gateway 192.168.1.1 nmcli connection modify "连接名称" ipv4.dns "8.8.8.8 8.8.4.4" nmcli connection up "连接名称"

所以,我的建议是,如果你只是偶尔需要快速查看一下网络状态,并且系统上还有

nm-tool

,那用它没什么问题。但如果你是Linux的重度用户,或者需要进行更高级的网络管理,那么学习和使用

nmcli

绝对是值得的投资。它不仅功能更全面,也是NetworkManager未来发展的方向。

linux word centos wifi ubuntu 工具 ai 环境变量 dns dnf gateway 接口 Interface linux ubuntu centos debian

上一篇
下一篇