nmcli 是 NetworkManager 的命令行工具,用于在 Linux 系统中管理网络连接与设备,无需图形界面即可完成配置、启停、查看状态等操作。
一、基本语法
nmcli [OPTIONS] OBJECT {COMMAND | help} [ARGUMENTS]
-
OPTIONS:控制输出格式与行为,如
-t(简洁输出)、-p(美观输出)、-f(指定字段)。 -
OBJECT:操作对象,核心有 5 类:
-
general:NetworkManager 全局状态 -
networking:整体网络开关 -
radio:无线/蓝牙等射频开关 -
connection(可简写c):网络连接配置(最常用) -
device(可简写d):物理网卡设备管理
-
二、nmcli 常用命令速查表(极简版)
1. 查看状态
# 查看 NetworkManager 状态
nmcli general status
# 查看所有网卡设备状态
nmcli device status
nmcli d status
# 查看所有网络连接配置
nmcli connection show
nmcli c show
# 查看网卡详细信息
nmcli device show eth0
nmcli d show eth0
# 查看某个连接详情
nmcli connection show 连接名
2. 启停连接/网卡
# 启动一个连接配置
nmcli connection up 连接名
nmcli c up 连接名
# 关闭一个连接配置
nmcli connection down 连接名
nmcli c down 连接名
# 直接断开/启用网卡设备
nmcli device disconnect eth0
nmcli device connect eth0
3. 创建有线连接(最常用)
3.1 DHCP 自动获取IP
nmcli connection add \
type ethernet \
con-name mynet \
ifname eth0 \
autoconnect yes
3.2 静态 IP
nmcli connection add \
type ethernet \
con-name mynet \
ifname eth0 \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 114.114.114.114" \
autoconnect yes
4. 修改已有连接
# 修改 IP
nmcli connection modify mynet ipv4.addresses 192.168.1.101/24
# 修改网关
nmcli connection modify mynet ipv4.gateway 192.168.1.254
# 修改 DNS
nmcli connection modify mynet ipv4.dns 223.5.5.5
# 追加 DNS
nmcli connection modify mynet +ipv4.dns 114.114.114.114
# 改成 DHCP
nmcli connection modify mynet ipv4.method auto
修改后必须重启连接生效:
nmcli c down mynet && nmcli c up mynet
5. 删除连接
nmcli connection delete 连接名
nmcli c delete 连接名
6. Wi‑Fi 管理(服务器/笔记本都能用)
# 查看 WiFi 开关
nmcli radio wifi
# 开启/关闭 WiFi
nmcli radio wifi on
nmcli radio wifi off
# 扫描附近 WiFi
nmcli device wifi list
# 连接 WiFi
nmcli device wifi connect "WiFi名" password "密码"
7. 重载/重启网络
# 重载配置文件
nmcli connection reload
# 重启所有网络
systemctl restart NetworkManager
8. 网口聚合
什么是网口聚合(链路聚合 / 绑定 bond)?
网口聚合就是:把 2 个或多个物理网卡 绑定成 1 个虚拟网卡(bond)。
作用:
- 增加带宽:两张千兆口绑一起,接近 2G 带宽
- 高可用/冗余:断一根网线、坏一个网卡,业务不断
- 负载均衡:流量分到多个网口
常用模式(重点记 2 个):
- mode=1(active-backup)主备:最常用、交换机不用配置,一个坏了自动切另一个
- mode=4(802.3ad)LACP:需要交换机配置聚合,能叠加带宽
使用nmcli 配置网口聚合
假设:
- 物理网卡:eth0、eth1
- 聚合名字:bond0
- IP:192.168.1.100/24
- 网关:192.168.1.1
- DNS:223.5.5.5
- 模式:mode=1 主备(最简单安全)
- 创建 bond 设备(主备模式)
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
- 把 eth0、eth1 加入 bond0
nmcli connection add type ethernet con-name bond0-slave-eth0 ifname eth0 master bond0
nmcli connection add type ethernet con-name bond0-slave-eth1 ifname eth1 master bond0
- 给 bond0 设置静态IP
nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24
nmcli connection modify bond0 ipv4.gateway 192.168.1.1
nmcli connection modify bond0 ipv4.dns 223.5.5.5
nmcli connection modify bond0 ipv4.method manual
- 启动 bond
nmcli connection up bond0
nmcli connection up bond0-slave-eth0
nmcli connection up bond0-slave-eth1
查看聚合状态
cat /proc/net/bonding/bond0 # 看bond详细状态、主备网卡、模式
nmcli connection show # 看所有连接
nmcli device status # 看网卡状态
如果要 mode=4 LACP 模式(需交换机配置)
只需要把第一条命令改成:
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=802.3ad,lacp_rate=fast"
⚠️ 必须交换机也配置 LACP 聚合,否则会环路、掉线。
极简总结:
- bond 就是多网卡绑一起,防掉线、提带宽
- mode1 主备,不用配交换机,最稳
- mode4 叠加带宽,必须交换机配LACP
- 上面那 4 条 nmcli 命令,直接改IP、网卡名就能用
三、核心概念区分
-
device(设备):物理网卡(如
ens33、wlan0),是硬件载体。 - connection(连接):一套配置(IP、DNS、网关等),可绑定到设备,一个设备可对应多个连接。
四、使用场景
- 服务器/无桌面环境:替代图形化网络管理工具。
- 自动化脚本:用
-t简洁输出,便于解析与批量配置。 - 快速排障:一键查看连接状态、IP、网关、DNS。
命令速查版本
# ========== nmcli 一行命令速查表(带中文说明) ==========
nmcli general status # 查看NetworkManager全局状态
nmcli device status # 查看所有网卡设备状态
nmcli connection show # 查看所有网络连接配置
nmcli device show eth0 # 查看eth0网卡详细信息
nmcli connection up 连接名 # 启动指定网络连接
nmcli connection down 连接名 # 关闭指定网络连接
nmcli device disconnect eth0 # 断开eth0网卡
nmcli connection add type ethernet con-name mynet ifname eth0 autoconnect yes # 创建DHCP有线连接
nmcli connection add type ethernet con-name mynet ifname eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114" autoconnect yes # 创建静态IP有线连接
nmcli connection modify mynet ipv4.addresses 192.168.1.101/24 # 修改连接IP
nmcli connection modify mynet ipv4.method auto # 连接改DHCP模式
nmcli connection delete 连接名 # 删除指定网络连接
nmcli radio wifi on/off # 开启/关闭WiFi
nmcli device wifi list # 扫描附近WiFi
nmcli device wifi connect "WiFi名" password "密码" # 连接WiFi
nmcli connection reload # 重载网络配置
systemctl restart NetworkManager # 重启NetworkManager服务
总结:
- 核心高频命令:nmcli connection show/up/down(查看 / 启停连接)、nmcli device status(查网卡状态);
- 配置类核心:静态 IP 创建、IP/DHCP 修改是运维最常用的配置操作;
- 生效关键:修改配置后需执行 nmcli connection up/down 或重启 NetworkManager 才能生效。









网友评论