负载均衡实现多宽带的带宽叠加,并非1+1=2的效果。负载均衡的策略有很多,如对于用户数很多的局域网,可对不同客户端分配不同的出口链路(同一客户端只有同一出口链路),这样可以使多个出口链路负载程度更为均衡,充分利用各出口链路带宽。对于用户数很少的局域网,可以为不同的网络协议或不同的目的地址等分配不同的带宽,实现近似的“网速叠加”,但对于单一用户/协议/链接等而言,带宽是不可叠加的。

  因此,负载均衡实现的带宽叠加,只适用于多线程任务,如各类p2p下载业务等,对于浏览器的单线程下载,也是不可进行带宽叠加的。此外,对于网银等HTTPS应用,多带宽负载均衡容易导致源IP不同的问题,使得服务器判定为风险链接而对其阻断,因此可为HTTPS业务分配指定的出口链路。

目录

一、安装MWAN3应用

二、配置MWAN3

1. 接口配置

2. 成员配置

3. 策略配置

4. 规则配置

三、验证负载均衡


一、安装MWAN3应用

  登录OpenWrt的Web管理后台,选择 “系统->Software(软件)”菜单,在 “Filter” 中输入mwan3,在软件列表中,选择名为 “luci-i18n-mwan3-zh-cn” 的应用进行安装(图7)。注:若搜索不到任何软件,请先在 “操作” 中点击 “Update lists”,来更新软件列表。更新时,需确保OpenWrt能正确访问广域网,即:在 “网络->接口” 中,至少需要有一个接口能成功连接至广域网。

图7 mwan3软件中文版安装

二、配置MWAN3

1. 接口配置

  安装完毕后,刷新浏览器,在顶部菜单栏中,进入 “网络-> 负载均衡(load balancing)” 菜单,选择 “接口” 选项卡,在MWAN接口列表中,删除所有默认接口。并在下方 “新增” 处(图8),输入接口名称(wan0~wan7,注意:接口名称必须与 “网络->接口” 页面配置的接口名一致),单击回车按键。注意:使用MWAN3策略的各接口网关跃点必须不同。

  在新的页面中(图9),勾选 “已启用” 选项,启用wan0的mwan3接口,点击右下角的 “保存” 按钮,并返回至概览(图8)页面。

  重复上述步骤,依次添加名为wan0~wan7共8个mwan3接口。全部添加完毕后,在接口概览页面,点击右下角的 “保存并应用” 按钮。

图8 mwan3接口新增

图9 mwan3接口配置

2. 成员配置

  切换至 “成员” 选项卡,删除所有现有成员,并在左下角 “新增” 处,输入成员名称 “wan0_m1_w1”(其中,m1表示跃点数为1,w1表示权重为1,并非一定要按此格式命名,也可自行命名),单击回车按键。

  在弹出的成员配置页面,输入跃点数和权重。如果希望均匀分配wan0~wan7八个出口链路,则每个成员的跃点数和权重均设置同样的值(如1)即可。

  编辑完成后,点击右下角 “保存” 按钮,并返回值概览。

  重复上述步骤,依次添加wan0_m1_w1~wan7_m1_w1共8个成员。全部添加完毕后,在成员概览页面,点击右下角的 “保存并应用” 按钮。

3. 策略配置

  切换至 “策略” 选项卡,删除现有策略。在左下角 “新增” 处,输入策略名(如wan_balance),单击回车按键。在新弹出的策略配置页面中,为该策略添加成员(图10)。添加完毕后点击右下角 “保存并应用” 按钮。

图10 mwan3策略配置

  若希望HTTPS等特殊连接走单一出口链路(如wan2链路),也可自行添加(如名为wan2_only)的策略,该策略仅加入wan2_m1_w1一个成员。

4. 规则配置

  规则配置为mwan3的最顶层配置,在该配置中,可指定某种规则以采用某种策略。如规则指定为 “https协议” 时,采用wan2_only策略,由于此策略仅有wan2_m1_w1一个成员,即只有wan2一个出口。

  切换至 “规则” 选项卡(图11),可选择自行添加规则,或直接对现有的default_rule_v4,default_rule_v6,https规则进行修改。

  在规则配置页面中,将 “分配的策略” 更改为希望采用的策略,如wan_balance。若希望自定规则,可自行更改 “互联网协议”,“源地址/子网”,“目的地址/子网”,协议等选项。

  全部配置完毕后,在规则概览页面,点击右下角的 “保存并应用” 按钮。完成负载均衡的所有配置。

图11 规则选项卡

三、验证负载均衡

  若采用PPPoE上网方式拨号上网,至此便以完成所有配置。可访问测速网站进行测速,查看负载均衡实现的带宽叠加效果。也可以使用迅雷等P2P下载软件通过下载速度验证叠加效果。注意:① 某些测速网站(如Speedtest)采用的HTTPS协议,若在2.2.4的规则配置中,为HTTPS协议指定了单一出口的策略,则此时测速的速度仅为那一个出口的速度。测速前可修改其策略。② 某些测速软件会对非会员用户限制下载速度,因此若下载速度过慢并不能表示之前的配置错误。

  若采用网页认证登录的方式(如校园网)登录宽带账户,则可以:

  ① 在MWAN3的接口配置页面(网络->负载均衡->接口),点击 “配置” 按钮,启用wan0接口,并停用其余接口,全部设置好后点击右下角 “保存并应用” 按钮。此时只有wan0一个出口链路,对应于vth0虚拟macvlan网卡。访问网页认证登录页面,完成该虚拟macvlan网卡的认证登录。

  ② 然后重复上述操作,依次启用wan0~wan7仅一个接口并停用其余接口,依次完成各虚拟macvlan网卡的认证登录。

  ③ 全部接口认证登录完毕后,开启所有接口,然后点击 “保存并应用” 按钮。即可实现负载均衡进行网络连接。

  后续,将介绍针对网页认证登录宽带的用户,使用Shell脚本自动完成各虚拟macvlan网卡认证登录的方法。测速结果(图12~13)。

图12 单出口链路速度

图13 负载均衡叠加后的速度

多宽带联网(二) OpenWrt中利用MWAN3负载均衡实现带宽叠加相关推荐

  1. Linux服务器集群系统(三)——LVS集群中的IP负载均衡技术

     原文地址:http://www.linuxvirtualserver.org/zh/lvs3.html 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载 ...

  2. Ocelot(二)- 请求聚合与负载均衡

    Ocelot(二)- 请求聚合与负载均衡 作者:markjiang7m2 原文地址:http://letyouknow.net/ocelot/ocelot-tutorial-2.html 源码地址:h ...

  3. OPENWRT MWAN3 负载均衡验证

    已经配置好两个WAN口,一个是物理WAN口,在配置文件中名为wan,另一个是偷楼上的无线做中继的WLAN0口,在配置文件中名为wwan. 权重为各50%. 按官方的说法[OpenWrt Wiki] m ...

  4. Linux服务器集群系统(二)—— LVS的IP负载均衡技术

    一.通过NAT实现虚拟服务器(VS/NAT) 1.客户通过Virtual IP Address(虚拟服务的IP地址)访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台 ...

  5. Nginx系列篇二:linux搭建Nginx负载均衡

    建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...

  6. ASP.NET中如何实现负载均衡

    ASP.NET站点中做负载均衡: 基于HTTP协议我们可能发现我们要解决两点问题: 第一,做到负载均衡,我们需要一个负载均衡器. 可以通过DNS轮询来做,在DNS服务器上配置为每次对我们做负载均衡的同 ...

  7. 网页加载出现没有合适的负载均衡器_gRPC实战--Kubernetes中使用envoy负载均衡gRPC流量...

    许多刚刚接触gRPC用户或是刚刚把gRPC服务部署到kubernetes中感到惊讶的是,发现Kubernetes的默认负载均衡通常无法与gRPC一起使用.例如,当您使用一个简单的gRPC Node.j ...

  8. mysql lvs 读写分离_mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)

    mysql主从复制与lvs+keepalived实现负载高可用 目录 1.前言    4 2.原理    4 2.1.概要介绍    4 2.2.工作原理    4 2.3.实际作用    4 3方案 ...

  9. 企业级负载均衡解决方案之二:美团点评四层负载均衡解决方案MGW

    一.前言 在互联网厂商业务不断扩展之后,多种服务的入口会导致接入流量的剧增,所以多数基于IPVS或者Nginx等初级负载均衡技术的早期方案都会面临故障或者失效,所以就像google开发meglev一样 ...

  10. lvs加MySQL读写分离_mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)

    mysql主从复制与lvs+keepalived实现负载高可用 文件夹 1.前言    4 2.原理    4 2.1.概要介绍    4 2.2.工作原理    4 2.3.实际作用    4 3方 ...

最新文章

  1. Qt控件如何随着界面自适应变化
  2. SQL Server中自定义函数和游标应用的经典案例
  3. (卓今京)Java 基础
  4. Glassfish3 asadmin 常用命令
  5. AtCoder Beginner Contest 072
  6. Tomcat 总体结构
  7. python alter table_python(pymysql)之mysql简单操作
  8. Digit sum【暴力+打表】
  9. iPhone销售额第四财季同比下滑21% 苹果市值蒸发约千亿美元
  10. python3装饰器例子_Python装饰器几个有用又好玩的例子
  11. SVN:retrieval of mergeinfo unsupported by
  12. 被阿里带火的数据中台,不靠这三个阶段绝对失败
  13. 医疗物联网行业调研报告 - 市场现状分析与发展前景预测
  14. HAUT 1285: 军团再临【并查集*逆向思维】
  15. 注册表-隐藏快捷图标斜箭头
  16. Frp内网穿透——frps服务端部署
  17. 熟女最经典的幸福语录
  18. 如何解决windows10 默认浏览器为不是Microsoft Edge(或者想改动)时出现闪退,且改动失败
  19. Re 从零开始的C++之路(四)容器和迭代器
  20. Spark的RDD的弹性体现在什么地方?------面试题

热门文章

  1. bmon 带宽监视器
  2. Httpwatch中http状态码列表
  3. Arduino Pro IDE,你终于长大了!
  4. 整理一个将qq音乐的歌单导入到苹果音乐中的方法
  5. Java学习路线全过程(包含视频及图书资源)
  6. 20200528 前端开发日报
  7. 关于使用canvas时fillRect添加矩形高度问题
  8. 【小区物业管理系统——开题报告 分享(仅供参考呀)】
  9. Miracle - Database Knowledge center
  10. 使用js实现textarea文本域长度,限制输入字数并统计剩余输入字符数