如果禁用 IPv6,brctl addbr 和 binding 将无法在 CentOS6 上运行

如果禁用 IPv6,brctl addbr 和 binding 将无法在 CentOS6 上运行

我按照以下说明设置了一个 CentOS6-XEN4-Server这些指示。

现在我想建立桥梁-首先手动:

brctl addbr test- 但失败了:

“添加桥接失败:未安装包”

我尝试手动进行谷歌搜索,modprobe bridge但结果却引发了如下错误dmesg

桥接:未知符号 ipv6_dev_get_saddr (错误 0)

modinfo bridge揭示了桥接模块依赖于stp、llc和ipv6。

太好了。我不想要 IPv6,我不需要 IPv6,并且已将 IPv6 列入黑名单。

  1. 有没有什么办法可以brctl在不启用 IPv6 的情况下运行?

  2. 为什么会有这种依赖性?

更新2014-05-14

我发现这是一个 CentOS 6/RH 6 常见问题。它也适用于粘合模块。

接受的答案描述了根本原因 - 因此该问题也会出现在可比较的内核版本上,并且不仅限于 CentOS/RedHat/Scentific Linux 6。

答案1

内核 ML 已经对此进行了讨论,结论是用户不应该再禁用 ipv6。

引自https://bugzilla.redhat.com/show_bug.cgi?id=685053

这种情况的解决方法是不将 ipv6 模块列入黑名单,而是设置其 disable_ipv6 模块选项。这样,代码就可以加载,但内核不会注册任何 ipv6 功能,因此用户空间无法访问它。

更新2014-05-14:

正确的解决方法似乎是:

  1. 取消黑名单IPv6 协议净-pf-10
  2. 创造/etc/modprobe.d/ipv6.conf内容如下:

    选项 ipv6 disable_ipv6=1

相关内容