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/ ...
随机推荐
- RxSwift 函数响应式编程
Max 在 Boston 上学,在 San Francisco 工作,是一名软件工程师及创业者.当他还在高中的时候就在一家创业公司工作了,他非常喜欢使用 iOS.Android 以及 JavaScri ...
- 微信支付get_brand_wcpay_request:fail
最近做了微信支付功能,和后端一起踩坑中,微信一直报错:get_brand_wcpay_request:fail 出现该问题的原因: 1.生成的sign签名有问题 2.支付授权目录配置有问题 在经过仔细 ...
- CISCO路由器练习
前言: 总结了昨天的学习和今天的单臂路由 写了今天的文章. 目录: 路由器的基本配置 单臂路由的练习 正文: 路由器基本配置 环境要求 cisco模拟器 2台交换机 2台PC 1台路由器 路由器介绍: ...
- Winserver+Apache+django部署
废话不多说,干活直接上. winserver2012 + django2.0.1 + apache 部署过程 python ==> 3.4 64位 https://www.python.org/ ...
- 【问题解决】jhipster-registry-master空白页
问题概述: 刚从github拉下来的jhipster-registry-master直接运行,访问http://localhost:8761会发现会空白页,但是网页的title显示正常,本文目的是解决 ...
- linux下的Shell编程(4)特殊的变量和占位符
$#表示包括$0在内的命令行参数的个数.在Shell中,脚本名称本身是$0,剩下的依次是$0.$1.$2-.${9},等等. $*表示整个参数列表,不包括$0,也就是说不包括文件名的参数列表. $?表 ...
- OAuth2.0学习(1-12)开源的OAuth2.0项目和比较
OAuth2.0学习(2-1)OAuth的开源项目 1.开源项目列表 http://www.oschina.net/project/tag/307/oauth?lang=19&sort=t ...
- Spring Security 入门(1-4-1)Spring Security - 认证过程
理解时可结合一下这位老兄的文章:http://www.importnew.com/20612.html 1.Spring Security的认证过程 1.1.登录过程 - 如果用户直接访问登录页面 用 ...
- mysql自带的example测试数据库导入Centos6.5
1.下载数据库 下载地址: [test数据库] (https://github.com/datacharmer/test_db) 不出意外的话,下载下来是个unzip文件. 2.上传到数据库服务器 r ...
- python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...