Frank the Obscure 无名的弗兰克

RouterOS 101


一个网络调整的操作记录,附带一些乱谈。

家庭网络起点:糟糕的开发商预置装修遗产

目前家庭网络的起点是开发商遗留的新房装修,弱电箱位于房型中间,但被嵌在半高非承重墙中,高度太低易被遮挡、内部空间狭小不说,对主卧覆盖不佳;另外预埋了到客厅电视位的网线(和电视 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 在固定的“螺蛳壳”里面留下了很有意思的操作空间:

  1. hAP ax^2 也可以安装带容器(container)功能的 ros 固件;
  2. HDD 放不下的文件可以采用 ramdisk 加载到 memory 中,不过 ramdisk 断电即清空 (对于某些 log 文件,不失为一个自动清零的解决方案)6
  3. 加载到 ramdisk 的文件和 HDD 上的文件在 ros 中没有区别,都可以用于安装容器。
  4. 因此,对于 HDD 不能同时放置安装包和解压后容器的情况,可以先把安装包放在 ramdisk,再解压安装到 HDD,就可以完成稍大的容器安装了。

再根据网友对 ros 的容器使用攻略(最常见的都是改 RB5009),比较顺利地完成了在 hAP ax^2 上 clash@docker 的安装。

仍然不太理想的网络状态

初测网络情况仍然不太稳定 (ping router 大部分时候几个 ms, 但偶尔会超过 100 ms)。也可能是无线路由器固有的问题。后面看来还有的折腾了 :)

以下不妨就留待 ros102 再写写看(也没准直接加钱上全屋光纤,无脑走线干到千兆了,笑~)。


  1. 但装修又总归伴随着自己建设一个新环境的快乐,所以还是那句老话“痛并快乐着”。现在国内不断进行的住房代际更替,也使每个家庭都有很大的可能需要多次装修,因此每次有一点点进步,也都可以有一次的欢喜 :) 

  2. 一个经典的误解:钱多的路由器信号会好吗?从发射功率角度来看,显然它们的功率是一样的,100元的路由器/AP也能轻松达到法规的上限(基本能穿一堵墙,转折多或者两堵墙基本就不行了)。因此,信号强弱原则上几乎没有差别。但其他功能(如多频组网、带机量、网络管理能力等)可能有一定的区别。 

  3. 微调这个方案就是我心中现在比较方便的家庭组网入门方案了:光猫作为 AC,各房间配置几个 AP,小白也可以上手,网络统一名称无缝漫游。日常使用没问题,只是高级配置可能困难一些。 

  4. 也留下了一个不能加外部 USB 存储的配置坑,详见下文。 

  5. Perplexity 现在基本替代了我对 Google/Bing 的使用。和搜索引擎的互动感觉好了很多,虽然响应速度从 1-2 s 拉大到 10-30 s,但对于目前通常不算高频的搜索需求(每天 10 次以内),已经可以满足需要(顺便喘口气喝口水也没什么不好的)。 

  6. 关于 ramdisk 的安装需要先更新系统组件支持相关功能再进行配置。详见以下讨论:https://forum.mikrotik.com/viewtopic.php?t=195603 和 https://forum.mikrotik.com/viewtopic.php?t=205002 


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

Comments