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/ ...
随机推荐
- STM32F4系列单片机上使用CUBE配置MBEDTLS实现pem格式公钥导入
|版权声明:本文为博主原创文章,未经博主允许不得转载. 最近尝试在STM32F4下用MBEDTLS实现了公钥导入(我使用的是ECC加密),整个过程使用起来比较简单. 首先,STM32F4系列CUBE里 ...
- JAVA_SE基础——17.方法的重载
方法重载: 方法重载就是方法名称重复,加载参数不同. 具体规范: 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体. 1.如果参数个数不同,就不管它的参数类 ...
- 剑指offer-两个链表的第一个公共节点
题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 分析可得如果两个链表有公共节点,那么公共节点出现在两个链表的尾部,即从某一节点开始,两链表之后的节点全部相等.可以首先遍历两个链表得出各自 ...
- Python内置函数(55)——globals
英文文档: globals() Return a dictionary representing the current global symbol table. This is always the ...
- Python3 re模块(正则表达式)
一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. (在Python中)它内嵌在Python中,并通过r ...
- GIT入门笔记(17)- 创建分支dev_lsq, 提交到代码
git服务器上默认的已经有主干和test分支. 开发人员提交代码流程如下: 1.用switch to->new branch创建dev1分支 2.push branch提交到dev1分支 3.在 ...
- 人工智能算法综述(二) RNN and LSTM
接上一篇 :AI算法综述 (一) RNN:循环神经网络 and LSTM 长短期记忆网络 LSTM就是一个RNN网络,外部的结构是一样的,主要是单元的内在结构不同.或者说LSTM是为了让RNN能够更好 ...
- python 进程 线程
进程 线程 操作系统 为什么要有操作系统? 操作系统:操作系统是一个用来协调,管理和控制计算机硬件和软件资源的系统程序.位于底层硬件与应用软件之间 工作方式:向下管理硬件 向上提供接口 切换 1.出现 ...
- uvalive 3602 DNA Consensus String
https://vjudge.net/problem/UVALive-3602 题意: 给定m个长度均为n的DNA序列,求一个DNA序列,使得它到所有的DNA序列的汉明距离最短,若有多个解则输出字典序 ...
- CSS Box Model 盒子模型
1. 介绍 1.1 什么是 Box Model 在HTML中的每个element(元素)都可以看作一个矩形的盒子,矩形从内到外依次由元素的内容(content).内边距(padding).边框(bor ...