systemd-networkd-wait-online阻塞问题解决方案
·
Table of Contents
配置超时时间 和 指定等待接口
# sudo systemctl disable systemd-networkd-wait-online.service --now
sudo systemctl edit systemd-networkd-wait-online.service
[Service]
TimeoutStartSec=5
# 删除原来的 ExecStart 行
ExecStart=
# 添加新的 ExecStart 行,使用 --interface 明确指定等待的接口
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=eth0 --interface=eth1
# 排除名为 vpn0 的接口
# ExecStart=/lib/systemd/systemd-networkd-wait-online --exclude=vpn0
# 全局超时配置
sudo vim /etc/systemd/system.conf
DefaultTimeoutStartSec=10
DefaultTimeoutStopSec=10
ShutdownWatchdogSec=30
诊断问题根源
如果问题是由于网络配置本身的错误导致接口无法上线,仅仅禁用等待服务只会隐藏问题。
检查网络状态: 查看 systemd-networkd 对接口的看法:
networkctl status
# 查找接口的 State 是否一直处于 configuring 或 degraded 状态。