在 Linux 系统中,NetworkManager
和 network
服务都是用于管理网络连接的,但它们的设计理念和使用场景有所不同:
1. NetworkManager
-
设计目标:主要面向桌面环境和移动设备,简化网络管理,特别是对于 Wi-Fi、VPN、移动网络等动态网络环境的支持。
-
特点:
- 适用于动态网络环境(如笔记本电脑、Wi-Fi、移动网络)。
- 支持图形化界面(如 GNOME、KDE)。
- 提供
nmcli
(命令行)和nmtui
(基于终端的界面)管理网络。 - 可以自动切换有线和无线网络,提高用户体验。
- 配置存储在
/etc/NetworkManager/system-connections/
。 - 适用于现代 Linux 发行版(如 RHEL 7+、CentOS 7+、Ubuntu 18.04+ 等)。
-
相关命令:
systemctl status NetworkManager # 查看 NetworkManager 状态 nmcli device show # 显示网络设备信息 nmcli connection show # 显示所有连接
2. network(旧版网络服务)
-
设计目标:早期的 Linux 服务器和嵌入式设备,提供稳定的静态网络管理。
-
特点:
- 主要用于服务器环境,适合静态 IP 配置(如数据中心)。
- 需要手动编辑
/etc/sysconfig/network-scripts/
下的配置文件(如ifcfg-eth0
)。 - 不适用于 Wi-Fi、VPN 等动态网络管理。
- 在 RHEL 7 及之后的版本中逐步被
NetworkManager
取代。
-
相关命令:
systemctl status network # 查看 network 服务状态 ifup eth0 # 启动 eth0 接口 ifdown eth0 # 关闭 eth0 接口
3. 对比总结
特性 | NetworkManager | network (旧网络服务) |
---|---|---|
适用场景 | 桌面、移动设备、动态网络 | 服务器、静态网络 |
配置方式 | GUI、CLI(nmcli/nmtui)、自动管理 | 纯手动配置 /etc/sysconfig/network-scripts/ |
Wi-Fi 支持 | 支持 | 不支持 |
VPN 支持 | 支持 | 不支持 |
适用 Linux 版本 | RHEL 7+,CentOS 7+,Ubuntu 18+ | RHEL 6,CentOS 6 等旧版 |
未来发展 | 继续发展 | 逐步淘汰 |
4. 如何选择
- 服务器端(如 RHEL 7+、CentOS 7+):建议使用
NetworkManager
,但如果是纯静态 IP,仍可以使用network
。 - 桌面端(如 Ubuntu、Fedora):推荐使用
NetworkManager
,支持 Wi-Fi、VPN 等功能,配置更方便。
在 RHEL 7 及以上版本中,如果你仍然想使用 network
服务,需要先停用 NetworkManager
:
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl enable network
systemctl start network
但官方推荐逐步迁移到 NetworkManager
,因为 network
服务在 RHEL 8 中已被移除。