如何判断我是使用 systemd-networkd 还是 NetworkManager
-> % sudo service systemd-networkd status
○ systemd-networkd.service - Network Configuration
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; disabled; preset: enabled)
Active: inactive (dead)
TriggeredBy: ○ systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
man:org.freedesktop.network1(5)
FD Store: 0 (limit: 512)
-> % # sudo service network-manager status
-> % sudo service NetworkManager status
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-01-01 10:00:48 CST; 10h ago
Docs: man:NetworkManager(8)
Main PID: 1373 (NetworkManager)
Tasks: 4 (limit: 9332)
Memory: 6.9M (peak: 30.3M swap: 1.8M swap peak: 2.5M)
CPU: 3.759s
CGroup: /system.slice/NetworkManager.service
└─1373 /usr/sbin/NetworkManager --no-daemon
1月 01 16:13:36 dell NetworkManager[1373]: <info> [1736151216.7653] agent-manager: agent[bbbccb1e3a96b1f1,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 17:08:04 dell NetworkManager[1373]: <info> [1736154484.1462] agent-manager: agent[fc4834eb60666117,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 17:23:07 dell NetworkManager[1373]: <info> [1736155387.9889] agent-manager: agent[8f4346a1bc399945,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 17:41:47 dell NetworkManager[1373]: <info> [1736156507.5578] agent-manager: agent[fc4834eb60666117,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 18:02:02 dell NetworkManager[1373]: <info> [1736157722.0680] agent-manager: agent[2ab1063edcfd570c,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 18:11:33 dell NetworkManager[1373]: <info> [1736158293.1638] manager: NetworkManager state is now CONNECTED_SITE
1月 01 18:11:33 dell NetworkManager[1373]: <info> [1736158293.6198] manager: NetworkManager state is now CONNECTED_GLOBAL
1月 01 19:08:18 dell NetworkManager[1373]: <info> [1736161698.3661] agent-manager: agent[2ab1063edcfd570c,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 19:35:43 dell NetworkManager[1373]: <info> [1736163343.1126] agent-manager: agent[2ab1063edcfd570c,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
1月 01 20:08:18 dell NetworkManager[1373]: <info> [1736165298.6409] agent-manager: agent[bbbccb1e3a96b1f1,:1.85/org.gnome.Shell.NetworkAgent/1000]: agent registered
二者的区别
以下是 systemd-networkd 和 NetworkManager 的主要区别对比表格:
对比项目 | systemd-networkd | NetworkManager |
---|---|---|
设计目标 | 为服务器、嵌入式设备等提供简单、轻量级、稳定的网络配置解决方案 | 为桌面和移动环境提供功能全面、用户友好、动态的网络管理 |
适用场景 | 服务器环境、嵌入式系统等对资源占用和稳定性要求高,无需频繁更改网络配置的场景 | 桌面系统、移动设备等需要频繁切换网络连接,对图形化管理和动态配置有需求的场景 |
配置方式 | 通过编辑/etc/systemd/network/ 目录下的.network 配置文件进行配置 |
命令行工具nmcli 、图形界面工具(如 GNOME 网络管理器)以及nmtui 等多种方式 |
功能特点 | 对复杂网络拓扑和虚拟网络支持较好,如 VLAN、网络接口绑定等;与 systemd 其他组件紧密集成 | 自动检测和管理多种网络设备及连接类型,支持 Wi-Fi、VPN、移动宽带等;设备管理功能强大,可自动切换网络连接 |
运行环境和依赖关系 | 作为 systemd 组件之一,依赖 systemd 其他组件,在 systemd 初始化系统环境运行良好 | 依赖各种网络相关后端库和驱动程序,如 wpa_supplicant 用于 Wi-Fi 连接;在桌面环境下与桌面通知、电源管理等系统集成较好 |
资源占用 | 轻量级,资源占用少 | 相对较重,因为要支持多种功能和图形界面等 |
稳定性 | 通常具有较高稳定性,与 systemd 紧密集成 | 在大多数情况下稳定,但由于功能复杂,可能出现兼容性问题等 |
从 NetworkManager 切换到 systemd-networkd
大多数主流系统都是默认采用 NetworkManager 来管理网络,但是都支持切换到 systemd-networkd。