跳至主要內容

Linux NetworkManager 備忘錄

· 4 分鐘閱讀

這篇備忘錄記錄了 Linux 上的 NetworkManager。

資訊

NetworkManager 是一個動態網絡配置和管理守護程式,主要用於 Linux 系統。它旨在簡化網絡配置過程,特別是對於那些經常在不同網絡環境之間切換的筆記本電腦用戶,或需要圖形界面管理網絡連接的桌面用戶。

NetworkManager 會監測網絡設備的狀態,並自動配置它們,包括有線、無線、移動寬帶等連接。

1. NetworkManager 的核心組件

  • NetworkManager 守護程式:主要的後台服務,負責管理網絡連接。
  • nmcli (NetworkManager Command Line Interface):命令行工具,用於配置和顯示 NetworkManager 的狀態。
  • nmtui (NetworkManager Text User Interface):基於文本的用戶界面工具,提供一個互動式的菜單來管理連接。
  • 圖形化前端:如 GNOME Shell 的網絡設置、KDE Plasma 的網絡管理小程式等。

2. nmcli 基本用法

nmcli 是與 NetworkManager 交互最常用的命令行工具。

A. 顯示網絡設備狀態

nmcli device status

輸出會列出所有網絡設備及其狀態(例如 ethernet wifi connected disconnected)。

B. 顯示連接信息

nmcli connection show

這會列出所有已配置的網絡連接。

C. 啟用/禁用網絡設備

nmcli device disconnect eth0   # 斷開 eth0
nmcli device connect eth0 # 連接 eth0
nmcli radio wifi off # 禁用 Wi-Fi
nmcli radio wifi on # 啟用 Wi-Fi

D. 創建新連接

創建有線連接

nmcli connection add type ethernet con-name "MyWiredConnection" ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1 dns "8.1.1.1 8.8.4.4"
nmcli connection up "MyWiredConnection"
  • con-name:連接名稱。
  • ifname:接口名稱 (例如 eth0)。
  • ip4:IPv4 地址和子網掩碼。
  • gw4:IPv4 網關。
  • dns:DNS 服務器。

創建 Wi-Fi 連接

nmcli device wifi rescan                          # 掃描 Wi-Fi 網絡
nmcli device wifi list # 列出可用 Wi-Fi 網絡

nmcli connection add type wifi con-name "MyWiFi" ifname wlan0 ssid "Your_SSID"
wifi-sec.key-mgmt wpa-psk wifi-sec.psk "Your_WiFi_Password"
nmcli connection up "MyWiFi"
  • ssid:Wi-Fi 網絡名稱。
  • wifi-sec.key-mgmt wpa-psk:指定 WPA-PSK 密碼管理。
  • wifi-sec.psk:Wi-Fi 密碼。

E. 修改現有連接

nmcli connection modify "MyWiredConnection" ipv4.addresses 192.168.1.101/24
nmcli connection modify "MyWiredConnection" ipv4.gateway 192.168.1.2
nmcli connection modify "MyWiredConnection" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify "MyWiredConnection" ipv4.method manual # 靜態 IP
nmcli connection modify "MyWiredConnection" ipv4.method auto # DHCP
nmcli connection up "MyWiredConnection" # 應用更改

F. 刪除連接

nmcli connection delete "MyWiredConnection"

3. nmtui 用法

nmtui 是一個基於文本的互動式工具,對於不習慣 nmcli 複雜語法的用戶來說非常方便。

sudo nmtui

它會打開一個菜單,允許你:

  • 編輯連接
  • 激活連接
  • 設置主機名

4. NetworkManager 和 systemd-networkd / netplan

在現代 Linux 發行版中,網絡配置有多種方法。

  • NetworkManager:主要針對桌面和筆記本用戶,提供豐富的自動配置和圖形界面。
  • systemd-networkd:Systemd 的網絡配置服務,更輕量,常用於伺服器環境。
  • Netplan (Ubuntu 專用):一個抽象層,用於統一管理網絡配置,底層可以是 NetworkManager 或 systemd-networkd

通常,在桌面 Ubuntu 系統中,NetworkManager 是預設的網絡管理工具。

5. 常見問題和故障排除

  • 連接失敗:檢查日誌 (journalctl -u NetworkManager) 以獲取錯誤信息。
  • 沒有網絡連接:確保 NetworkManager 服務正在運行 (sudo systemctl status NetworkManager)。
  • DNS 問題:檢查 /etc/resolv.conf 文件,它通常由 NetworkManager 管理。

總結

NetworkManager 是 Linux 系統中一個功能強大且靈活的網絡管理工具。無論是通過 nmcli 進行命令行配置,還是通過 nmtui 進行互動式配置,它都極大地簡化了網絡連接的管理,對於從普通用戶到系統管理員來說都是一個寶貴的工具。

コメント

読み込み中...

コメントを投稿する