运维技能篇-nmcli命令

2026-03-13  本文已影响0人  向暖而生

nmcliNetworkManager 的命令行工具,用于在 Linux 系统中管理网络连接与设备,无需图形界面即可完成配置、启停、查看状态等操作。

一、基本语法

nmcli [OPTIONS] OBJECT {COMMAND | help} [ARGUMENTS]

二、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 个):


使用nmcli 配置网口聚合

假设:

  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、网卡名就能用

三、核心概念区分


四、使用场景


命令速查版本

# ========== 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服务

总结:

上一篇 下一篇

猜你喜欢

热点阅读