美文网首页
运维技能篇-nmcli命令

运维技能篇-nmcli命令

作者: 向暖而生 | 来源:发表于2026-03-13 22:02 被阅读0次

nmcliNetworkManager 的命令行工具,用于在 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)

作用:

  1. 增加带宽:两张千兆口绑一起,接近 2G 带宽
  2. 高可用/冗余:断一根网线、坏一个网卡,业务不断
  3. 负载均衡:流量分到多个网口

常用模式(重点记 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 主备(最简单安全)
  1. 创建 bond 设备(主备模式)
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
  1. 把 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
  1. 给 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
  1. 启动 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 聚合,否则会环路、掉线。


极简总结:

  1. bond 就是多网卡绑一起,防掉线、提带宽
  2. mode1 主备,不用配交换机,最稳
  3. mode4 叠加带宽,必须交换机配LACP
  4. 上面那 4 条 nmcli 命令,直接改IP、网卡名就能用

三、核心概念区分

  • device(设备):物理网卡(如 ens33wlan0),是硬件载体。
  • 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 才能生效。

相关文章

网友评论

      本文标题:运维技能篇-nmcli命令

      本文链接:https://www.haomeiwen.com/subject/grrbjstx.html