极路由折腾笔记 cover

极路由折腾笔记

这也能折腾

无线路由器是一个我一直想折腾但又怕掉坑里的东西,这次还是忍不住折腾了。

先科普一些路由器的知识

本质上来说无线路由器就像是一台小型电脑,主要由CPU、RAM、ROM、交换芯片、无线模块、天线模块组成。与电脑不同的是,传统的无线路由器的基本功能所产生的数据运算比较简单,对CPU的要求并不高,一直以来传统无线路由器(家用级别的)的差异化主要在无线性能部分,天线数量、增益强度以及一些特殊技术(例如MIMO)决定了其无线性能和售价。

绝大部分的路由器都使用了MIPS架构的CPU(包括基本上所有传统路由器和一些新的“智能”路由器),也有少数使用了ARM架构(例如小米路由),也有玩家在X86架构上搭建无线路由的。三者中X86和ARM架构的性能是完全过剩的,X86由于小型化、耗电、发热等问题基本没有成熟产品(从现在的X86架构的Android手机来看,也许有一天也会出来),而采用ARM架构的主要是为了宣传(性能NB)和为未来接入更多服务做准备。NAS类型设备的架构其实也很接近于电脑(就是台服务器嘛),但因为有多媒体流化之类的需求,目前多采用了ARM架构的CPU。

无线路由器的芯片普遍采用了SoC(System on a Chip)或者叫RoC(Router on a Chip)设计,芯片厂家将大部分东西集成到了一块板上,路由器厂家只需要做外观和软件界面就行了(很多做传统无线路由器的厂商很懒,结果就是大量传统无线路由器的WEB管理界面几乎都长得差不多)。常见的芯片供应商有Atheros(被高通收购)、Broadcom和Ralink(被MTK收购)。无线路由器的硬件模式决定了在销量最大的中低端产品区间,厂家之间能拼的只有外观和价格了,所以所谓的“智能”路由器的出现一方面是因为有需求,另一方面也是这个市场需要一些新的竞争点了。

现有的“智能”路由器其实和硬件关系不大,主要在于软件部分。大部分都是在开源的OpenWRT路由器操作系统(一个嵌入式的Linux发行版)上进行了各种修改,然后包装成自己的“智能”操作系统开卖。这个局面和现在国内的Android手机市场相似度颇高,一样的硬件拼得审美疲劳,开始在开源的Android系统上搞各种UI。

好像科普得有点长,再写下去这篇得改名了。但其实关于无线路由器还有挺多可以讲的,感兴趣的可以看一下连载“跟hoowa学做智能路由”(共13篇)。

选一个折腾

在提到“智能”路由器的时候我都会在智能上加个双引号,因为在我看来现在市面上的产品都称不上“智能”。不过一来确实对一些功能有需求(例如远程下载),二来硬件产品不试一下是很难有准确的判断的(例:之前对于各种智能手环很看好,结果终于买了一个之后彻底改变了看法),所以还是决定买一个。要折腾无线路由器就两个选择,一是买可以刷OpenWRT的传统型号或者开发板,二是买现成的新产品。出于减少折腾的考虑后者比较实际些,目前市面上的选择有极路由、小米路由、NEWIFI(联想的)和其它一大票各路小厂商的,考虑到这个市场处于早期阶段,还是选择了最早出道的极路由,京东用券159入手了极贰SD卡版。对了,换用这些新路由产品的附带好处是支持AC也就是5GHz频段的无线网络,只要你的设备支持(较新的Mac和iPhone都支持),可以大大提高无线局域网速度、降低延迟和减少信号干扰,原有的2.4GHz上跑了太多设备了。

折腾结果

收到极路由的第一反应是“好小”(见下图),相比于传统无线路由器而言极贰的体积小了好几倍,包装盒只有普通手机那么大,实际体积也和2.5寸的移动硬盘接近。在内部硬件没有太大变化的情况下,只能推测是在散热、冗余空间、电源之类上的不同选择了。

HiWiFi-Small.jpg

对于普通用户的优势:

  1. 简化设置流程:传统路由器的一大痛点就是设置流程复杂,普通用户进去那个后台就怕了,引导做得也不好,很多年了就没怎么变过。极路由之类的一票新路由器把设置流程优化得不错,普通用户也能轻松按照引导搞定,甚至还能用手机App完成。想起自己初中时代帮N户亲戚装了无线路由器,怎么就没想到改良下这个流程呢;
  2. 一些实用的小功能:包括了通过手机(远程)查看路由器状态,快速踢人/限速,定时开启,关闭面板灯。还有硬件上的电源接口采用了更通用的Micro-USB,对于出差的人来说还是有一些用处的(不过像极贰这样的产品电源都是5V/2A的了,通用性其实也差强人意,不知道小电流的能不能带起来)。

能折腾的一些场景:

极路由可以玩的功能主要是通过所谓的“云插件”平台来自定义的,下图是我最终折腾完之后装的一些插件,插件本身没有意义,还是讲讲几个使用场景吧。

HiWiFi-Plugin.png
  1. App Store加速:大概原理估计和改DNS差不多,可能更有针对性一些。苹果在国内部署了CDN之后不少时候下载速度仍然捉急,所以还是有用的;
  2. 屏蔽广告:原理应该是用了之前OpenGG论坛上出的一个脚本,也就是之前的Chrome插件用的那个。Chrome版本升级之后已经没有直接通过浏览器屏蔽的好方案了,现有的“保护伞”之类的存在很大的安全风险,所以通过路由器来完成是个不错的选择。至于屏蔽广告是否道德,这个问题太大,我没有答案和倾向性;
  3. 走梯子:SSH比VPN强但逊于SS,极路由迟迟不开放SS插件不良心。在路由器上走梯子在不少场景下很有用(例如PS4之类的设备);
  4. 远程下载:目前只支持迅雷,希望未来能支持百度云。顾名思义远程往路由器的USB口接的移动硬盘或U盘上下东西,可以充分利用家里的网速,配合局域网文件共享也可以起到穷人版NAS的效果。如果希望通过iOS设备播放路由器连接的硬盘上的视频,我试用了一大票的App,最终的结论是nPlayer最佳,虽然要价高(30块)但胜在是通用版(iPad和iPhone通用),也是同时支持SAMBA+AC3音频中设计最好的了;
  5. 远程连回家里的网络:可以远程访问家里的网络,包括读取接的移动硬盘上的共享文件,虽然受限于国内ADSL的上行限速,但传输速度用来取个PPT或放个字幕还是足够了。PPPOE用户(Which is 国内的绝大部分)可以配合极路由提供的动态域名插件(Which is 我认为所有插件中最好的一个)使用,大概就是极路由提供了*.jios.org的二级域名供用户选择,动态绑定到路由器的WAN口IP上,当然也可以通过CNAME的方式解析到自己的独立域名。绑定后的效果是可以通过这个二级域名访问到家里的网络,而不用每次先查IP了。传统路由器都需要使用付费的花生壳之类的服务才能实现。

需要注意的是,目前极路由的局域网文件共享插件有Bug,只能加密SD卡上的共享文件夹,而挂的移动硬盘上的文件是公开访问的。这意味着如果使用端口转发的方式来实现远程访问文件的话,别人只要猜你的IP或者二级域名就可以看到你的文件了。更安全的实现方式是用VPN服务器插件,先用PPTP的方式(iOS/OS X不能用这个插件提供的L2TP,因为不支持IPSec)挂上VPN,再访问文件,虽然安全性也不是特别高,但好歹没有直接漏洞。如果只是单纯地想远程访问路由器后台,可以用端口转发的方式来实现。

已知的一些缺点

USB口读取速率不快(USB2.0,大概4-5M/s,只足够720p视频的局域网内播放了),整体稳定性不佳(我自己还没遇到过,不过看论坛的用户反馈数量估计是迟早的事情),信号一般/缺失一些功能(相对于传统同级别的无线路由器)。