一个网络调整的操作记录,附带一些乱谈。
家庭网络起点:糟糕的开发商预置装修遗产
目前家庭网络的起点是开发商遗留的新房装修,弱电箱位于房型中间,但被嵌在半高非承重墙中,高度太低易被遮挡、内部空间狭小不说,对主卧覆盖不佳;另外预埋了到客厅电视位的网线(和电视 AV 线),但穿管网线的质量(虽然写的是 Cat.5e)难以确定(PS: 至今我还无法确定偶发断流是这根网线的问题还是下游路由器/AP的问题),且无法取出重穿。
仔细想想,这也是国内家庭初始网络的常态:偷工减料的预埋、户型部分硬伤、不能(不愿)大改水电的房主共同造就了不太好的弱电/强电起点。对于后续灯光家电布置(特别是智能化经常需要零火到开关和灯位)、弱电布置(网络、监控、音视频)留下了很大的隐患。装修确实是件纠结的事啊 :( 1
成功与不成功的初期尝试
虽然户内只有不到 80 m^2 ,但由于几堵墙的影响(也许还要加上现行法规对 AP 发射功率的限制2),户内单点布置无线网络无法达到全覆盖。单点放在弱电箱会漏掉主卧;放在客厅则会漏掉次卧和卫生间。
那就组个 mesh 吧:入户光猫,网线连接到客厅主路由(买个稍贵的)、再在弱电箱和光猫挤下一个子路由。用小米自动配置无线 mesh 完成一个统一名称的无感 wifi 覆盖。主路由还可以有线连接客厅的电视、台式机和NAS,算是完成了基本的网络要求。但无线 mesh 总让人心里不太踏实(不过现在想想,一根质量难测的网线也未见得真的好于无线),网络一旦有点异常就怀疑是组网的方案不好,虽然网络可用,但留下了内心的巨大纠结。
看了些比较 mesh 和 AC-AP 的文章,又对 AC-AP 种了草。把拓扑图改成了光猫网络有线一分二,弱电箱内长网线还是连接主路由,再从光猫加个跳线到子路由。主路由和子路由都做有线中继模式(AP)使用。这样原则上主路由和子路由可以经光猫完成物理上的有线连接,相当于一个光猫为 AC,两个路由为 AP 的网络结构。解决了无线 mesh 的纠结,但小米路由在中继模式下几乎没有任何网络配置能力,移动光猫能配置的功能也极为有限(连给 NAS 固定个 IP 都不行,导致给娃在电视上看个视频还得经常重新配置 IP……当然这也可能是因为我一直懒得找师傅要超级用户权限)。一句话,拓扑上有进步,但还是留下了遗憾。此外,日常使用层面上没有感觉到比无线 mesh 的任何优势(也没有特别做测速)。3
RouterOS 入门记
RouterOS 也是在张大妈(ZDM/SMZDM, 什么值得买)上种草的,看到它有很复杂的网管功能,还可以加载 docker 容器,从操作系统层面给了很多可能性(特别是软路由配置外网访问的可能性,可以实现用户侧完全无感的全网访问——这对于 ha 等架在 docker 内部的网络需求有很重要的价值——因为配置这类网络相对复杂)。因此就可以把它作为 AC 代替光猫。为了入手测试玩玩,选购了入门款的 hAP ax^2 4。仅需 600 大洋即可体验 ros,买不了吃亏买不了上当,还能挤在已经塞了光猫和子路由的弱电箱里面。
网络拓扑调整方案
hAP ax^2 最大的优点是便宜,且有无线路由功能,原则上可以作为家庭单点路由使用(甚至在手掌大小的入门款设备就支持开 4 个独立的 SSID)。但它的无线覆盖情况和小米没有明显区别,也还是不能完成全屋覆盖。
因此,拓扑上把它接在光猫下级作为主路由 (i.e. AC),仍然用两个小米路由器,均有线连接到 hAP 作为子路由,同时使用小米的无线 mesh 组网实现无缝漫游。即用 hAP 作为主路由进行网络配置。很显然,如果不使用 hAP 的无线 wifi 功能,那么只需要一个能跑 ros 的交换机即可完成这个方案。(不过 hAP 能设置四个不同的 SSID,给后面预留访客网/特殊内网无线留下了空间,也不能完全算是无效投资,尴尬笑~)
初探网管功能
RouterOS 提供了完善的可视化和命令行管理界面,只是配置几个固定 IP(NAS, TV, 子路由, 个人主要设备)当然不在话下,本文就不再赘述了。
有些好笑的实操配置策略
在进一步准备装容器的时候,我发现了入门款的尴尬之处:hAP ax^2 没有提供 USB 接口,因此我们不能把容器安装在外置储存上,只能放在系统空间内。但这台路由的空间也非常有限:128 MB HDD 和 1024 MB memory。
经过一番仔细搜索和研究(这次主要感谢 Perplexity 组织搜索5),ros 在固定的“螺蛳壳”里面留下了很有意思的操作空间:
- hAP ax^2 也可以安装带容器(container)功能的 ros 固件;
- HDD 放不下的文件可以采用 ramdisk 加载到 memory 中,不过 ramdisk 断电即清空 (对于某些 log 文件,不失为一个自动清零的解决方案)6
- 加载到 ramdisk 的文件和 HDD 上的文件在 ros 中没有区别,都可以用于安装容器。
- 因此,对于 HDD 不能同时放置安装包和解压后容器的情况,可以先把安装包放在 ramdisk,再解压安装到 HDD,就可以完成稍大的容器安装了。
再根据网友对 ros 的容器使用攻略(最常见的都是改 RB5009),比较顺利地完成了在 hAP ax^2 上 clash@docker 的安装。
仍然不太理想的网络状态
初测网络情况仍然不太稳定 (ping router 大部分时候几个 ms, 但偶尔会超过 100 ms)。也可能是无线路由器固有的问题。后面看来还有的折腾了 :)
以下不妨就留待 ros102 再写写看(也没准直接加钱上全屋光纤,无脑走线干到千兆了,笑~)。
-
但装修又总归伴随着自己建设一个新环境的快乐,所以还是那句老话“痛并快乐着”。现在国内不断进行的住房代际更替,也使每个家庭都有很大的可能需要多次装修,因此每次有一点点进步,也都可以有一次的欢喜 :) ↩
-
一个经典的误解:钱多的路由器信号会好吗?从发射功率角度来看,显然它们的功率是一样的,100元的路由器/AP也能轻松达到法规的上限(基本能穿一堵墙,转折多或者两堵墙基本就不行了)。因此,信号强弱原则上几乎没有差别。但其他功能(如多频组网、带机量、网络管理能力等)可能有一定的区别。 ↩
-
微调这个方案就是我心中现在比较方便的家庭组网入门方案了:光猫作为 AC,各房间配置几个 AP,小白也可以上手,网络统一名称无缝漫游。日常使用没问题,只是高级配置可能困难一些。 ↩
-
也留下了一个不能加外部 USB 存储的配置坑,详见下文。 ↩
-
Perplexity 现在基本替代了我对 Google/Bing 的使用。和搜索引擎的互动感觉好了很多,虽然响应速度从 1-2 s 拉大到 10-30 s,但对于目前通常不算高频的搜索需求(每天 10 次以内),已经可以满足需要(顺便喘口气喝口水也没什么不好的)。 ↩
-
关于 ramdisk 的安装需要先更新系统组件支持相关功能再进行配置。详见以下讨论:https://forum.mikrotik.com/viewtopic.php?t=195603 和 https://forum.mikrotik.com/viewtopic.php?t=205002 ↩

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.