nmcli cheatsheet nmcli命令速查手册

nmcli 命令速查表 (Cheat Sheet)

nmcli — NetworkManager 命令行管理工具,适用于 RHEL / CentOS / Fedora / Ubuntu / Debian 等主流发行版。


基本语法

nmcli [OPTIONS] OBJECT {COMMAND | help}
对象 (OBJECT)说明常用别名
general全局状态、主机名g
networking网络连通性控制n
radio射频开关 (WiFi/WWAN)r
connection连接配置管理con
device网络设备管理dev
monitor事件监控
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移除 指定 IP
nmcli 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 快速连接 (推荐)

# 连接开放 WiFi
sudo nmcli device wifi connect "SSID" ifname wlan0

# 连接加密 WiFi (WPA/WPA2)
sudo nmcli device wifi connect "SSID" password "密码" ifname wlan0

# 连接隐藏 WiFi
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"

# 第二步:设置认证方式 (WPA-PSK)
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)

# 创建 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

# 添加 Bond 成员
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禁用彩色输出

九、常用快捷对照表

快速排查网络故障

# 1. 查看所有设备状态
nmcli device status

# 2. 查看活跃连接
nmcli connection show --active

# 3. 查看具体设备详情 (IP、DNS、路由等)
nmcli device show eth0

# 4. 检查网络连通性
nmcli networking connectivity check

# 5. 重启网络 (不停机)
sudo nmcli networking off && sudo nmcli networking on

# 6. 重新激活连接
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

注意事项

  1. connection 名 ≠ device 名 — 操作激活/修改时多用连接名 (NAME 列)
  2. nmcli con mod 只改配置,不立即生效,需 con down/updev reapply
  3. 远程 SSH 修改网络建议加超时回滚机制:
    nmcli con up new-config; sleep 60; nmcli con up old-config
    
  4. 配置文件位于 /etc/NetworkManager/system-connections/,后缀为 .nmconnection
  5. 使用 nmcli con add 时,con-name 是连接配置的名称,ifname 是绑定的网络设备名
  6. 修改前建议先备份当前配置:
    cp /etc/NetworkManager/system-connections/*.nmconnection /backup/
    

官方网站

NetworkManager Documentation

总是会忘记,用AI整理了一下,方便工作使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值