QCA4028软件平台启用双WAN指导
1 为何要启用双WAN
QCA4028的硬件方案,基板上部署了一个LTE模块插槽,同时又外留了一个USB3.0接口,因此,就可以在此硬件平台上调试基于LTE的双WAN,预期实现:
A 链路备份,在任意一个LTE网络连接异常时,其下的有线/WiFi无线用户仍能持续接入上游网络;
B 负载均衡,尽量让上行流量均衡分配在2个LTE网络链路上,避免流量其中到单个LTE链路。
本文档中采用LTE模块为上海移远的EC2X模块,USB3.0的LTE模块转接板来自T宝,它自带了SIM卡槽。
2 具体操作
在QSDK软件工程代码中选中"muliiwan"组件,作为双wan的监护进程,它缺省是不启用的,非常好调试。在确保2个LTE模块都能成功保证WiFi用户上网后,再来调试双WAN功能更加有效。本次调试中发现EC系列的模块,它的wwanX接口的MAC地址是随机的,每次都不一样,此外,2个wwan接口的MAC地址还是一样的,开始调不通时为这个折腾了好久,后来才发现MAC一样对用户上网也没有关系(这个问题可能会埋伏了深层BUG,有待持续改进)。
mutliwan在同QSDK的配合中,发现提取不到网卡的IP地址和网关地址,导致错误将2个WAN链路都定位为offline,从而会出现将resolv.conf.auto清空,将default gateway条目删除掉,导致无法上网。规避方法是:在acquire_wan_data中,在ipaddr和gateway都为x后,再直接到网卡上取ip和gw值。WiFi用户上网时,会发现打不开页面或网站的情况,这个是因为QSDK固件中用了dnsmasq,而它需要真实的DNS配合进行解析,refresh_dns中频繁地清空resolv.conf.auto文件,可能会导致dnsmasq工作异常,规避方法是:不让refresh_dns频繁操作resolv.conf.auto,而改为操作一个新临时文件,只有当这个新临时文件不为空,且与现有的resolv.conf.auto不同时,再将新临时文件替换resolv.conf.auto,并重启dnsmasq,这样就稳定了。此外,针对monitor_wan,其现有实现对LTE网络是不适合的,因为LTE网络可能已经断开了,但IP和网关却依旧存在的,所以,这里需要让它每次都进入add_task,要不在人工将某个wan口down下来后,监控进程都不处理,导致WIFi用户上网失败。
另一方面,就是WAN口的up需要重新优化,在QSDK中,如果不启用multiwan服务,则缺省路由是后启动网卡所对应的缺省路由,且只有一条缺省路由条目,导致你将这个唯一的缺省路由网卡关闭后,WiFi用户就上不了网。这个不是multiwan引入,但也需要规避。可以在定期任务中检查route条目来解决,检查缺省路由条目和带UH标识条目,确保他俩一样即可。但multiwan确实还是引入了问题的,其一:运行中关闭multiwan服务后,会将default路由条目删除掉,导致用户无法上网;其二:WAN接口上线成功后,不会更新dns和缺省路由条目,但它明明检测了新wan口,且状态是online了。规避方法是:在multiwan被stop后,重构路由条目(也可在定时任务中检测路由条目);在网卡更新IP后,立即重启multiwan服务。但重启multiwan服务它会重构路由表,可能会导致ping包时延波动或丢包,游戏用户可能会影响体验。
3 验证结果
- 路由信息表



- 页面显示双WAN正常

- 负载均衡显示有效

4 结论
利用Multiwan来实现双WAN管控是可行的,具体使用时,还需要为目标环境进行简单修改,可能无法做到拿来即可用。
QCA4028软件平台启用双WAN指导的更多相关文章
- 新手教程:电信+广电(或其他运营商)双WAN设置
由于国内不同运营商之间互联互通存在问题,假如用联通的线路去访问电信的站点那么会比较卡,反之亦然:所以如果两个WAN的线路不是同一个运营商,一般都是建议用户双WAN模式选为“智能路由”.经过本人测试发现 ...
- 金蝶K3 V12.2版本,中途启用双计量单位出现错误
忘记修改虚仓库存/收料通知单的双计量数量
- ubuntu虚拟机启用双网卡IP配置
首先要登入自己的虚拟机,这里以ubuntu为例. 配置两块网卡,一块eth0为NAT模式,另一块为eth1仅主机模式 # 进入网卡配置页面vi /etc/network/interfaces # Th ...
- Pandorabox(Openwrt) 双宽带(WAN) 叠加网络实战
准备 一台已经刷好Pandorabox(Openwrt)的路由器.两条宽带 实战环境 固件:PandoraBox R8.1.12 By Lean 硬件:K2P A1版 过程 配置VLAN 为了将一个L ...
- C# 控件双缓冲控制 ControlStyles 枚举详解
ControlStyles 枚举 .NET Framework 4 指定控件的样式和行为. 此枚举有一个 FlagsAttribute 特性,通过该特性可使其成员值按位组合. 命名空间: Sy ...
- 启用VSFTPD日志及其解读
启用vsftpd日志及其解读(转贴)在vsftpd.conf中有如下内容定义了日志的记录方式:# 表明FTP服务器记录上传下载的情况xferlog_enable=YES# 表明将记录的上传下载情况写在 ...
- 业余草双因素认证(2FA)教程
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤.密码是最常见的认证方法,但是不安全,容易泄露和冒充.越来越多的地方,要求启用双因素认证(Two-factor au ...
- 双因素认证(2FA)教程
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤. 密码是最常见的认证方法,但是不安全,容易泄露和冒充. 越来越多的地方,要求启用 双因素认证(Two-factor ...
- 【MFC】MFC绘图不闪烁——双缓冲技术
MFC绘图不闪烁——双缓冲技术[转] 2010-04-30 09:33:33| 分类: VC|举报|字号 订阅 [转自:http://blog.163.com/yuanlong_zheng@126/ ...
随机推荐
- ThreadLocal就是这么简单
前言 今天要研究的是ThreadLocal,这个我在一年前学习JavaWeb基础的时候接触过一次,当时在baidu搜出来的第一篇博文ThreadLocal,在评论下很多开发者认为那博主理解错误,给出了 ...
- nyoj 背包问题
背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w< ...
- Microsoft dynamic sdk中join应该注意的问题.
QueryExpression queryNextSeq = new QueryExpression { EntityName = "ep_prodoperationsequence&quo ...
- 用anaconda安装最新的TensorFlow版本
Google发布了TensorFlow1.4正式版 在anaconad搜索依旧是1.2的版本,通过一番查阅,找到了方法 1,打开anaconda-prompt 2,激活你要安装的环境 activate ...
- Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(下篇——多页面VueSSR+热更新Server)
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(下篇--多页面VueSSR+热更新Server) @(HTML/JS) 这是Vue多页面框架系列文章的第二篇,上一篇(纯前 ...
- Jquery blokckUI 快速入门
$("#btnSubmit").click(function() { $.blockUI({ message : $("#loginForm"), css : ...
- Linux知识积累(3)$()和${}和$(())和(())
$()和${}和$(())和(()) $()和${}的用法:在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的.而 $( ...
- linux ubunt 安装软件的前期准备——更新源的更换
如果是高手,请翻到页面最下方,更换更新源的总结,直接操作即可 可能会优点啰嗦,但是认真看,一定能解决问题~~希望对大家有帮助~ 最近在熟悉linux环境,自己安装了一个ubuntu虚拟机. 很多朋友问 ...
- linux环境安装mysql,以及mysql基本的终端操作命令
linux环境下安装mysql服务器.客户端mysql简单的终端操作指令(使用数据库.简单的增删改查和备份恢复)1 SQL: Structured Query Language 结构化查询语言. 运用 ...
- Excel as a Service —— Excel 开发居然可以这么玩
前言 据不完全统计,全世界使用Excel作为电子表格和数据处理的用户数以十亿计,这不仅得益于它的使用简便,同时还因为它内置了很多强大的函数,结合你的想象力可以编写出各种公式,并可快速根据数据生成图表和 ...