Skip to content

切换网络管理工具

1. 错误原因

  • systemd-networkd 服务未启用或未运行

    • 系统可能默认使用了其他网络管理工具(如 NetworkManager),导致 systemd-networkd 未被启用。
    • 配置文件缺失

    • 如果没有为 systemd-networkd 提供 .network.netdev 配置文件,服务可能会遇到 "No such file or directory" 错误。

    • 环境冲突

    • 如果系统同时运行了多个网络管理工具(如 NetworkManagersystemd-networkd),它们可能会产生冲突。


2. 检查并解决方法

运行以下命令检查 systemd-networkd 是否存在:

systemctl status systemd-networkd

若未安装,则:

sudo apt update sudo apt install systemd-networkd

步骤 2: 启动 systemd-networkd 服务

如果服务已安装但未运行,启用并启动它:

bash

复制代码

sudo systemctl enable systemd-networkd  && sudo systemctl start systemd-networkd

步骤 3: 检查配置文件

确保配置文件位于正确路径,并格式正确。配置文件通常位于 /etc/systemd/network/,命名规则为 *.network*.netdev

示例配置(静态 IP): 创建文件 /etc/systemd/network/10-enp5s0.network

ini

复制代码

[Match] Name=enp5s0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8

加载配置:

bash

复制代码

sudo systemctl restart systemd-networkd


步骤 4: 检查网络管理工具冲突

如果同时使用 NetworkManager,可能需要禁用它以避免冲突:

bash

复制代码

sudo systemctl stop NetworkManager && sudo systemctl disable NetworkManager
sudo systemctl start NetworkManager && sudo systemctl enable NetworkManager
`

验证 systemd-networkd 是否接管网络管理:

networkctl

步骤 5: 检查错误日志

如果仍有问题,查看日志获取更多信息:

bash

复制代码

journalctl -u systemd-networkd


3. 验证网络配置

检查网络状态:

bash

复制代码

ip addr networkctl status

如果网络未配置正确,检查 `.