Wailim的个人博客

Study | Play | Think | Share

Wi-Fi 6初体验——AX86U一周使用小结

家里用了几年的华硕RT-AX66U,一直表现还可以,直到618来临前几天突然挂掉了,无法连接Wi-Fi,也无法通过有线连接。通过控制变量法我排除了光猫侧、墙壁网口侧以及终端侧的问题,只能判定路由器出问题了(此处有一伏笔)。于是开始着手新路由器选型,此处按下不表,反正最后经过对比还是选了华硕家里的产品——RT-AX86U。既然2020年是Wi-Fi 6的开局之年,那新路由器自然是要支持Wi-Fi 6协议的。

开箱

618期间,AX86U也算有些优惠,到手¥1499.00,当然后面还有没有更低价我也不关心了,毕竟是立马需要用的。6月20日晚差不多9点钟了,京东快递小哥送上门了(点赞,本来以为太晚了可能要延到第二天再派送的)。

撕开包裹,嚯——这包装盒真够大的!
AX86U包装盒

AX86U摆放

路由器配置

这台路由器的参数就不多作介绍了。讲讲配置方面,因为之前那台AC66U莫名频繁断线的缘故,上网搜了下相关解决方案,看到一篇华硕AC86U路由器最佳设置 来解决5G信号断流的问题,于是也照着这个教程对AX86U进行如下针对性的设置:

  1. 分别对2.4GHz和5GHz配置无线模式和频道(注意5GHz这里开启AX模式以支持Wi-Fi 6)
  2. 关闭WAN中断通知和2.4GHz的漫游助手功能
  3. 设置路由器地区为美国澳大利亚,前者信号更为稳定、后者发射功率更大

2.4GHz

2.4GHz配置

5GHz

5GHz配置

旧物利用

前面的伏笔是说在AX86U设置成功之后,准备收起换下来的AC66U的时候,我临时决定再试一下是不是这台路由器真的坏掉了。于是乎我换了一个网口接上AC66U的WAN口,然后拿了台笔记本接到LAN口上——它又能连接上网了…嗐!既然这样,那就让它继续发挥余热吧。把AC66U恢复成出厂设置,然后设置为无线中继模式,丢到书房里扩展AX86U无线信号。

Wi-Fi 6对比

目前家里唯一支持Wi-Fi 6的设备就是手上在用的iPhone 11了,拿它跟iPhone 7P用SpeedTest测速做了一下对比,发现还是速度提升还是比较明显的。
测速对比

稳定性

使用了一周下来,在不同时间、不同地点陆陆续续测了不少次速度,基本还是能维持在一个不错的上下行水平上的。

一周测速排行

网速优化

之前在软路由上部署了Adguard Home,虽然看着拦截数据越来越多,但是对速度提升没有明显感觉。在恩山论坛这篇帖子里对比Adguard Home和Pi-hole的优缺点,ADH去广告+Pi-hole净化DNS的搭配可能效果更好。这次趁着换路由器折腾,决定顺便装一个Pi-hole用用。

Pi-hole简介

Pi-hole是一款开源且免费的DNS沉洞服务器DNS sinkhole),能够在不安装任何客户端侧软件的前提下为设备提供网络内容屏蔽服务,非常轻量易用。搭配上家中吃灰已久的树莓派,我们就能够轻松打造属于自己的广告屏蔽助手。
Pi-hole官网的介绍中,Pi-hole 主要具有以下优点:

  • 易于安装和配置(号称10分钟安装配置一条龙)
  • 全平台,广告屏蔽服务可作用于任何设备,包括PC、手机、平板电脑
  • 轻量,对硬件要求极低
  • 功能稳定且强大,能轻松 hold 住百万级别的请求
  • 提供了美观的 Web 数据监控仪表盘
  • 开源且免费

Pi-hole安装

本来想把闲置的树莓派用起来,但是安装Pi-hole时卡在php5_xmlphp5_intl两个依赖包上了,也没找到很好的教程(后续再来填这个坑)。于是决定在NAS上通过Docker部署Pi-hole。在NAS安装也比较简单:

首先需要在Docker里搜索Pi-hole镜像下载下来,然后进行相关配置。
Pi-hole镜像

  1. 端口需要配置两个53端口和一个自定义端口(不冲突即可)。如果53号端口提示有冲突,需要关闭NAS的DNS Server套件
    Pi-hole配置端口

  2. 在File Station里面创建两个文件夹,与Docker镜像的卷进行关联
    Pi-hole卷配置

  3. 配置如下几个环境变量
    Pi-hole环境变量

配置完成后,等待几分钟后在浏览器打开http://ServerIP:Port/admin 并登陆,即可看到下面的Pi-hole主界面
Pi-hole主界面

Pi-hole配置

路由器DNS配置

需要将路由器的DNS Server指向Pi-hole。登录路由器管理后台后,选择”内部网络(LAN)” - “DHCP服务器”,并将DNS Server配置为NAS的IP地址即可。
DNS配置

拦截规则配置

这部分,除了默认提供的拦截列表之外,在网上搜到一个由罗罗磊磊提供的adblock.host脚本,直接加载到BlockList里面并更新即可。
adblock脚本

adblock脚本配置

部署完之后网页加载速度确实流畅了很多,真香!来一个传统艺能:油管4K视频「压力测试」
Youtube_4K_1

Youtube_4K_2

利用Frp内网穿透访问Beancount账本

前言

利用Beancount记账已经小半年了,最开始是在电脑上手写Beancount文件,在局域网内运行Fava命令生成可视化记录。后来觉得日程诸多零散消费流水,如果不实时记录,而是积攒下来统一到电脑上更新账本,即使日更这工作量也有点大。如果某天的消费特别多,光是翻消费记录也有点繁琐。

后来在beancount交流群看到一个哥们分享了一个iOS捷径,可以比较方便地将账目写入iCloud文件里,试了一下倒还是不错,但是我只创建了几个高频的消费门类的捷径(如一日三餐、固定缴费这种)

方案组合

于是我在想能不能把Fava部署到NAS上,并通过外部访问的方式,实现随处可记可看账本(Fava本身有添加新条目的功能)。调研了一圈下来,形成了以下解决方案:

确定了上面的这个方案组合之后,就依次启用各个服务并进行配置。

在NAS上部署fava docker

fava docker镜像安装

在nas里打开Docker直接在注册表中搜索fava,第一个就是yegle/fava,右键直接下载该镜像。

nas docker安装

fava配置

fava的配置分为3个部分

  • 端口配置:yegle/fava的端口设置是自动分配的
  • 地址配置:将NAS上存放Beancount文件的文件路径homes/xxx/Sync/Beancount,并指向容器的装载路径/Beancount
  • 环境变量:BEANCOUNT_FILE设置为/Beancount/main.bean

yegle/fava配置

完成上面的配置即可在局域网环境下浏览器中输入192.168.xxx.xxx:port来打开beancount账本浏览。
顺便说一句,利用NAS的同步功能,可以将上面的homes/xxx/Sync/Beancount与本地PC上的Beancount目录建立双向同步,保持两边账本数据一致。这样无论是在PC端访问fava账本还是外部通过fava docker访问账本效果是一样的。

Frp内网穿透实现外网访问

与上面链接中给的教程稍有不同的是,我的Frp客户端是部署在软路由上的,不过大同小异。关于软路由我就不在这里赘述了,简单提一句是用的斐讯N1盒子刷的Openwrt R20.5.20固件,内置了Frp服务。

Frp需要分别配置服务端和客户端。

服务端配置

服务端我一开始是选用了一台HK本土的VPS,部署完成之后让一个朋友试了一下访问NAS的效果,反馈图片加载还是略慢。于是我就换了一台阿里云轻量服务器,实测下来在4G网络下可以比较流畅地观看DS File里面的视频,那应该非常ok了。如果对访问速度要求比较高的话,可能需要在VPS选择上下点功夫,尤其是高频访问图片/视频等文件

在服务端安装好Frp软件包,修改frps.ini配置并运行

1
2
3
4
5
6
7
8
9
10
11
[common]
bind_port = 7777
dashboard_port = 7750 # 配置Frp看板的端口
token = xxxxxx
dashboard_user = xxxx
dashboard_pwd = xxxx
vhost_http_port = 80
vhost_https_port = 443

# 启动 FRP 服务端
$ ./frps -c ./frps.ini

客户端配置

客户端由于Openwrt的固件集成了Frp服务,因此只需要在页面上填写相应的配置即可。

frpc配置

域名解析

配置好Frp服务端和客户端之后需要为fava的Http服务提供一个域名映射到公网IP。我之前闲置的域名在这里派上用场了,只需要在Cloudflare上添加 域名A 记录解析到VPS公网IP上,并添加一个用于fava访问的二级域名A记录。

创建好二级域名之后,在Frp客户端内添加一个fava服务,并配置好用户名和密码以提升访问安全。

fava二级域名配置

完成上面的配置,此时就可以在外网环境下访问家中部署在NAS上的fava服务了,在浏览器中输入fava二级域名会弹出一个登陆窗口。
fava登陆

在4G环境下验证访问fava成功
4G网络访问fava