概述
systemd-networkd 是 systemd 中用於配置和管理網路介面的核心元件。它基於設定檔工作,有助於以一致且可預測的方式管理複雜的網路環境。
主要特點
- 宣告式設定:透過 `.network` 檔案定義網路配置
- 支援多種介面:乙太網路、Wi-Fi、橋接器、綁定、VLAN 等
- 內建 DHCP 用戶端/伺服器功能
- 支援靜態 IP 位址和路由設定
- 與 systemd 服務緊密整合
主要選項
systemd-networkd 主要透過 systemctl 作為服務進行管理,但直接執行時也有一些可用的選項。
一般選項
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`systemd-networkd` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
systemd-networkd 主要透過 systemctl 命令作為服務進行管理。以下是一些常見的使用範例。
啟用並啟動 systemd-networkd 服務
sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service
設定為在系統啟動時自動啟動,並立即啟動服務。
檢查 systemd-networkd 服務狀態
sudo systemctl status systemd-networkd.service
檢查 systemd-networkd 服務的目前狀態。
變更網路設定後重新載入
sudo systemctl reload systemd-networkd.service
在變更 `.network` 檔案後,重新載入設定,而無需重新啟動服務。
使用 networkctl 檢查網路狀態
networkctl status
networkctl 是用於顯示 systemd-networkd 管理的網路介面狀態的工具。
驗證設定檔
sudo systemd-networkd --test
在套用新的 `.network` 檔案之前,檢查語法錯誤等。
提示與注意事項
有效使用 systemd-networkd 的提示和注意事項。
設定檔路徑
systemd-networkd 會從以下路徑讀取 `.network` 檔案。數字較小的目錄中的檔案具有較高的優先權。
- /etc/systemd/network/: 使用者自訂設定 (最高優先權)
- /run/systemd/network/: 執行時期產生的設定 (例如:DHCP 用戶端)
- /usr/lib/systemd/network/: 發行版預設設定 (最低優先權)
與其他網路管理員的衝突
同時啟用 systemd-networkd 與 NetworkManager 或 netplan 等其他網路管理員可能會導致衝突。通常建議系統上只啟用一個網路管理員。
- 禁止與 NetworkManager 同時使用
- 必要時停用其他網路管理員 (例如:`sudo systemctl disable NetworkManager.service`)
除錯與日誌檢查
發生問題時,使用 `journalctl` 檢查 systemd-networkd 的日誌非常重要。
- 使用 `journalctl -u systemd-networkd.service` 檢查服務日誌
- 使用 `journalctl -u systemd-networkd.service -f` 檢查即時日誌
- 為了獲得詳細日誌,請使用 `--debug` 選項或在 `/etc/systemd/systemd-networkd.conf` 中設定 `LogLevel=debug`