正在解决网络堆栈问题

2024-08-27 | Poplar at twilight | CC-BY-SA-4.0

正在解决网络堆栈问题

在最近涉及构建和 NetworkManager 的测试场景中,出现了一个重大问题:网络堆栈无法运行。

我们建议用户暂时推迟系统更新,但如果您已经更新,请使用 Snapper 回滚系统;值得注意的是,虽然该问题主要影响带有 Wicked 的 GNOME 设置,但它也会影响没有这些组件的服务器。

这个问题至少从 Tumbleweed 20240825 快照开始就一直存在。Bind 9.20.1 收到的更新更改了 DNS 查询处理和系统控制,这可能无意中导致了网络堆栈问题。

根本原因似乎是 Wicked 和 D-Bus 系统之间的竞争条件,这导致网络堆栈无法正确初始化。当 Wicked 启动时,它很难与 D-Bus 进行交互,导致各种依赖的网络服务失效。

系统日志显示,D-Bus 在初始化时要么未完全激活,要么未被 Wicked 识别,从而引发了 DHCP 和 AutoIPv4 等服务的一系列故障。

这一系列事件将使 Tumbleweed 的网络堆栈无法运行,通常需要手动重新启动才能恢复网络功能。

为了解决这个问题,我们最初的工作重点是修改 systemd 服务文件中的服务依赖关系。一种建议的解决方案可能是将 After=dbus.service 添加到 Wicked 服务配置中。然而,在许多情况下,仅靠这种调整可能是不够的。

通过进一步调查,我们提出了更多的解决方案。这个问题似乎还超出了 Wicked 的范围,有可能影响到其他服务,并对系统的初始化过程产生更广泛的影响。在某些设置中,NetworkManager 和 Wicked 的过渡发现了影响网络堆栈初始化的关键竞争条件。虽然最近对 systemd 服务配置的调整已大大缓解了这一问题,但要实现一致的网络功能,持续测试和进一步改进仍是必不可少的。我们建议用户使用 snapper 的回滚功能来保持网络堆栈的正常初始化。


原文:Addressing the Network Stack Issue,作者:Douglas DeMaio

分享帖子: