出于兴趣,我正在研究 debian 网络管理。
我注意到我的 debian 12 默认使用网络来管理网络。
$ systemctl status networking
● networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; preset: enabled)
Active: active (exited) since Thu 2025-04-17 17:20:34 CST; 2 days ago
Docs: man:interfaces(5)
Main PID: 552 (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 2306)
Memory: 1.1M
CPU: 62ms
CGroup: /system.slice/networking.service
└─500 dhclient -4 -v -i -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -I -df /var/lib/dhcp/dhclient6.eth0.leases eth0
从文档来看,这个网络看起来像 ifupdown。
$man interfaces
我可以简单地将其视为 ifupdown 的前端吗?
如果您运行
systemctl cat networking.service
,您将看到该服务的具体功能:所有线路最终都会以各种选项和呼叫
ExecStart
结束,所以答案是肯定的,事实确实如此。ifup
ExecStop
ifdown
是的,您可以将 Debian 中的 networking.service 视为 ifupdown 的前端。
这是一种简单、静态的管理接口的方法。
ifupdown 是传统的 Debian 软件包,它提供 ifup 和 ifdown 命令来根据配置管理网络接口
/etc/network/interfaces
networking.service 是一个包装 ifupdown 的 systemd 服务
当 networking.service 启动时,它会
ifup -a
读取/etc/network/interfaces
并调出使用 auto 定义的接口您在 systemctl status 输出中看到的 dhclient 进程是由 ifup 生成的,用于处理 dhcp,这是
/etc/network/interfaces
为 eth0配置的networking.service 本身显示为,
exited
因为它的工作只是在启动时运行一次 ifup -a,而不是持久运行。Debian 已转向 NetworkManager 或 systemd-networkd 以实现更动态的网络管理,特别是在桌面或具有复杂需求的系统(如 WiFi、VPN 等)上。
如果您需要更多功能,如运行时更改或动态配置,您可能需要切换到 NetworkManager 或 systemd-networkd。
如果您好奇,您可以检查 /etc/network/interfaces 以查看您当前的静态配置或检查是否安装了其他工具(如 NetworkManager)。
查看此帖子以:
如何知道网络是否通过 /etc/network/interfaces、NetworkManager、Systemd 或 Netplan 配置?
Debian 11 dhcp将IP分配给多个接口
无法在 Debian 11 上正确启动第二个网络接口
Debian 设置 systemd networking.service 和 NetworkManager.service