概述
systemd-networkd 是 systemd 的核心组件,用于配置和管理网络接口。它基于配置文件工作,有助于以一致且可预测的方式管理复杂的网络环境。
主要特点
- 声明式配置:通过 `.network` 文件定义网络配置
- 支持多种接口:以太网、Wi-Fi、桥接、绑定、VLAN 等
- 内置 DHCP 客户端/服务器功能
- 支持静态 IP 地址和路由配置
- 与 systemd 服务紧密集成
主要选项
systemd-networkd 主要通过 systemctl 作为服务进行管理,但直接运行时也有一些可用选项。
通用选项
生成的命令:
请尝试组合命令。
描述:
`systemd-networkd` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
systemd-networkd 主要通过 systemctl 命令作为服务进行管理。以下是一些常见的使用示例。
启用和启动 systemd-networkd 服务
sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service
启用服务以在系统启动时自动启动,并立即启动服务。
检查 systemd-networkd 服务状态
sudo systemctl status systemd-networkd.service
检查 systemd-networkd 服务的当前状态。
更改网络配置后重新加载
sudo systemctl reload systemd-networkd.service
修改 `.network` 文件后,无需重启服务即可重新加载配置。
使用 networkctl 检查网络状态
networkctl status
networkctl 是一个显示 systemd-networkd 管理的网络接口状态的实用程序。
验证配置文件
sudo systemd-networkd --test
在应用新的 `.network` 文件之前,检查语法错误等。
提示与注意事项
有效使用 systemd-networkd 的提示和注意事项。
配置文件路径
systemd-networkd 从以下路径读取 `.network` 文件。数字较小的目录中的文件具有更高的优先级。
- /etc/systemd/network/: 用户自定义配置(最高优先级)
- /run/systemd/network/: 运行时生成的配置(例如 DHCP 客户端)
- /usr/lib/systemd/network/: 发行版默认配置(最低优先级)
与其他网络管理器的冲突
同时启用 systemd-networkd 和其他网络管理器(如 NetworkManager 或 netplan)可能会导致冲突。通常建议系统中只启用一个网络管理器。
- 禁止与 NetworkManager 同时使用
- 如有必要,禁用其他网络管理器(例如 `sudo systemctl disable NetworkManager.service`)
调试和日志检查
出现问题时,使用 `journalctl` 检查 systemd-networkd 的日志非常重要。
- 使用 `journalctl -u systemd-networkd.service` 检查服务日志
- 使用 `journalctl -u systemd-networkd.service -f` 实时查看日志
- 为了获得详细日志,请使用 `--debug` 选项或在 `/etc/systemd/systemd-networkd.conf` 中设置 `LogLevel=debug`