nmcli,全称为 NetworkManager Command-Line,是 NetworkManager 软件的命令行工具。它主要用于创建、显示、编辑、删除、启用和禁用网络连接,以及控制和显示网络设备状态。使用 nmcli 命令时,需要开启 NetworkManager 服务,不然会提示 “Error: NetworkManager is not running.”。
以下是一些常见的nmcli命令:
- 查看所有网络连接:nmcli connection show
- 查看活动的网络连接:nmcli connection show --active
- 查看指定网卡的详细信息:nmcli device show
- 显示设备的连接状态:nmcli device status
- 显示所有设备网络设备详情信息:nmcli device show
- 显示指定网络设备的详细信息:nmcli device show
- 启用网络连接:nmcli connection up
- 停用网络连接:nmcli connection down
- 禁用网卡放置被激活:nmcli device disconnect
- 删除网络连接的配置文件:nmcli connection delete
- 重新加载网络配置文件:nmcli general reload
在 Ubuntu 系统上使用 nmcli 命令查看网络设备时,发现网络接口的 STATE 是 unmanaged:
后续搜索发现了名为"Using NetworkManager for Ethernet on Ubuntu"的文章,依据其描述使用如下命令修改了配置文件
cd /usr/lib/NetworkManager/conf.d/
mv 10-globally-managed-devices.conf 10-globally-managed-devices.conf.bak
cp 10-globally-managed-devices.conf.bak 10-globally-managed-devices.conf
sed -i '/unmanaged-devices/s/$/&,except:type:ethernet/' 10-globally-managed-devices.conf
systemctl restart NetworkManager
nmcli c a type ethernet con-name ens36 ifname ens36 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4" ipv4.method manual