![如果禁用 IPv6,brctl addbr 和 binding 将无法在 CentOS6 上运行](https://linux22.com/image/624700/%E5%A6%82%E6%9E%9C%E7%A6%81%E7%94%A8%20IPv6%EF%BC%8Cbrctl%20addbr%20%E5%92%8C%20binding%20%E5%B0%86%E6%97%A0%E6%B3%95%E5%9C%A8%20CentOS6%20%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
我按照以下说明设置了一个 CentOS6-XEN4-Server这些指示。
现在我想建立桥梁-首先手动:
brctl addbr test
- 但失败了:
“添加桥接失败:未安装包”
我尝试手动进行谷歌搜索,modprobe bridge
但结果却引发了如下错误dmesg
:
桥接:未知符号 ipv6_dev_get_saddr (错误 0)
modinfo bridge
揭示了桥接模块依赖于stp、llc和ipv6。
太好了。我不想要 IPv6,我不需要 IPv6,并且已将 IPv6 列入黑名单。
有没有什么办法可以
brctl
在不启用 IPv6 的情况下运行?为什么会有这种依赖性?
更新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:
正确的解决方法似乎是:
- 取消黑名单IPv6 协议和净-pf-10
创造/etc/modprobe.d/ipv6.conf内容如下:
选项 ipv6 disable_ipv6=1