什么是“虚拟设备上的死循环”以及如何修复它?

什么是“虚拟设备上的死循环”以及如何修复它?

我最近刚从 Cisco/Linksys 买了一台新路由器,即 RVS4000。我不断在日志中收到消息,说“虚拟设备 sit1 死循环,紧急修复!”但我不确定这是什么意思,也不知道我需要做什么来修复它。这是我应该担心的事情吗?

答案1

搜索后发现,在 Linux 相关系统上有很多类似的问题。实际答案并不多(或者说,我能理解的答案也不多)。有些答案指出了桥接和隧道设置不当,而其他答案则是普通设置,与此无关。

我的建议是先升级固件(如果可用)。然后,就我而言,我可能会忽略它,除非它导致问题或我注意到性能问题。

我认为生活中有太多实际问题,没必要去追查虚假日志条目。另外,如果真的很重要,我本希望找到更明确的东西。

如果这确实是一个关键系统,我可能会换用其他设备。要么是 Cisco 或 Sonicwall 的产品,要么是类似质量的产品。它们更贵,但在适当的情况下提供值得的支持。

答案2

我知道这是一个老问题,但由于我最近被这个问题困扰,请允许我在这里记录一下:如果您有一个 6to4 接口但缺少一些通往内部网络的路由,则可能会触发此错误。就我而言,我将一些虚拟机放在一个单独的子网中,但忘记告诉路由器我的机器是这个子网的网关。

我只能猜测路由器中会发生什么:发往内部网络的数据包被默认的 2002::/16 路由捕获,被推入 6to4 隧道,在那里它们被封装在 IPv4 数据包中,然后它们会遇到障碍,因为目标地址将是您的公共 IPv4 地址。由于我们已经处于出站队列中,我可以理解为什么这会让内核感到困惑。

答案3

ttl 64我的一个 Debian Squeeze 系统上的两个 sit 设备都遇到了这个问题。我通过在设备的配置节中指定以下内容来消除消息泛滥:

auto sit1
iface sit1 inet6 v4tunnel
      address ................
      netmask 64
      endpoint ................
      local .................
      gateway ..................
      ttl 64 <=================================

答案4

我对 Cisco/Linksys 路由器不感兴趣。我只知道其中一些路由器基于 Linux,所以我决定查看代码。当软件设备陷入某种无限循环时,会显示此消息。在代码中,“软件设备”一词指的是环回设备和隧道。

仔细检查任何 IP 隧道配置(如果有),并尝试升级固件,正如 hunterji 上面所说的那样。

相关内容