Openwrt 18.06 路由芯片:QCA9531 4G模组:EC200A
编写该文目的:对比同行产品,发现简单搭建的组合(QCA9531+EC200A)跑的网速不太稳定,并且速率也没有同行的高
DNS是域名系统,更贴切说,域名解析并且路由的管理系统。例如: 百度,如果使用百度真实IP那么设备就可以更直接的访问百度,但是百度IP不容易记住,故产生百度域名(baidu.com)。设备需要访问百度域名,则需要通过DNS域名系统,去找到百度IP。
除了本身设备的带宽,以及访问点内部因素,以及访问内容大小外,还有就是访问路径优化(也就是DNS优化) 有兴趣的朋友可以B站搜索:SmartDNS教程
例如:访问知乎第一次打开时候就会产生DNS时间(别小看这100多ms,因为有时候一个网站需要很多其它子网站,或者时间久了重新请求DNS)
第二次访问(9us)
DNS服务插件不是越多越好,DNS服务器插件开启多个可能会有冲突
官网:https://pymumu.github.io/smartdns/
SmartDNS 是一个运行在本地的 DNS 服务器,它接受来自本地客户端的 DNS 查询请求,然后从多个上游 DNS 服务器获取 DNS 查询结果,并将访问速度最快的结果返回给客户端,以此提高网络访问速度。 SmartDNS 同时支持指定特定域名 IP 地址,并高性匹配,可达到过滤广告的效果; 支持DOT(DNS over TLS)和DOH(DNS over HTTPS),更好的保护隐私。
与 DNSmasq 的 all-servers 不同,SmartDNS 返回的是访问速度最快的解析结果。
下载网站入口:https://pymumu.github.io/smartdns/download/
历史版本下载网站:https://github.com/pymumu/smartdns/releases
说明:
如果openwrt 版本高于19.07 则安装
opkg install smartdns.1.yyyy.MM.dd-REL.xxxx.ipk
opkg install luci-app-smartdns.1.yyyy.MM.dd-REL.all.ipk
如果openwrt 版本低于19.07 则安装
opkg install smartdns.1.yyyy.MM.dd-REL.xxxx.ipk
opkg install luci-app-smartdns.1.yyyy.MM.dd-REL.all-luci-compat-all.ipk
因为环境openwrt18.06 故需要luci-compat。另外QCA9531是mips架构,故下载:
smartdns.1.2023.03.04-1125.mips-openwrt-all.ipk
luci-app-smartdns.1.2023.03.04-1125.all-luci-compat-all.ipk
创建相关目录,mkdir feeds/packages/net/smartdns -p
将https://github.com/pymumu/openwrt-smartdns 该文件下载拷贝到该目录
创建相关目录
mkdir feeds/luci/applications/luci-app-smartdns -p
将https://github.com/pymumu/luci-app-smartdns 该文件下载拷贝到该目录
注意:(由于我openwrt版本18.06故选择 lede分支)
仓库分为两个分支
master分支为openwrt 19.07之后版本使用,此版本基于javascript。
lede分支为lede分支使用, 此版本基于lua。
./scripts/feeds install -a
更新错误
fatal: unable to access 'https://git.openwrt.org/openwrt/openwrt.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
解决办法:(关闭ssl验证)
git config --global http.sslVerify "false"
然后配置 make menuconfig
network --->
<*>smartdns
Luci --->
2. Modules --->
-*- luci-compat (由于openwrt18.06版本,需要添加这个兼容。19.07版本前都需要这个)
3. Applications --->
<*> luci-app-smartdns
然后make V=s -j8
在设备中,smartdns配置文件存放 /etc/config/smartdns
后续可以将优化配置文件拷贝放到openwrt源码中: package/base-files/files/etc/config
上游DNS服务器,可以通过百度搜索 公共DNS服务器
公共DNS服务器:https://dnsdaquan.com/
注意:
不是配置越多越好,因为运行过多会导致卡顿,一般只配公共DNS服务器
不是配置的越近越好,因为地方性DNS服务器,虽然距离短但是不稳定,导致某些网站访问不了
config smartdns
option server_name 'smartdns'
option port '53'
option auto_set_dnsmasq '1'
option tcp_server '1'
option ipv6_server '1'
option bind_device '1'
option dualstack_ip_selection '1'
option serve_expired '1'
option cache_persist '1'
option resolve_local_hostnames '1'
option force_aaaa_soa '1'
option force_https_soa '1'
option rr_ttl_min '600'
option seconddns_port '6553'
option seconddns_tcp_server '1'
option seconddns_no_speed_check '0'
option seconddns_no_rule_addr '0'
option seconddns_no_rule_nameserver '0'
option seconddns_no_rule_ipset '0'
option seconddns_no_rule_soa '0'
option seconddns_no_dualstack_selection '0'
option seconddns_no_cache '0'
option seconddns_force_aaaa_soa '0'
option coredump '0'
option enable_auto_update '0'
option enabled '1'
option prefetch_domain '1'
option cache_size '30000'
option old_port '53'
option old_enabled '1'
option old_auto_set_dnsmasq '1'
config domain-rule
option no_speed_check '0'
option force_aaaa_soa '0'
config server
option enabled '1'
option type 'udp'
option name '114DNS'
option ip '114.114.114.114'
config server
option enabled '1'
option type 'udp'
option name 'DNSPod-DNS+'
option ip '119.29.29.29'
config server
option enabled '1'
option type 'udp'
option name 'dnsP'
option ip '101.226.4.6'
config server
option enabled '1'
option type 'udp'
option name 'dnsUnicom'
option ip '123.125.81.6'
config server
option enabled '1'
option type 'udp'
option name 'cnnicDNS'
option ip '1.2.4.8'
config server
option enabled '1'
option type 'udp'
option name 'GoogleDNS'
option ip '8.8.8.8'
config server
option enabled '1'
option type 'udp'
option name 'CloudflareDNS'
option ip '1.1.1.1'
config server
option enabled '1'
option type 'udp'
option name 'IBMdns'
option ip '9.9.9.9'
config server
option enabled '1'
option type 'udp'
option name 'DNS.SB'
option ip '185.222.222.222'
config server
option enabled '1'
option type 'udp'
option name 'OpenDNS'
option ip '208.67.222.222'
config server
option enabled '1'
option type 'udp'
option name 'aliyunDNS'
option ip '223.5.5.5'
config server
option enabled '1'
option type 'udp'
option name 'tencentDNS'
option ip '183.60.83.19'
config server
option enabled '1'
option type 'udp'
option name 'baiduDNS'
option ip '180.76.76.76'
config server
option enabled '1'
option type 'udp'
option name 'microsoftDNS'
option ip '4.2.2.1'
config server
option enabled '1'
option type 'udp'
option name 'huaweiDNS'
option ip '122.112.208.1'
config server
option enabled '1'
option type 'udp'
option name 'zhonghuaDNS'
option ip '168.95.192.1'
config server
option enabled '1'
option type 'udp'
option name 'hongkongDNS'
option ip '203.80.96.10'
由于openwrt的最初配置按照比较保守方式配置,故需要调整无线配置
总结
1. 最大吞吐量11n > 11g > 11b
2. 最大单流速率 11n > 11g > 11b
3. 11n可以支持多天线,而 11g与11b只支持单天线
4. MCS编码区域11n > 11g > 11b
802.11a/b/g/n/ac/ax协议是什么
对于无线通信技术,提高吞吐量的最直接方法,就是提高频谱的宽度。
对于IEEE 802.11n协议,每个信道的频宽为22MHz,为了减少相邻信道的干扰,两侧预留1MHz的带宽边界。所以有效频宽为20MHz,最大的吞吐量为72.2 Mbps。
通过HT40技术, 将相邻两个频宽为20 MHz的信道绑定起来,预留的带宽也可以用来通讯。子载体将从104(52×2)提高到108。因此,HT40 的最大吞吐量为:72.22108/104 = 150Mbps。
IEEE 802.11协议的频宽
IEEE 802.11a/b/g 使用的频宽是20MHz。
IEEE 802.11n 的频宽模式:HT20 和 HT40。
HT20(兼容性):如果存在802.11 b/g的信号,为了减少干扰,需要设定为HT20,以减少频带的重叠。
HT40(高性能):HT40相当于捆绑两个HT20,主信道发送beacon报文和部分数据报文,辅信道发送其他报文。
IEEE 802.11ac 的频宽模式:HT20,HT40,HT80,HT160。
openwrt源码中802.11 脚本:package/kernel/mac80211/files/lib/wifi/mac80211.sh
openwrt官方配置:mode_band=“g”
mode_band="n" 或者 mode_band="ng" 选择的9531模组在11n的最大发射功率16dBm 如果在切换发射功率时会改变hwmode=11g
uci -q batch <<-EOF
set wireless.radio${devidx}=wifi-device
set wireless.radio${devidx}.type=mac80211
set wireless.radio${devidx}.channel=auto # 信道自动获取
set wireless.radio${devidx}.hwmode=11${mode_band} # 硬件模式 合法值:11a 11b 11g 11na 11ng
set wireless.radio${devidx}.txpower=20 # 发射功率
set wireless.radio${devidx}.country=CN # 国家代码 遵循国家无线电发射功率标准最大20dBm
set wireless.radio${devidx}.htmode=HT40 # 频宽 HT20 HT40
set wireless.radio${devidx}.legacy_rates=0 # 强制 40MHz 模式
set wireless.radio${devidx}.noscan=1 # 关闭扫描
${dev_id}
${ht_capab}
set wireless.default_radio${devidx}=wifi-iface
set wireless.default_radio${devidx}.device=radio${devidx}
set wireless.default_radio${devidx}.network=lan
set wireless.default_radio${devidx}.mode=ap
set wireless.default_radio${devidx}.ssid=UFI_$(cat /sys/class/ieee80211/${dev}/macaddress|awk -F ":" '{print $5""$6 }'| tr a-z A-Z)
set wireless.default_radio${devidx}.encryption=psk2
set wireless.default_radio${devidx}.key=12345678
set wireless.default_radio${devidx}.noscan=1
无线射频优化 有线侧网络优化 终端优化 (后续更新…)