如何在 Linux 上為有線乙太網路設定 systemd-networkd

systemd-networkd是 systemd 內建的網路管理器,用於設定乙太網路連結、位址、路由、橋接器、VLAN 和其他網路設備。對於基本的有線連接,設定非常簡單:確定接口,建立設定.network文件,確保沒有其他管理器佔用同一接口,啟動 systemd-networkd systemd-networkd,然後驗證結果。

本指南使用有線乙太網路介面上的 DHCP 伺服器。如果您透過 SSH 連接到機器,請在切換網路管理員之前使用本機控制台或外部管理,因為切換程序可能會導致連線暫時中斷。

1. 檢查您的乙太網路介面和目前網路管理器

首先列出systemd已知的連結:

networkctl list

尋找有線接口,通常名稱類似於enp3s0` <wired interface> eno1`、`<wired interface>` 或 `<wired interface eth0>`。您也可以執行 ` ip link<wired interface>` 指令。請勿盲目複製範例介面名稱。

Linux 終端機顯示 networkctl list 指令,其中乙太網路介面 enp3s0 已高亮顯示。

接下來,檢查 NetworkManager 是否處於活動狀態:

systemctl status NetworkManager

NetworkManager 和 systemd-networkd 可以共存,當它們管理不同的介面時,但不應讓它們管理同一個乙太網路連結。目前的systemd.network 文件解釋了檔案如何.network匹配介面以及 networkd 如何確定所有權。

Linux 終端機正在檢查 NetworkManager,並顯示停用它的命令,然後再將介面交給 systemd-networkd。

2. 建立 DHCP 網路設定檔

本機管理員設定檔應位於此處/etc/systemd/network/。如果該目錄尚不存在,請建立該目錄,然後編輯類似以下的檔案20-wired.network:

sudo mkdir -p /etc/systemd/network
sudo nano /etc/systemd/network/20-wired.network

對於從路由器或 DHCP 伺服器取得位址的普通乙太網路連接,請使用:

[Match]
Name=enp3s0

[Network]
DHCP=yes

請替換enp3s0為您的實際介面。文件必須以 . 結尾.network。當多個文件匹配一個連結時,systemd-networkd 會按字母數字順序使用第一個匹配的文件,因此使用像 .net 這樣的特定名稱20-wired.network比使用寬泛的通用名稱更容易理解。

Nano 編輯器顯示了 systemd-networkd 乙太網路設定文件,其匹配名稱為 enp3s0,並且啟用了 DHCP。

可選:使用靜態 IPv4 位址

如果機器需要固定位址,請替換DHCP=yes為適合您網路的值:

[Match]
Name=enp3s0

[Network]
Address=192.168.1.50/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=9.9.9.9

除非這些範例位址與您的子網路匹配,否則請勿重複使用。官方systemd.network 參考文件詳細介紹了 、 、DHCP=以及Address=更多進階路由選項。Gateway=DNS=

3. 啟用 systemd-networkd

配置完成後,啟用 networkd 並立即啟動它:

sudo systemctl enable --now systemd-networkd

如果目前有其他服務管理同一個乙太網路接口,請從本機控制台執行切換操作。對於完全脫離 NetworkManager 的主機,您可以使用下列命令停止並停用它:

sudo systemctl disable --now NetworkManager

如果您仍然需要 NetworkManager 來設定 Wi-Fi 或其他接口,請不要停用它。 NetworkManagersystemd-networkd用於設定 IP 網絡,但 Wi-Fi 驗證通常需要單獨的元件,例如 iwd 或 wpa_supplicant。

Linux 終端機使用 `systemctl enable --now` 指令啟用 systemd-networkd。

4. 如有需要,請使用 systemd-resolved 設定 DNS。

systemd-resolved雖然 networkd 本身並不要求啟用它,但它與 networkd 整合良好,並且可以使用透過 DHCP 取得的 DNS 伺服器。如果您的發行版尚未啟用其他解析器,請啟用它:

sudo systemctl enable --now systemd-resolved

systemd -resolved 文件/etc/resolv.conf建議,當 resolved 是系統解析器時,應連結到其存根檔案。請先檢查:

readlink -f /etc/resolv.conf

如果您有意希望 systemd-resolved 提供服務resolv.conf,請使用:

sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

/etc/resolv.conf如果您的發行版或其他 DNS 工具有意對其進行管理,請勿取代。

Linux 終端啟用 systemd-resolved,將 resolv.conf 連結到存根解析器,並檢查 resolvectl 狀態

5. 重新載入配置並重新配置介面

編輯.network檔案後,重新載入 networkd 的設定。然後您可以明確地重新配置目標連結:

sudo networkctl reload
sudo networkctl reconfigure enp3s0

替換enp3s0為你的介面名稱。官方的networkctl 手冊對這兩個指令都有詳細說明。完整命令systemctl restart systemd-networkd也會重新載入服務,但networkctl通常是更有針對性的選擇。

Linux 終端機顯示了 systemd-networkd 設定文件,隨後執行了 networkctl reload 和 reconfigure 命令。

6. 驗證 systemd-networkd 是否正常運作

檢查介面狀態:

networkctl status enp3s0

對於健康的 DHCP 連接,您應該會看到鏈路配置了 IP 位址、預設網關,通常還有 DNS 資訊。

networkctl status 輸出顯示 enp3s0 已設定、可路由,並已指派 IPv4 位址、閘道和 DNS 伺服器。

然後確認路由和連接情況:

ip route
ping -c 3 1.1.1.1

如果 IP 位址 ping 通,但網站或主機名稱無法解析,請resolvectl query example.com在使用 systemd-resolved 時測試 DNS。如果介面保持不變unmanaged,請重新檢查[Match]名稱,並確保沒有其他網路管理員佔用相同裝置。

Linux 終端機使用 networkctl status、ip route 和 ping 指令驗證 systemd-networkd 的運作情況,並成功執行 ping 指令。

對於橋接、綁定、VLAN、隧道或虛擬設備等進階設置,請參閱官方systemd-networkd 服務文件及相關systemd.netdev參考資料systemd.link。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。