本文最后更新于:2025年6月5日 晚上
nmcli 是 NetworkManager 的命令行工具,用于管理 Linux 系统的网络连接, 纯命令行执行,本文记录使用方法。
简介
nmcli 是 NetworkManager 的命令行工具,用于管理 Linux 系统的网络连接。它提供了一种配置、监控和排除网络连接故障的全面方法,支持管理有线、无线、VPN、VLAN 等多种网络类型
安装
nmcli ubuntu 系统默认自带,可以通过命令确认版本
如果没有找到命令可以手动安装。
1 2
| sudo apt update sudo apt install network-manager network-manager-gnome
|
1 2
| sudo systemctl start NetworkManager sudo systemctl enable NetworkManager
|
常用命令与示例
查看网络状态
命令 |
功能 |
示例 |
nmcli |
显示网络设备状态 |
nmcli |
nmcli device status |
查看设备状态 |
nmcli device status |
nmcli connection show |
显示所有连接 |
nmcli connection show |
nmcli connection show <network> |
显示 network 链接信息 |
nmcli connection show wlo1 |
有线网络配置
1 2 3
| bashCopy Codesudo nmcli connection add type ethernet con-name "my-eth" ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1 sudo nmcli connection modify "my-eth" ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli connection up "my-eth"
|
1 2 3 4
| sudo nmcli connection modify "有线连接1" \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.method manual
|
1 2
| sudo nmcli connection modify "有线连接1" \ ipv4.dns "8.8.8.8 8.8.4.4"
|
1 2
| bashCopy Codesudo nmcli connection add type ethernet con-name "dhcp-eth" ifname eth0 sudo nmcli connection up "dhcp-eth"
|
1 2
| sudo nmcli connection down "有线连接1" && \ sudo nmcli connection up "有线连接1" # 重启连接生效
|
无线网络配置
1
| nmcli device wifi connect "SSID名称" password "密码"
|
1
| sudo nmcli device wifi hotspot ifname wlan0 con-name my-hotspot ssid MyHotspot password mypassword
|
高级网络配置
1 2 3
| bashCopy Codesudo nmcli connection add type bridge ifname br0 sudo nmcli connection add type bridge-slave ifname eth0 master br0 sudo nmcli connection up br0
|
1 2 3
| bashCopy Codesudo nmcli connection add type vlan con-name vlan10 ifname eth0.10 dev eth0 id 10 sudo nmcli connection modify vlan10 ipv4.addresses 192.168.10.1/24 sudo nmcli connection up vlan10
|
连接管理
命令 |
功能 |
示例 |
nmcli connection up |
激活连接 |
nmcli connection up eth0 |
nmcli connection down |
停用连接 |
nmcli connection down eth0 |
nmcli connection delete |
删除连接 |
nmcli connection delete eth0 68 |
故障排除
查看详细连接信息
1
| nmcli connection show "连接名称"
|
检查NetworkManager日志
1
| journalctl -u NetworkManager -f
|
重置网络配置
1 2
| bashCopy Codesudo nmcli networking off sudo nmcli networking on
|
实用技巧
-
简洁输出:使用-t
参数获得简洁格式输出
-
字段过滤:使用-f
参数指定显示字段
1
| nmcli -f DEVICE,TYPE device
|
-
修改现有连接:
1
| nmcli connection modify "连接名" ipv4.method manual ipv4.addresses 192.168.1.100/24
|
-
多IP地址配置:
1
| nmcli connection modify eth0 +ipv4.addresses 10.0.0.1/24
|
文章链接:
https://www.zywvvd.com/notes/system/linux/nmcli/nmcli/