nmcli 命令速查表 (Cheat Sheet)
nmcli — NetworkManager 命令行管理工具,适用于 RHEL / CentOS / Fedora / Ubuntu / Debian 等主流发行版。
基本语法
nmcli [ OPTIONS] OBJECT { COMMAND | help}
对象 (OBJECT) 说明 常用别名 general全局状态、主机名 gnetworking网络连通性控制 nradio射频开关 (WiFi/WWAN) rconnection连接配置管理 condevice网络设备管理 devmonitor事件监控 — agent认证代理 —
一、全局状态与主机名 (general)
命令 说明 nmcli general status查看 NetworkManager 守护进程状态 nmcli general hostname查看当前主机名 sudo nmcli general hostname myserver设置主机名为 myserver nmcli general permissions查看当前用户的 NM 权限
二、网络连通性控制 (networking)
命令 说明 nmcli networking connectivity查看网络连通性状态 nmcli networking connectivity check强制重新检测连通性 nmcli networking on开启 网络 (所有接口)nmcli networking off关闭 网络 (所有接口)
⚠️ networking off 会断开所有网络连接,远程操作时慎用!
三、射频控制 (radio)
命令 说明 nmcli radio wifi on/off开启/关闭 WiFi 射频 nmcli radio wwan on/off开启/关闭 WWAN (4G/5G) 射频 nmcli radio all on/off同时控制所有射频 nmcli radio wifi查看 WiFi 射频状态
四、设备管理 (device)
4.1 状态查看
命令 说明 nmcli device status所有设备状态概览 nmcli device show所有设备详细信息 nmcli device show eth0指定设备详细信息
4.2 连接与断开
命令 说明 sudo nmcli device connect eth0连接设备 sudo nmcli device disconnect eth0断开设备 sudo nmcli device reapply eth0重新应用配置 (不中断连接) sudo nmcli device down eth0关闭设备 sudo nmcli device up eth0启用设备
4.3 设备属性设置
命令 说明 nmcli device set eth0 managed yes/no设置设备是否由 NM 管理 nmcli device modify eth0 +ipv4.addresses 192.168.1.100/24临时添加 IP nmcli device modify eth0 -ipv4.addresses 192.168.1.100/24临时移除 IP
4.4 WiFi 扫描
命令 说明 nmcli device wifi list扫描并列出可用 WiFi nmcli device wifi rescan重新扫描 WiFi nmcli device wifi list ifname wlan0指定网卡扫描
五、连接配置管理 (connection)
核心概念 :connection = 配置档案 (profile),device = 物理/虚拟接口。一个 device 可绑定多个 connection。
5.1 查看连接
命令 说明 nmcli connection show列出所有连接 nmcli connection show --active仅列出激活的连接 nmcli connection show "连接名"查看指定连接的详细配置
5.2 激活与停用
命令 说明 sudo nmcli connection up "连接名"激活连接 sudo nmcli connection down "连接名"停用连接 sudo nmcli connection up "连接名" ifname eth0在指定设备上激活连接
5.3 新增连接
DHCP 以太网连接
sudo nmcli con add type ethernet \
con-name dhcp-eth \
ifname eth0 \
ipv4.method auto
静态 IP 以太网连接
sudo nmcli con add type ethernet \
con-name static-eth \
ifname eth0 \
ipv4.method manual \
ipv4.addresses 192.168 .1.100/24 \
ipv4.gateway 192.168 .1.1 \
ipv4.dns "8.8.8.8,1.1.1.1"
多 IP 地址
sudo nmcli con add type ethernet \
con-name multi-ip-eth \
ifname eth0 \
ipv4.method manual \
ipv4.addresses "192.168.1.100/24,192.168.2.100/24" \
ipv4.gateway 192.168 .1.1
5.4 修改连接属性
命令 说明 nmcli con mod 连接名 ipv4.method auto改为 DHCP nmcli con mod 连接名 ipv4.method manual改为静态 IP nmcli con mod 连接名 ipv4.addresses 192.168.1.101/24修改 IP 地址 nmcli con mod 连接名 ipv4.gateway 192.168.1.1修改网关 nmcli con mod 连接名 ipv4.dns "8.8.8.8"修改 DNS nmcli con mod 连接名 +ipv4.addresses 192.168.1.102/24追加 IP (不覆盖)nmcli con mod 连接名 -ipv4.addresses 192.168.1.102/24移除 指定 IPnmcli con mod 连接名 connection.autoconnect yes开机自动连接 nmcli con mod 连接名 connection.autoconnect no关闭开机自动连接 nmcli con mod 连接名 802-3-ethernet.mtu 9000设置 MTU (Jumbo Frame) nmcli con mod 连接名 ipv6.method ignore禁用 IPv6
💡 修改后需执行 nmcli con down/up 连接名 或 nmcli dev reapply 设备名 使配置生效。
5.5 删除连接
命令 说明 sudo nmcli connection delete "连接名"删除指定连接 sudo nmcli connection delete uuid <UUID>按 UUID 删除连接
5.6 重载配置
命令 说明 nmcli connection reload从磁盘重新加载所有连接配置 nmcli connection load /etc/NetworkManager/system-connections/xxx.nmconnection重载指定配置文件
六、WiFi 连接实战
6.1 快速连接 (推荐)
sudo nmcli device wifi connect "SSID" ifname wlan0
sudo nmcli device wifi connect "SSID" password "密码" ifname wlan0
sudo nmcli device wifi connect "SSID" password "密码" hidden yes ifname wlan0
6.2 手动创建 WiFi 连接档案
sudo nmcli con add type wifi \
con-name mywifi \
ifname wlan0 \
ssid "SSID"
sudo nmcli con mod mywifi \
wifi-sec.key-mgmt wpa-psk \
wifi-sec.psk "密码"
sudo nmcli con up mywifi
6.3 WiFi 企业级认证 (WPA-EAP / 802.1X)
sudo nmcli con add type wifi \
con-name corp-wifi \
ifname wlan0 \
ssid "CorpNet"
sudo nmcli con mod corp-wifi \
wifi-sec.key-mgmt wpa-eap \
802 -1x.eap peap \
802 -1x.identity "用户名" \
802 -1x.password "密码" \
802 -1x.phase2-auth mschapv2
七、高级网络类型
7.1 网桥 (Bridge)
sudo nmcli con add type bridge \
con-name br0 \
ifname br0 \
ipv4.method manual \
ipv4.addresses 10.0 .0.1/24
sudo nmcli con add type bridge-slave \
con-name br0-port1 \
ifname eth0 \
master br0
sudo nmcli con add type bridge-slave \
con-name br0-port2 \
ifname eth1 \
master br0
7.2 VLAN
sudo nmcli con add type vlan \
con-name vlan100 \
dev eth0 \
id 100 \
ipv4.method manual \
ipv4.addresses 192.168 .100.10/24
7.3 网卡绑定 (Bond)
sudo nmcli con add type bond \
con-name mybond \
ifname bond0 \
bond.options "mode=active-backup,miimon=100" \
ipv4.method manual \
ipv4.addresses 192.168 .1.100/24
sudo nmcli con add type ethernet \
ifname eth0 \
con-name bond-port-eth0 \
controller mybond
sudo nmcli con add type ethernet \
ifname eth1 \
con-name bond-port-eth1 \
controller mybond
常用 Bond 模式:
模式 说明 balance-rr (0)轮询负载均衡 active-backup (1)主备模式 (最常用) balance-xor (2)XOR 哈希负载均衡 broadcast (3)广播到所有接口 802.3ad (4)IEEE 802.1ax 动态聚合 balance-tlb (5)自适应发送负载均衡 balance-alb (6)自适应收发负载均衡
7.4 网卡聚合 (Team)
sudo nmcli con add type team \
con-name team0 \
ifname team0 \
team.config '{"runner": {"name": "activebackup"}}' \
ipv4.method manual \
ipv4.addresses 192.168 .1.100/24
sudo nmcli con add type team-slave \
con-name team0-port1 \
ifname eth0 \
master team0
八、监控与脚本友好输出
8.1 实时监控
命令 说明 nmcli monitor监控所有 NM 事件 nmcli connection monitor 连接名监控指定连接 nmcli device monitor eth0监控指定设备
8.2 脚本友好输出
命令 说明 nmcli -t connection show --activeTab 分隔,无表头 (适合脚本解析) nmcli -g IP4.ADDRESS device show eth0仅输出值 (get value) nmcli -f NAME,TYPE,STATE connection show指定输出字段 nmcli -p device status带分隔线的美观输出 nmcli --colors=no device status禁用彩色输出
九、常用快捷对照表
快速排查网络故障
nmcli device status
nmcli connection show --active
nmcli device show eth0
nmcli networking connectivity check
sudo nmcli networking off && sudo nmcli networking on
sudo nmcli connection down "连接名" && sudo nmcli connection up "连接名"
一键配置静态 IP
INTERFACE = "eth0"
IP = "192.168.1.100/24"
GATEWAY = "192.168.1.1"
DNS = "8.8.8.8"
sudo nmcli con mod $INTERFACE \
ipv4.method manual \
ipv4.addresses $IP \
ipv4.gateway $GATEWAY \
ipv4.dns $DNS \
connection.autoconnect yes
sudo nmcli con down $INTERFACE && sudo nmcli con up $INTERFACE
一键连接 WiFi
SSID = "MyWiFi"
PASSWORD = "MyPassword"
sudo nmcli device wifi connect "$SSID " password "$PASSWORD " ifname wlan0
注意事项
connection 名 ≠ device 名 — 操作激活/修改时多用连接名 (NAME 列)nmcli con mod 只改配置,不立即生效 ,需 con down/up 或 dev reapply远程 SSH 修改网络建议加超时回滚 机制:nmcli con up new-config; sleep 60 ; nmcli con up old-config
配置文件位于 /etc/NetworkManager/system-connections/,后缀为 .nmconnection 使用 nmcli con add 时,con-name 是连接配置的名称,ifname 是绑定的网络设备名 修改前建议先备份当前配置:cp /etc/NetworkManager/system-connections/*.nmconnection /backup/
官方网站
NetworkManager Documentation
总是会忘记,用AI整理了一下,方便工作使用。