Linux (OpenWRT)下如何实现 Per-Packet 模式的链路负载均衡?

2019-12-18 17:45:24 +08:00
 Archeb

背景实现:

目前我所知道并且已经尝试了的部分方法:

  1. bond 无法用在 tap 设备上(提示 operation not premitted )
  2. teql 不通 不清楚为什么 需要进一步尝试 但是限于能力我没能找到更多的参考资料(我能找到的只有 LARTC 的一篇)
  3. 直接路由负载均衡设置多个 nexthop,3.6 < kernel < 4.4 是 per-packet 模式,大于 4.4 就是 per-flow,目前的内核是 4.14 我需要 per-packet 模式 又听说可以用 equalize 来改变模式,但发现 iproute2 并没有实现 equalize flag (谷歌搜索结果,自己尝试也提示没有这个选项)。
  4. iptables 随机打标 + ip rule 策略路由:无法干预本地进程路由选择,据说可以让他在 lo 走一趟来干预
  5. teamd 因为 openwrt 似乎没有直接能用的包暂未尝试

希望大佬能给出些建议,谢谢。

4119 次点击
所在节点    Linux
4 条回复
xivisi
2019-12-18 18:03:05 +08:00
我的 gentoo 软路由采用 teamd 实现双万兆 聚合成为 20G 和 支持聚合的万兆交换机互联
lqs
2019-12-19 01:41:19 +08:00
之前用过一个很 low 但能 work 的方法:写个脚本每 0.1 秒切换一次路由
Archeb
2019-12-19 18:39:40 +08:00
@lqs 他工作,感谢!

今天尝试了走 lo+iptables 打标,太坑人了..
直接 0.1s 切换路由 完事...
Distance369
2020-05-20 15:16:24 +08:00
你好 可以给一个邮箱吗,楼主,想请教一下你一个问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630257

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX