这个问题与多播 DNS、多播 UPNP 或其他任何东西都无关,但多播侦听。
我知道,如果我不关闭 15.10 系统上的多播侦听功能(其中主网络接口是 br0 桥),那么任何到达 IPv6 目的地的尝试都会被多播侦听功能阻止,这是为了防止大多数系统不感兴趣的多播数据包充斥网络。这很简单:
- 将计算机启动到 Ubuntu 15.10,以 br0 作为主接口(其中“主接口”是具有默认路由的接口)。
- 尝试 ping6 个 IPv6 地址并观察其是否失败。
- 跑步
sudo sh -c "echo -n 0 > /sys/class/net/br0/bridge/multicast_snooping"
- 再次尝试 ping6,它神奇地起作用了。
您可以在在这里回答还有许多其他来源。
以下手册页未提及多播监听:interfaces(5)、brctl(8)、bridge-utils-interfaces(5)
bridge(8) 的手册页说这bridge link set fastleave off
是默认设置,而同名的 CISCO 文档(在我看来,比 bridge(8) 手册页好多了)说,设置 fastleave on 将诱导无法缓解我的 IPv6 问题。我还没有尝试过,不知道是否属实。
我知道有 /etc/network/if-pre-up.d/bridge
但它说:
# You don't usually need to touch this file at all, the full configuration
# of the bridge can be done in a standard way on /etc/network/interfaces.
那么这是真的吗?有办法把它放进去吗/etc/network/interfaces
?
答案1
答案是不对的。/etc/network/interfaces
尽管有注释,但您无法放入必要的配置控件/etc/network/if-pre-up.d/bridge
。
只是临时做一些事情。