【建议收藏】软路由入门级教程

之前我做了一期路由器相关的节目,介绍了路由器的类型和各种用法,其中最后有讲到了软路由。顾名思义,软路由就是一种通过软件实现的路由器。由于软路由的玩法比较复杂,其中还涉及到一些linux命令,感觉做成视频不太方便大家学习,因此本期教程就做成图文的形式。


(资料图片)

1. 如何定义软路由和硬路由?有什么区别?

定义就在于是否支持硬件加速。因为硬路由拥有专为小数据包转发设计的硬件,如NPU。它可以可调用其指令集独立完成NAT(网络地址转换)等运算,几乎不占用CPU性能。而软路由只能通过CPU进行运算,在网络负载较高的情况下可能遇到CPU瓶颈而限制转发速率。

那么如何判断呢?如果一款路由器用上了诸如高通的IPQ xxx,联发科的Filogic xxx,还有博通的BCM  xxx这种芯片,或者说你在网上买到的其他大品牌路由器(TPLINK,华为等等),那么大概率是硬路由。

如果一款路由器用的是因特尔或AMD的x86处理器,那么就是软路由。还有像香橙派,nanoPi这种开发板,通常会用瑞芯微(Rockchip)、全志(Allwinner)等ARM平台,也算是软路由。

2. 软路由的系统

软路由是通过软件实现的路由器,通常搭载openwrt系统。而openwrt是一款基于linux的路由器操作系统,这个系统可以自行安装插件,拓展非常实用的功能。这也是软路由相比硬路由最大的优势。

那么问题来了,有些硬路由可以通过刷机用上openwrt系统,那么他现在还是硬路由吗?根据定义还是要看刷机后是否支持硬件加速,比如部分硬路由搭载了闭源驱动,如果刷机后无法使用硬件加速那么它就算作软路由。而有些硬路由的驱动开源或有公版平替,刷机后仍然可以使用硬件加速,那它依然是硬路由。

3. 哪些设备可以用Openwrt系统?

最简单的方法就是找一台x86的电脑来安装openwrt,不必担心兼容性。但事实上,一般家用电脑并不是软路由的最佳选择,主要是体积大、功耗高、网口少。所以我这里说几款各方面都比较均衡,且能用openwrt的路由器。

硬路由:

首先是出厂原生自带openwrt的路由器,这类路由器省去了刷机的麻烦,系统由官方维护,一般不用担心bug和稳定性。比如GLiNet家的MT3000,AXT1800等等。

我现在在用的就是MT3000,官方同时提供了一个普通配置界面和openwrt原生界面,无论简单配置还是重度折腾都能满足。

这两台路由器的售价相比普通路由器较高,但我主要看重的就是Openwrt++内置风扇组合。如果你觉得太贵且不需要很强的外围配置,以下会介绍一些可以通过刷机的方式用上openwrt的普通硬路由。

目前大部分能刷openwrt的路由器都使用了联发科MT7981b方案(包括上面提到的MT3000),比如360T7,小米WR30U、新华三NX30Pro、还有一些不知名的运营商定制机。

而每台路由器的刷机难度也不同,比如360需要拆机后用TTL转USB开Telnet,小米需要解SSH,而华三可以直接刷等等。主流机型的刷机方法建议看 @OpenRouter 的视频,过程我就不多说了。

软路由:

要说外观形态,大部分软路由有一个显著的特点就是没有天线,换句话说就是没有无线功能。比如nano Pi的R系列,香橙派R1系列,还有网店卖的各种x86工控机等等。这些路由器至少都有两个网口(其中一个网口可以接路由器实现无线)。值得一提的是在openwrt系统中你可以指定某个网口做WAN还是LAN,这部分我们会在后面讲。

而这类软路由的刷机就比较简单了,像x86机器直接下载官方x86系统就可以,而ARM开发板的openwrt官方一般都会做适配,刷机方法也可以看官方教程。

4. 我该选择什么设备?

这里放张表格。里面的型号仅用来举例,并不代表做推荐。请大家根据自己的需求购买。

5. 系统刷机

一般能刷openwrt的硬路由都有一个叫uboot的环境,而在uboot里可以进行刷机和救砖操作,有点像Android里的Recovery(其实uboot属于bootloader,只不过后来增加了刷机功能)。进入uboot通常要在硬路由关机状态下按下reset按钮再通电,然后用网线连接电脑,把电脑的IP改为静态:,网关,子网掩码(长度24),最后在浏览器输入即可进入uboot刷机。

而软路由的刷机就简单多了,一般都把镜像写在SD卡、U盘或硬盘里,插到设备上通电即可进入系统。ARM软路由一般官方都给教程,而x86软路由刷机就更简单了,网上有铺天盖地的教程,这里不再赘述。

6. Openwrt配置

进入openwrt后就是登录,一般用户名为root,密码为password或没有密码。软路由最核心的功能当然是各种插件,因此先教大家安装插件。

原生的OP就像下面这样,点击系统,点击软件包。

有些OP会自带一些插件和主题,一般会在这里

进入软件包后需要点击“刷新列表”以获取可用软件,每次重启路由器都需要刷新一次。

刷新完成后,在过滤器里可以搜索插件,格式如下:

luci-app-xxxxx代表有图形化界面的插件,相关插件在安装后可在“服务”或新增项里找到。

luci-theme-xxx代表主题,安装后可在这里找到

如果没有luci开头的说明没有界面,一般是作为命令行工具或后台服务运行,如iperf3,htop等等。有的插件也会给一个网页界面。

由于插件太多因此就不展开讲了,相关插件的用法请大家自行查阅。

现在问题来了,为何我想安装的插件搜不到呢?接下来讲讲软件源。软件源就是提供软件下载的站点,在这里可以进行配置

默认只能从OP官方软件源下载插件,你可以将第三方软件源添加到底部的“自定义软件源”,再点击“刷新列表”即可出现新的插件。

有些插件需要内核依赖而报错,不过重启后实测也能正常使用。

讲完软件源之后再讲讲网口配置。之前提到过,软路由是可以自定义WAN和LAN的。比如我这台MT3000的网口为WAN,千兆为LAN。而现在我想把做LAN来提高内网速度,再将千兆口作为WAN连接光猫,这该怎么做呢?

进入接口设置,找到WAN,进入编辑

将eth0改为eth1

改完后返回。点击顶部设备,编辑br-lan

将eth1从br-lan中移除,将eth0加入br-lan。如下图

点击保存并应用,交换WAN和LAN口的网线,等待30s左右即可通过新的“LAN口”访问路由器管理界面。

7. 旁路由(旁路网关)

旁路网关也称为旁路由,是软路由最经典的玩法。要求软路由只要有一个网口就行了。拓扑如下:

旁路由可以接管主路由的所有数据,对主路由的系统没有要求,可以是任何路由器,包括用于拨号用的光猫。而且旁路由成本极低,图上的香橙派仅129(新款zero3只要99)即可拿下,或者可以买PHICOMM(两个字你懂得)N1盒子,二手只要60左右。网上有非常多刷OP的教程,这里不再赘述。

旁路由设置:进入网络->接口->LAN。将旁路由的IP手动指定为主路由网段。比如主路由是,那么旁路由可以是。最后一位只要在255以内且不要太小就行了。网关要填写主路由的IP,如。这样保证处理完数据后可以返回给主路由。改完后如需访问软路由,请输入刚刚你手动指定的IP。

最后建议关闭旁路由的DHCP,把IP分配交给主路由来做,避免旁路由挂掉导致家里断网。

主路由设置:进入LAN DHCP设置,找到默认网关。这里会有两种设置连接方式。

我称为主动式和被动式:

主动式:网关填写旁路由的IP。如。这样所有数据都会经过旁路由,非常方便。但如果旁路由寄了,那么家里就断网了。

被动式:网关不填(实际为主路由本身)。需要在你的手机或电脑上指定为旁路由的网关。好处是不会受到旁路由状态的影响,即使寄了也不影响网络。缺点就是每台设备都要手动指定IP和网关,但某些设备可能不支持,比如一些深度定制的系统。下图为Windows,Android和iOS设置。

设置完成后我们就能在旁路由中安装各种插件,处理主路由的网络数据了。

以上就是本期软路由入门教程的内容了。入门教程主要是科普概念和一些基本玩法,如果大家想看也可以给我点个赞,我会考虑继续做进阶教程。