我设置了 3 台运行 debian jessie 的服务器(A、B 和 C),它们都直接连接到其他两台服务器,因此是一个环形布局。我希望它们各自只有 ohne IP,就像它们连接到单个交换机一样。因此,我桥接了每台服务器上的两个接口并启用了 STP。它运行良好,但有一个缺点:服务器(A 到 C)之间的三个链路之一被 STP 禁用,以避免出现循环。现在 A 直接连接到 B,B 直接连接到 C,但从 A 到 C 的流量必须间接通过 B。
我想要的是:
- 最佳解决方案:所有连接同时启用,网络数据包只采用最短路径。如果任何链接失败,则应采用间接路径。这可能需要编写一些防火墙脚本。
好的解决方案:如果连接失败,上述方法没有回退。我想通过防火墙规则阻止转发来实现这一点,但到目前为止我还没有成功。STP 仍然禁用一个链接,并且所有 3 个服务器之间都可以 ping。我的防火墙规则:
iptables -t filter -A FORWARD --in-interface tap0 --out-interface tap1 -j DROP iptables -t filter -A FORWARD --in-interface tap1 --out-interface tap0 -j DROP
我的下一个想法是
- 使用我在所有服务器上使用的子网的不同部分,以便我可以通过 IP 进行过滤
- 手动管理网桥的 MAC 地址
但我怀疑这对于某些广播来说也可能会失败。
也许有更好的解决方案。你有什么想法吗?
提前致谢