![在 18.04 版中,使用 netplan 配置网桥会导致启动时间过长](https://linux22.com/image/1162871/%E5%9C%A8%2018.04%20%E7%89%88%E4%B8%AD%EF%BC%8C%E4%BD%BF%E7%94%A8%20netplan%20%E9%85%8D%E7%BD%AE%E7%BD%91%E6%A1%A5%E4%BC%9A%E5%AF%BC%E8%87%B4%E5%90%AF%E5%8A%A8%E6%97%B6%E9%97%B4%E8%BF%87%E9%95%BF.png)
在 Ubuntu 18.04 中,默认网络配置由 netplan 完成。我有一个在启动时创建桥接接口的设置,如下所示。
一切运行良好,只是在启动过程中会遇到约 2 分钟的超时。超时后,它会完成启动,并且系统运行正常。
两分钟内,它会在控制台上打印此消息(也出现在 /var/log/boot.log 中)
A start job is running for Wait for Network to be Configured
我有几个装有 Ubuntu 18.04 和 netplan 的系统,但只有带有此桥接接口的系统才出现这个问题。
还有其他人也看到这个吗?
这是我的 netplan 配置
network:
version: 2
renderer: networkd
bridges:
testbr0:
addresses:
- 10.82.0.1/24
顺便说一句。我正在为 LXD 使用这个桥。启动时还没有使用此桥的 LXD 容器。
答案1
刚刚偶然发现了这个确切的问题。就我的情况而言,这是因为网桥中的一个接口没有插入网线,因此 networkd/networkctl 尝试启动它(因为它在 netplan 中定义)但失败了。
我猜想,如果在 netplan 配置中根本没有定义它,也会导致同样的问题。也许 networkd/networkctl 正在等待来自网桥的“链路已启动”信号,但网桥中没有接口,因此永远不会发送该信号?
就我而言,解决方案是添加optional: true
接口定义(而不是桥接器)。
对于您来说,如果桥接器没有任何接口,解决方案可能是在桥接器级别进行:
network:
version: 2
renderer: networkd
bridges:
testbr0:
addresses:
- 10.82.0.1/24
optional: true
为了确保万无一失,我将指令添加到了该桥的所有接口中。