nmcli NetworkManager命令行工具

2025-04发布6次浏览

nmcli NetworkManager命令行工具

1. 引言

nmcli 是 Linux 系统中用于管理网络的命令行工具,它是 NetworkManager 的一部分。通过 nmcli,用户可以轻松地配置和管理网络接口、Wi-Fi 连接、DSL 和蓝牙连接等。它适用于服务器环境和桌面环境,提供了一种简单而强大的方式来控制网络设置。

2. 安装与启用

在大多数现代 Linux 发行版中,NetworkManager 已经默认安装并运行。如果未安装或需要重新安装,可以通过以下命令进行操作:

# 对于基于 Red Hat 的系统(如 CentOS、Fedora)
sudo yum install NetworkManager

# 对于基于 Debian 的系统(如 Ubuntu)
sudo apt-get install network-manager

确保 NetworkManager 服务正在运行:

sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager

3. 基本用法

3.1 查看状态

要查看当前网络的状态和活动连接,可以使用以下命令:

nmcli general status

这将显示 NetworkManager 的整体状态,包括是否联网、设备状态等。

3.2 查看所有网络设备

要列出所有可用的网络设备及其状态,可以使用以下命令:

nmcli device status

输出示例:

DEVICE    TYPE      STATE         CONNECTION 
eth0      ethernet  connected     Wired connection 1 
wlan0     wifi      disconnected  --                
lo        loopback  unmanaged     --  

3.3 查看活动连接

要查看当前活动的网络连接,可以使用以下命令:

nmcli connection show --active

3.4 列出所有连接

要列出所有已定义的网络连接(包括活动和非活动的),可以使用以下命令:

nmcli connection show

4. 配置网络连接

4.1 添加新的以太网连接

可以通过以下命令添加一个新的以太网连接:

nmcli con add type ethernet ifname eth0 con-name "My Ethernet Connection"

其中:

  • type 指定连接类型(这里是 ethernet)。
  • ifname 指定网络接口名称。
  • con-name 指定连接名称。

4.2 添加新的 Wi-Fi 连接

要添加一个新的 Wi-Fi 连接,可以使用以下命令:

nmcli dev wifi connect "SSID" password "password"

其中:

  • SSID 是无线网络的名称。
  • password 是无线网络的密码。

4.3 修改现有连接

可以通过以下命令修改现有的连接属性:

nmcli con modify "Connection Name" ipv4.addresses "192.168.1.10/24"
nmcli con modify "Connection Name" ipv4.gateway "192.168.1.1"
nmcli con modify "Connection Name" ipv4.dns "8.8.8.8"

4.4 启用或禁用连接

启用连接:

nmcli con up "Connection Name"

禁用连接:

nmcli con down "Connection Name"

5. 高级功能

5.1 自动连接

可以设置某个连接在启动时自动连接:

nmcli con modify "Connection Name" connection.autoconnect yes

5.2 设置静态 IP 地址

可以通过以下命令设置静态 IP 地址:

nmcli con modify "Connection Name" ipv4.method manual ipv4.addresses "192.168.1.10/24" ipv4.gateway "192.168.1.1" ipv4.dns "8.8.8.8"

然后激活连接:

nmcli con up "Connection Name"

6. 删除连接

如果不再需要某个连接,可以使用以下命令删除它:

nmcli con delete "Connection Name"

7. 总结

nmcli 是一个功能强大且灵活的工具,适用于各种网络管理需求。无论是简单的家庭网络还是复杂的服务器环境,nmcli 都能提供高效的解决方案。