IPv6等价于Linux内核的多path路由工作吗?

最终目标是通过在lo接口上设置多个具有相同/ 128的服务器来获得每个分组的ipv6 udp负载均衡。 首先,试图让它与静态路由一起工作,然后开始使用Quagga或类似的软件包来探索BGP。 这必须在100%的虚拟环境中完成。

从我的search看,发行说明看起来像是在Linux Kernel 3.6中添加的。 但是我还没有能够设置这个function的成功演示。

使用ip命令,我应该可以添加多个路由到相同的IPv6子网,权重相同。 例如: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 nexthop via badd:badd:badd:2::2

我的服务器连接到badd:badd:badd:2 :: / 64并且可以同时达到badd:badd:badd:2 :: 1和badd:badd:badd:2 :: 2。 其他两个服务器在lo界面上都有badd:badd:1 :: 1/128。 我每次看到的情况是数据包只能通过路由表中的最后一个条目路由。 如果我用IPv4复制这个设置,我看到数据包路由通过表中的两个条目切换每隔一个数据包。

我已经尝试了多个内核3.10,4.4,4.6,但每个都收到了相同的结果。 我做错了什么,还是不支持? 谢谢!

你可以尝试2件事情:

  1. 为每个ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 dev eth0 ... dev eth1设置一个不同的接口,所以你的ip命令将改变为: ip -6 route add badd:badd:badd:1::1/128 nexthop via badd:badd:badd:2::1 dev eth0 ... dev eth1
  2. 尝试子网路由器任播地址: 链接 ,您可以在路由器上禁用ip -6 route del badd:badd:badd:2:: table local