关于多 WAN 多线无冲突负载均衡一点微小的想法

2016-09-26 13:35:24 +08:00
 qq316107934

方案

寝室里原来有一条 20M 的电信宽带,今年又办了一条 20M 的联通宽带,发现联通梯子用着顺畅,电信国内游戏延迟低,于是想做个双 WAN 合并,刷好了 OpenWRT 并配置了 MWAN3 ,上网找了一些方案,都不是很满意。目前据我所知道的多线负载均衡解决方案有:

1.基于单包的负载均衡:随机将包发送到多个 WAN 口上达到负载均衡的目的,缺点很明显,很容易造成某些应用的掉线,对于网银和 QQ 的支持不是很好, IP 会经常变化。

2.基于静态路由的负载均衡:就是针对 ISP 特定的 IP 段进行静态路由,达成了哪家 ISP 走哪家线的优点。但是问题也是存在的: DNS 会被直接分配给某一个固定 WAN 口,解析出来的 IP 的 ISP 来源是固定的,基本达不到负载均衡的目的。

3.基于 session 的负载均衡:流量特征识别,然后负载均衡,这个方案倒是比较好用,但是搜了下全网 1000 以下的路由基本没有,大部分是企业级的路由器,对于穷学生来说用不起,就不再考虑这个方案了。

想法

刚刚午休时冒出的想法:结合上文 1 和 2 ,利用静态路由表做 ISP 分流,然后 DNS 解析的时候对 DNS 的 IP 做基于包的负载均衡,让支持多线的不同网站解析出不同 ISP 的 IP ,既能达到负载均衡的目的,又不会因为包被分散发送而影响某个会话。

大家对此有何见解?或者有什么更好的方案吗? PS:预算在 350 以内, RouterOS 和软路由基本没戏。

谢谢大家。

8889 次点击
所在节点    宽带症候群
46 条回复
skylancer
2016-09-28 09:30:13 +08:00
谁告诉你 350 就没法玩 RouterOS 的.. 你自己去看看产品价格啊
woyaojizhu8
2016-09-29 19:27:37 +08:00
我的想法是内网建个代理( ss server 或者 ssh -D ),这个代理服务器连联通,默认路由连电信,然后浏览器装代理切换扩展来管理。如果是软路由可以虚拟化;如果用 arm 或者 mips 的路由,可以买两个便宜的,也可以在自己电脑上再虚拟一个路由。
woyaojizhu8
2016-09-29 19:39:32 +08:00
哦,看错了,原来联通是用来挂梯子的,那我的操作是多余的了。可惜删不了回复,忽略我吧。
fool
2016-12-17 09:31:44 +08:00
@qq316107934

你好,请问你现在的负载均衡是对每个连接走不通线路的负载吗,如果一个客户端在 wget 下载某个大文件,那它的流量能同时走两条链路吗?

网络情况是,学校内,某私有网段,想在笔记本上创建多个 macvlan 虚拟接口结合 namespace 做软路由

目前的问题是,如果是访问网页是可以负载的,但下载与视频并不可以
fool
2016-12-17 10:04:49 +08:00
不过我觉得这样是有问题的,因为我还要经过一次 nat ,另外我是用 iptables ntb 分流的
qq316107934
2016-12-17 12:13:29 +08:00
@fool 我最后购买了 x86 路由器,然后采用了会话分流(原 ip+目的 ip+端口做标识)。因为我的环境是不同运营商,若按照数据包分流效果会很差。大概你是想校园网多拨吧,按照数据包来均衡可以达到单线程负载均衡,但是不推荐... 挂 qq ,玩游戏和一些实时性比较强的程序会出问题。建议还是使用按连接均衡。

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

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

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

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

© 2021 V2EX