# Linux中如何使用nmcli命令配置網絡
## 一、nmcli簡介
`nmcli`(NetworkManager Command-Line Interface)是NetworkManager提供的命令行工具,用于管理和配置Linux系統中的網絡連接。作為現代Linux發行版的默認網絡管理工具,它相比傳統ifconfig/route等命令具有以下優勢:
1. 統一管理有線、無線、VPN等各種網絡接口
2. 支持動態配置和持久化配置
3. 提供更人性化的交互方式
4. 與GUI工具配置實時同步
## 二、基本命令結構
nmcli命令采用"對象-動作"語法結構:
```bash
nmcli [OPTIONS] OBJECT { COMMAND | help }
常用對象類型包括:
- general:NetworkManager常規狀態
- networking:整體網絡功能
- radio:無線射頻開關
- connection:連接配置
- device:網絡接口設備
nmcli general status
輸出示例:
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
nmcli device status
輸出示例:
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
wlan0 wifi connected MyWiFi
lo loopback unmanaged --
nmcli connection show
nmcli connection add type ethernet con-name eth0-static ifname eth0 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 8.8.4.4" \
ipv4.method manual
參數說明:
- con-name:連接配置名稱
- ifname:物理接口名
- ipv4.method manual:表示靜態配置
nmcli connection add type ethernet con-name eth0-dhcp ifname eth0 \
ipv4.method auto
nmcli connection modify eth0-static \
ipv4.addresses "192.168.1.150/24" \
ipv4.dns "192.168.1.1"
nmcli connection up eth0-static
nmcli connection down eth0-static
nmcli device wifi list
nmcli device wifi connect SSID名稱
nmcli device wifi connect SSID名稱 password 密碼
nmcli connection add type wifi con-name home-wifi ifname wlan0 \
ssid HomeWiFi \
wifi-sec.key-mgmt wpa-psk \
wifi-sec.psk "mypassword"
nmcli networking on
nmcli networking off
nmcli radio wifi on
nmcli radio wifi off
nmcli connection delete eth0-static
nmcli connection reload
nmcli connection modify eth0-static +ipv4.addresses "10.0.0.100/24"
nmcli connection modify eth0-static \
+ipv4.routes "192.168.2.0/24 10.0.0.1"
nmcli connection modify eth0-static \
ipv4.dns "8.8.8.8 8.8.4.4 1.1.1.1"
nmcli connection add type ethernet \
con-name corp-net ifname eth0 \
802-1x.eap peap \
802-1x.identity username \
802-1x.password password \
802-1x.ca-cert /path/to/ca.pem
journalctl -u NetworkManager -f
nmcli device show eth0
nmcli --ask connection edit eth0-static
nmcli的配置最終會保存在以下位置:
- /etc/NetworkManager/system-connections/:持久化連接配置
- /etc/NetworkManager/NetworkManager.conf:主配置文件
手動編輯后需要執行:
nmcli connection reload
nmcli connection add type ethernet con-name server-lan ifname eth0 \
ipv4.addresses "10.10.10.2/24" \
ipv4.gateway "10.10.10.1" \
ipv4.dns "10.10.10.1" \
ipv4.method manual \
autoconnect yes
# 有線連接(優先)
nmcli connection add type ethernet con-name office-lan ifname eth0 \
ipv4.method auto \
connection.autoconnect-priority 100
# WiFi連接(備用)
nmcli connection add type wifi con-name home-wifi ifname wlan0 \
ssid HomeNetwork \
wifi-sec.key-mgmt wpa-psk \
wifi-sec.psk "homepassword" \
connection.autoconnect-priority 50
nmcli作為現代Linux網絡管理工具,提供了強大而靈活的命令行配置能力。通過本文介紹,您應該已經掌握:
相比傳統網絡配置方式,nmcli具有配置持久化、操作直觀、與GUI工具兼容等優勢,是Linux系統管理員和高級用戶必備的網絡管理工具。
提示:在生產環境中修改網絡配置前,建議先通過
--offline參數測試配置有效性,或保留SSH等遠程連接的備用訪問方式。 “`
注:本文實際約1800字,內容涵蓋了nmcli的主要功能和使用場景。如需擴展,可以增加更多實際案例或特定發行版的注意事項。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。