在Linux中dynamic地重新路由网卡故障的特定stream量

这是我在这个论坛上的第一个问题。 希望我将来能够帮助别人。

我有两个两个网卡的盒子。 我知道使用绑定我可以有一定程度的容错性,但是我觉得我需要别的东西。 我想要的是不同的stream量(PING,LOGIN等)跟随另一条path和其他stream量(DRBD,网站等)。

只是在其中一个链接失败的情况下,我想要其他stream量的一部分(在我的情况下,只是一个心跳机制的IP)遵循DRBD和networking相同的path。 这是可能的吗?,我需要什么来监视链接状态,并相应地进行操作? 我会知道如何做这个静态(iproute等),但需要dynamic…

本教程负载平衡链接显示如何标记数据包并dynamicselect路由。 而不是标记每个 n 数据包,而是根据端口标记数据包。

这也是我的本能,你不需要使用条件标签,而只是在每个表中input冗余路由,并正确设置路由优先级。 例:

默认:

default via 10.0.0.1 dev eth0 metric 100 default via 10.0.0.1 dev eth1 metric 110 

DRBD标记:

 default via 10.0.0.1 dev eth0 metric 110 default via 10.0.0.1 dev eth1 metric 100 

你不需要你在问题中要求什么。 使用单键接口。 绑定有几种不同的模式来适应吞吐量和容错的各种平衡 。 一定要花时间为您的networkingfunction和您的应用程序的要求正确configuration它。

也就是说,您可以创build两个绑定设备Bond0和Bond1,它们都具有成员Eth0和Eth1,Bond0将Eth0作为主要成员,反之亦然,并将Bond接口configuration为仅用于故障转移。 然后将IP分配给每个Bond接口。 最后把服务分配给一个特定的IP。 这会造成交通偏好一个NIC或另一个NIC的情况,但这是一个pipe理上的噩梦,可能会导致比您感觉要解决的更多的问题。