我有两个网络和几台计算机。我想修复中心故障点。
两个网络:
- 网络
Foo
:172.16.1.0/24
- 网络
Bar
:172.16.2.0/24
五台服务器,运行linux(ubuntu):
- 服务器
A
- 服务器
B
- 服务器
C
- 服务器
Y
- 服务器
Z
所有服务器都有一个网络接口:eth0
. 除了服务器C
,它有两个接口:eth0
**和** eth1
。 服务器C
是唯一连接两个网络的服务器,也是两个网络之间的中央路由器,每个网络都有专用的接口,并启用了 ipv4 转发。
^^这似乎工作得很好,但我想通过添加另一个中央路由器来实现某种故障转移或流量负载平衡。
是否可以添加另一个 Linux 服务器,比如服务器D
,也具有两个网络接口,可执行与服务器相同的功能C
?
我想要服务器D
以某种方式实现故障转移或平衡流量,弄清楚这一部分对我来说很困难。我设想我可以向同一网络添加辅助路由,并以某种方式在节点上添加度量或加权路由?
下面是一个图表,我想象解决方案可能如下所示:
是否可以将其配置为对服务器 C 和 D 之间的流量进行负载平衡,或者是否存在某种“故障转移”选项?
以下是我感兴趣的一些事情,但我对网络场景不太熟练,而且我不确定哪种是最合适的解决方案:
ip route add via metric preference
OSPF
BGP
- 或者
iBGP
或者eBGP
(有什么不同?) Multi-Path TCP
CARP
或者VRRP
我想修复中心故障点(服务器 C),并复制该路由器的作用。最实用的方法是什么?
答案1
在我看来,最好的决定始终是服务器的路由配置尽可能简单(只有一条默认路由:)),并且由于网络配置的变化,不需要再配置服务器。
我知道有些情况下这并不适用。
因此我会实施 VRRP。
顺便说一句:iBGP 和 eBGP:内部和外部 BGP。前者用于自治系统 (AS) 内部,后者用于 AS 之间。