
杏川铭心的折腾日记:继续折腾软路由
在上一篇文章里(传送门:杏川铭心的折腾日记:树莓派、ImmortalWRT 和锐捷)我成功的搭建起了我的第一个软路由(不容易),虽说只有一个网口让它更像是个普通的 AP 而不是全功能的路由器,但好在我也没有能插网线的设备,并没有浪费的地方;而在经历了一段时间的磨合期后 ImmortalWrt 的一些奇奇怪怪的问题也消失了,虽然很玄学,但既然系统已经稳定下来了,那折腾别的玩法就是板上钉钉的事了。
大部分的功能都可以在 LuCI 的软件包界面中直接安装,配置起来也非常简单。

Vlmcsd
Vlmcsd 是一个模拟 KMS 服务器的程序,大部分的在线盗版 KMS 服务器一般都是用它搭建的。后台搜索 luci-app-vlmcsd 就可以安装了,当然也可以 SSH 登录路由器用 apk add 安装。功能上只有最基础的激活功能,并不像微软官方的批量激活服务那样支持在 DNS 服务器上发布 SRV 记录使客户端自动发现服务器并激活;虽然选项里有允许自动激活客户端的选项,但是设置后并没有自动激活客户端。
由于我现在主要以 MacBook 为主,另外两台用来折腾的 Surface,一台已经用了数字许可证激活,另一台干脆用的是 Linux,所以我装了台虚拟机进行测试。
需要手动设置 KMS 服务器:
slmgr.vbs /skms 192.168.1.1然后尝试激活即可,可以看到 Windows 设置里出现了“已经通过使用你所在组织的激活服务激活 Windows”的提示。

顺带一提 UTM 最新的测试版已经支持了 DX12,Feature Level 是 12_1,这下真的是拳打 Parallels 脚踢 VMware 了,除了有点小 Bug 外非常好用,期待有一天我可以把 Parallels 从我的电脑上卸载掉。(不过 UTM 到现在也没有文件拖放的功能,emmm 看起来也不能就这么卸掉)
SMB 共享
毕竟折腾盗版不太光彩,鉴于树莓派的性能十分强劲,加上我还有一块闲置的移动硬盘,我决定装个 Samba 玩玩,也就是 SMB 共享。
安装 luci-app-samba 即可。我还装了个硬盘休眠的软件,不过我这是 SSD,其实不需要休眠,我也就没有启用相关的设置。

勾选启用 macOS 兼容共享后,Mac 里就会把扫描到的路由器显示为一台“Mac”,不然就会显示成一台 PC。

由于 ImmortalWrt 正常是个单用户系统,没有方便的创建用户的工具(没错连 useradd 都没有),因此添加 SMB 用户的时候需要手动编辑 /etc/passwd 和 /etc/group 这两个文件;然后就可以用 smbpasswd 设置 SMB 密码了。
配置好共享文件夹,支持局域网发现的设备就可以连接上路由器了,比如我用的是自带的访达,就可以在“网络”标签页里看见路由器。

不过这样做有个小问题,目前我是用的 ImmortalWrt 自动挂载 USB 存储设备的功能,也就是使用的默认位置,/mnt/sda1 下的一个子目录作为共享目录,这样万一硬盘的设备名出现了变化,共享就炸了,因此接下来要固定挂载点。
固定挂载点当然就要用 UUID 了,用 blkid 查看 UUID 后,就可以添加挂载点了;直接在 LuCI 里就可以添加。当然如果你乐意,也可以编辑 UCI 配置文件 /etc/config/fstab,但不可以直接编辑 /etc/fstab。事实上如果你头铁的打开那么就会发现这个文件里啥也没有,说白了就是人家根本就不是普通 Linux,不能用这一套
我是选择挂载到了 /data 目录,默认是没有的,我用 mkdir 创建一个之后就可以挂载上去了。
如果没有自动识别到的话(比如我刚刚那个 Windows 虚拟机),也可以直接手动添加服务器。不过建议设置密码,macOS 我试过可以匿名登录,但是 Windows 默认情况下会禁用匿名登录的功能,这样就会很不方便。网上各种吐槽 Windows 共享个文件跟要你命似的,不知道为啥这么麻烦,其实都是因为没设置密码造成的;只要你设置了密码,那么 Windows 共享文件还是挺方便的。
扯远了,总之,我顺利的让 Samba 跑了起来,只是硬盘不算大(只有 250 GB),不然还可以尝试折腾一下 Time Machine

拦截广告
因为软路由同时也负责提供 DNS 服务,因此可以通过匹配域名的方式来拦截广告,不过更加高级的拦截,比如通过路径,甚至是网页元素,那就力不从心了,硬要做的话就需要进行 HTTPS 解密,过于麻烦,不符合在软路由上设置广告拦截的初心,还不如本地装个插件。
目前主流的 DNS 广告拦截器有好几装,其中有像 pi-hole 这种单独提供一个 DNS 服务的,也有直接使用已安装的 DNS 服务器的,其中 ImmortalWrt 上的广告拦截以后者居多。
然后我上网查了一圈,发现公认拦截最好的是 adblock-lean,不过这玩意儿没有 LuCI 界面。虽说我不是那种看到终端就发抖的人,但毕竟有可视化界面比没有更好,而且更关键的是,我装完之后没用!于是 adblock-lean 遗憾离场。
然后就是大名鼎鼎的 Adguard Home 了,不过我并没有深入研究它,除了同样没有 LuCI 界面外(Adguard Home 用的是自己的一套面板),它还是个独立的 DNS 服务器,需要处理好 dnsmasq 和它的层次关系,这就太蛋疼了,由于我大部分的设备都已经安装了广告拦截插件,路由器拦截最多算个添头,至少对于我来说付出和回报是不成正比的。
最终我还是直接安装了 luci-app-adblock-fast,听名字就知道,是个简单轻量的广告拦截器。拦截列表我选用的是 adblock-lean 同款的 Hagezi,虽然也有说 StevenBlack 效果更好的。


效果可谓是立竿见影,马上广告域名就都变成 NXDOMAIN 了。(说来也奇怪,我今天再测试的时候变回 NOERROR 了,但是管它呢,只要有一天能用我就算它成功。)
ZeroTier
我欣喜的发现路由器还可以安装 ZeroTier,正好前段时间我为了折腾组网注册了 ZeroTier 账号,就拿来用一用,看看路由器上的 ZeroTier 怎么样。这个功能同样是有 LuCI 界面的,因此可以直接安装 luci-app-zerotier。


然后输入我的 Network ID,很快在 ZeroTier Central 里就出现了我的路由器。
然后我在接口配置里给 ZeroTier 的虚拟网卡分配了一个 DHCP 客户端,并且添加了相关的防火墙配置。说实话我也不知道为什么要这么干,总之我在网上找的教程是这么干的,万一不这样上不了网呢( ̄▽ ̄)总之配置好之后,输入路由器的 ZeroTier IP 地址,就能看见 LuCI 登录页了。当然用这个地址连接别的什么东西,比如刚刚配置的 Samba,也是可以的。不过呢毕竟是校园网,NAT 类型很差,是 NAT4,大概率是要走 ZeroTier 服务器中继的,嗯……我还是多多用局域网吧╮(╯▽╰)╭


其实我还折腾了一点别的东西,如果你看截图足够仔细的话,就可以发现了,只是说出来的话我怀疑会把网站弄没,所以 emmm 懂得都懂,我就不多嘴了,大伙自己想象一下过程吧。
至此这台被我爆改成路由器的树莓派 5 被我折腾的就差不多了,不过虽然停止了折腾,但停止折腾不太可能,这不,我的 iOS 7.0.2 系统的 iPhone 5 到货了,那台被我刷成 iOS 10.3.3 的 5s 也还有残留的问题没有解决;就是要写的东西有点多,突然不太想写了(╥﹏╥)总之期待一下吧


