我有一个由三台计算机组成的网络,每台计算机都有两个端口。我没有网络交换机(三个端口都是 10GbE,而交换机目前价格过高)。
我希望将这三个节点连接起来,这样它们中的任何一个都可以与另一个节点通信 (*),但不依赖于对端的哪个端口应该连接到哪个对端之间的严格映射。换句话说,我希望配置足够稳定,这样我就可以交换连接到一台计算机的电缆对,并且至少在重新启动所有三个节点后,可以预期通信将正常工作。
一个简单的图:
+---------+
| Node A |
| |eth0}-----+
| |? | +---------+
| |eth1}-+ | | Node C |
+---------+ | +-{eth0| |
| ?| |
| +-{eth1| |
| | +---------+
+---------+ | |
| Node B | | |
| |eth0}-+ |
| |? |
| |eth1}-----+
+---------+
此外,我希望任何此类配置都必须是单跳配置,启用桥接(例如)不是一个合适的解决方案。
请注意,节点之间有一个固定的主节点,但我认为这不是解决方案的必要组成部分。
有这样的配置吗?如果有,我该如何配置?据我所知,使用具有不同接口的多个相同路由可能不够强大。我不喜欢使用或这样的解决方案,iptables
除非tc
它们是这项特定任务的唯一合适工具。
(*)“与对方交谈”包括在任何方向发起 TCP 连接、UDP+ICMP 流量等。
答案1
满足您的大部分要求的配置是在所有三台服务器上启用桥接和生成树。
如果您不需要任意交换网络端口,最简单的做法就是为每个接口配置具有三个不同子网的静态 IP。
没有任何配置可以满足您的所有要求。
答案2
据我所知,您需要增加带宽。那么为什么不使用绑定/组合,例如 LACP:http://en.wikipedia.org/wiki/Link_Aggregation_Control_Protocol,很多交换机都支持它吗?