運(yùn)維技能篇-nmcli命令

nmcliNetworkManager 的命令行工具,用于在 Linux 系統(tǒng)中管理網(wǎng)絡(luò)連接與設(shè)備,無需圖形界面即可完成配置、啟停、查看狀態(tài)等操作。

一、基本語法

nmcli [OPTIONS] OBJECT {COMMAND | help} [ARGUMENTS]
  • OPTIONS:控制輸出格式與行為,如 -t(簡潔輸出)、-p(美觀輸出)、-f(指定字段)。
  • OBJECT:操作對象,核心有 5 類:
    • general:NetworkManager 全局狀態(tài)
    • networking:整體網(wǎng)絡(luò)開關(guān)
    • radio:無線/藍(lán)牙等射頻開關(guān)
    • connection(可簡寫 c):網(wǎng)絡(luò)連接配置(最常用)
    • device(可簡寫 d):物理網(wǎng)卡設(shè)備管理

二、nmcli 常用命令速查表(極簡版)

1. 查看狀態(tài)

# 查看 NetworkManager 狀態(tài)
nmcli general status

# 查看所有網(wǎng)卡設(shè)備狀態(tài)
nmcli device status
nmcli d status

# 查看所有網(wǎng)絡(luò)連接配置
nmcli connection show
nmcli c show

# 查看網(wǎng)卡詳細(xì)信息
nmcli device show eth0
nmcli d show eth0

# 查看某個(gè)連接詳情
nmcli connection show 連接名

2. 啟停連接/網(wǎng)卡

# 啟動(dòng)一個(gè)連接配置
nmcli connection up 連接名
nmcli c up 連接名

# 關(guān)閉一個(gè)連接配置
nmcli connection down 連接名
nmcli c down 連接名

# 直接斷開/啟用網(wǎng)卡設(shè)備
nmcli device disconnect eth0
nmcli device connect eth0

3. 創(chuàng)建有線連接(最常用)

3.1 DHCP 自動(dòng)獲取IP

nmcli connection add \
  type ethernet \
  con-name mynet \
  ifname eth0 \
  autoconnect yes

3.2 靜態(tài) 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

# 修改網(wǎng)關(guān)
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 管理(服務(wù)器/筆記本都能用)

# 查看 WiFi 開關(guān)
nmcli radio wifi

# 開啟/關(guān)閉 WiFi
nmcli radio wifi on
nmcli radio wifi off

# 掃描附近 WiFi
nmcli device wifi list

# 連接 WiFi
nmcli device wifi connect "WiFi名" password "密碼"

7. 重載/重啟網(wǎng)絡(luò)

# 重載配置文件
nmcli connection reload

# 重啟所有網(wǎng)絡(luò)
systemctl restart NetworkManager

8. 網(wǎng)口聚合

什么是網(wǎng)口聚合(鏈路聚合 / 綁定 bond)?
網(wǎng)口聚合就是:把 2 個(gè)或多個(gè)物理網(wǎng)卡 綁定成 1 個(gè)虛擬網(wǎng)卡(bond)。

作用:

  1. 增加帶寬:兩張千兆口綁一起,接近 2G 帶寬
  2. 高可用/冗余:斷一根網(wǎng)線、壞一個(gè)網(wǎng)卡,業(yè)務(wù)不斷
  3. 負(fù)載均衡:流量分到多個(gè)網(wǎng)口

常用模式(重點(diǎn)記 2 個(gè)):

  • mode=1(active-backup)主備:最常用、交換機(jī)不用配置,一個(gè)壞了自動(dòng)切另一個(gè)
  • mode=4(802.3ad)LACP:需要交換機(jī)配置聚合,能疊加帶寬

使用nmcli 配置網(wǎng)口聚合

假設(shè):

  • 物理網(wǎng)卡:eth0、eth1
  • 聚合名字:bond0
  • IP:192.168.1.100/24
  • 網(wǎng)關(guān):192.168.1.1
  • DNS:223.5.5.5
  • 模式:mode=1 主備(最簡單安全)
  1. 創(chuàng)建 bond 設(shè)備(主備模式)
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 設(shè)置靜態(tài)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. 啟動(dòng) bond
nmcli connection up bond0
nmcli connection up bond0-slave-eth0
nmcli connection up bond0-slave-eth1

查看聚合狀態(tài)

cat /proc/net/bonding/bond0    # 看bond詳細(xì)狀態(tài)、主備網(wǎng)卡、模式
nmcli connection show          # 看所有連接
nmcli device status           # 看網(wǎng)卡狀態(tài)

如果要 mode=4 LACP 模式(需交換機(jī)配置)
只需要把第一條命令改成:

nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=802.3ad,lacp_rate=fast"

?? 必須交換機(jī)也配置 LACP 聚合,否則會(huì)環(huán)路、掉線。


極簡總結(jié):

  1. bond 就是多網(wǎng)卡綁一起,防掉線、提帶寬
  2. mode1 主備,不用配交換機(jī),最穩(wěn)
  3. mode4 疊加帶寬,必須交換機(jī)配LACP
  4. 上面那 4 條 nmcli 命令,直接改IP、網(wǎng)卡名就能用

三、核心概念區(qū)分

  • device(設(shè)備):物理網(wǎng)卡(如 ens33wlan0),是硬件載體。
  • connection(連接):一套配置(IP、DNS、網(wǎng)關(guān)等),可綁定到設(shè)備,一個(gè)設(shè)備可對應(yīng)多個(gè)連接。

四、使用場景

  • 服務(wù)器/無桌面環(huán)境:替代圖形化網(wǎng)絡(luò)管理工具。
  • 自動(dòng)化腳本:用 -t 簡潔輸出,便于解析與批量配置。
  • 快速排障:一鍵查看連接狀態(tài)、IP、網(wǎng)關(guān)、DNS。

命令速查版本

# ========== nmcli 一行命令速查表(帶中文說明) ==========
nmcli general status                          # 查看NetworkManager全局狀態(tài)
nmcli device status                           # 查看所有網(wǎng)卡設(shè)備狀態(tài)
nmcli connection show                         # 查看所有網(wǎng)絡(luò)連接配置
nmcli device show eth0                        # 查看eth0網(wǎng)卡詳細(xì)信息
nmcli connection up 連接名                    # 啟動(dòng)指定網(wǎng)絡(luò)連接
nmcli connection down 連接名                  # 關(guān)閉指定網(wǎng)絡(luò)連接
nmcli device disconnect eth0                  # 斷開eth0網(wǎng)卡
nmcli connection add type ethernet con-name mynet ifname eth0 autoconnect yes  # 創(chuàng)建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  # 創(chuàng)建靜態(tài)IP有線連接
nmcli connection modify mynet ipv4.addresses 192.168.1.101/24  # 修改連接IP
nmcli connection modify mynet ipv4.method auto  # 連接改DHCP模式
nmcli connection delete 連接名                 # 刪除指定網(wǎng)絡(luò)連接
nmcli radio wifi on/off                       # 開啟/關(guān)閉WiFi
nmcli device wifi list                        # 掃描附近WiFi
nmcli device wifi connect "WiFi名" password "密碼"  # 連接WiFi
nmcli connection reload                       # 重載網(wǎng)絡(luò)配置
systemctl restart NetworkManager              # 重啟NetworkManager服務(wù)

總結(jié):

  • 核心高頻命令:nmcli connection show/up/down(查看 / 啟停連接)、nmcli device status(查網(wǎng)卡狀態(tài));
  • 配置類核心:靜態(tài) IP 創(chuàng)建、IP/DHCP 修改是運(yùn)維最常用的配置操作;
  • 生效關(guān)鍵:修改配置后需執(zhí)行 nmcli connection up/down 或重啟 NetworkManager 才能生效。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容