在互联网时代,家庭网络带宽速度飞速地提升,家庭中的智能移动设备越来越多,智能家居设备也开始逐渐地普及,于是家里的路由器需承载的负荷也越来越大。不过,普通的路由器越来越难满足现阶段的家庭需求,软路由因此登上了舞台。
那么,究竟什么是软路由?
就像计算机有软件和硬件的区别,路由器也有「软」「硬」之分。通常我们在各个电商平台上搜索「路由器」这三个关键词所得到的几乎所有商品都属于硬路由,它是由路由器厂商基于自行开发或是开源的嵌入式设备操作系统,根据特定的硬件设备,设计出来的传统硬件设备。而与之对应的软路由,是基于软件工具在普通的硬件上来实现传统路由器的功能。我们可以在旧电脑、工控机、开发板、服务器甚至是硬件虚拟机中安装软路由系统,然后通过强大的软件实现各种各样的功能。
软路由的优缺点
相比于硬路由,软路由的优势非常明显。首先,软路由的价格更加便宜具备强大性能和多种功能的高端硬路由的价格动辄上千,而用软路由来实现同样的效果可能只需要二三百来块钱,这差价我们可以用来升级我们的网络带宽或干其它更有意义的事情;其次,软路由的性能更强大。与传统硬路由的MIPS、ARM 平台处理器不同,软路由常使用的 X86/64 处理器有着更强劲的性能,带得动更多的插件。同时软路由可以配备更好的网卡,也保证了网络的稳定和更多设备的接入;最后,软路由的功能更加多样。配合丰富的软件生态,我们能在软路由上实现更多有趣的功能,比如离线下载、去广告、QOS、流量控制、多线路控制、链路负载均衡等,甚至可以根据自己的需求自行开发软件。
当然,有利必有弊,软路由也不是万能的,它也有一些缺点。软路由的功耗更高。软路由因为硬件规格更高,所以它的功耗自然也就增加了,平均功率要比硬路由高 10-20W;其次,软路由的无线信号略逊一筹。软路由在无线 WiFi 这个方面和硬路由可以说是云泥之别,硬路由有厂商专门设计的电路板布局、独立的 WiFi 信号放大装置、防止电子信号干扰的屏蔽罩等等,这些都是软路由不具备的配置;最后,软路由的学习成本更高。硬路由在厂商的多年开发设计下,各种操作配置趋向简易化,通过傻瓜式的操作我们就能完成基本的配置。而对于软路由来说,如果没有一点的网络基础和学习实践能力,并非所有人都能驾驭。
什么情况下选择软路由?
软路由确实很强大,但是也要结合自身情况来判断是否值得投入时间和精力。那么,我们该怎么判断自己是否需要软路由呢?我总结了以下条件:
- 你的宽带最好高于 100M,如果你是「小水管」的带宽,还是优先考虑升级带宽
- 最好是独立租(住)房,如果是和比较熟悉的人合租房也可以,毕竟你要改造住房的网络,否则可能引起不必要的麻烦
- 需要有其他的无线 AP 或者硬路由来充当 WiFi 无线功能
- 家里的网络设备以及对网络的需求较复杂的人,比如有 P2P 下载、在线视频、在线游戏、访问海外资源、精准的流量控制、家中有大量的联网设备等
- 一颗折腾的心
如果上面的条件你全都符合,那么软路由非常值得你一试,继续往下看吧。
如何选择软路由?
如果前面提到的一切成本和门槛都无法阻拦你,我们就可以正式开始打造一款适合自己的软路由了。
不像五花八门的硬路由市场,电商平台上售卖的软路由品牌大多数都是企业级的软路由品牌,比如爱快、小马、Mikrotik 等。这些软路由因为针对的是大型企业,因此价格比较昂贵,不太适合家庭用户使用。因此,我们很难直接买到一款开箱即用的软路由,多数情况我们需要像攒机一样,自己「组装」或者「改造」出一台软路由。以下硬件都可以改造成软路由,如果你手边正好有,不妨拿出来试试:
- 淘汰的旧电脑
- 国内外的开发板(树莓派,香蕉派,甜橙派等)
- 高度集成化的多网口工控机
- 电商平台现成的软路由准系统
这里受限于文章的长度,无法一一展开详细描述每个方案的细节,就以其中相对节省时间成本的软路由准系统方案来具体谈一谈选购时需要注意的要点。
CPU
CPU 作为软路由的「心脏」,尤为重要,因此我们需要挑选一款合适的 CPU。
目前比较成熟和主流的方案是使用 英特尔赛扬 J1900 处理器,如果你的要求不是特别高,那么这颗 CPU 足以满足一个普通家庭的全部需求。除了 J1900 ,英特尔凌动 N2600 也是个不错的选择,搭载这两款 CPU 的路由器价格也相对便宜。
这两套方案虽然经典但也比较陈旧了,如果你没有预算上的压力,未来想要拓展更高级的功能(比如虚拟化),那么推荐大家选择 英特尔赛扬 3215U,它的制程更加优秀,可以提供更好的虚拟化支持,也是绝大多数软路由玩家最终的选择。如果你还想了解更多 CPU 的细节可以参考 Koolshare 上的总结。
内存
因为软路由使用的是低电压的 CPU,因此我们需要选择 DDR3L 的内存条,也就是笔记本电脑上的「短条内存」。如果你正好有旧笔记本上淘汰下来的这种内存条,那么就可以「废物再利用」节省一笔花销。至于内存的容量大小,则需要根据我们的自身需求来决定。
如果你选择的是搭载 J1900 等不支持虚拟化的 CPU 的软路由,那么 2GB 的内存绰绰有余。通常软路由系统不会占用过多的内存,但如果害怕软路由插件太多,内存不够用,也可以考虑将内存升级到 4GB 。
如果你选择的是搭载 3215U 等支持虚拟化的 CPU 的软路由,那么至少需要 8GB 的内存了,因为每个虚拟出来的系统,都至少要分配 1-2GB 的内存。要是还有「虚拟 NAS」 的话,可能还要分配更多的内存。
硬盘&散热
软路由系统本身对于存储空间的要求非常低,百兆左右的空间就已经足够使用了。软路由一般既可以内接 MSATA SSD,也可以外接U盘或者移动硬盘,但这里比较推荐大家使用 16 GB 的 MSATA SSD:一来可以满足软路由的存储需求,二来以后安装插件也不用担心空间使用的问题。硬盘本身也无需太高的质量,二手或自己淘汰下来的即可。
软路由的散热分为主动和被动散热,被动散热安静但效果一般,主动散热高效但有噪音。如果你选择了赛扬这种低电压处理器,被动散热足够 Hold 住软路由的热量。如果你选择了功耗较大的高端 CPU,为了保证路由的稳定性,还是选择主动散热更合适,因为一旦温度过高就可能造成软路由死机,从而整个网络就会瘫痪,容易造成不必要的损失或者麻烦。
如何配置部署软路由?
有了硬件之后,我们需要给它注入灵魂 —— 安装软路由系统。软路由系统可谓是百花齐放,可供选择的系统非常多,下面列举一些国内外常用的。
- RouterOS 是非常有名的付费系统,授权费用很低,但是功能和性能都异常强大。上至宽带运营商,下到家庭和网吧都会使用他,功能非常齐全,网络上的教程很多,但是学习成本很高,适合有技术基础的人使用
- PFsense 是一款免费的软路由系统,在路由器的基础上还集成了强大的防火墙功能。包括入侵检测、漏洞扫描等模块,配置起来比较繁琐,但是深度研究后可以成为你的家庭安全网关
- 爱快路由系统 是国内公司开发的免费产品,基本的路由功能都有,家庭使用没有问题,但是系统本身比较偏向比企业管理向,也有不少开发者针对这个系统开发了许多实用的插件
- OpenWRT/LEDE 在国内的家庭软路由中有着非常高的占有率,拥有海量的软件,和非常强大的生态。同时,OpenWRT 的教程也很丰富详实,这里我推荐使用 KoolShare 固件,内置了非常强大的插件市场
除了上述这些,还有诸如海蜘蛛、Pandbit、VyOS、WayOS 等,这里就不一一介绍了,大家可以自行搜索教程并进行安装。
在文章讨论软路由的优缺点时提到过,软路由的 WiFi 性能非常差,因此我们需要将其它的硬路由作为 AP 接入到软路由中,我们可以通过一个简单的网络拓扑来梳理结构。
你可以参考上面这张图来布置你的网络架构,当然有线设备也可以选择直接连接到无线 AP 上,灵活调整。需要注意的是,如果你选择硬路由作为无线 AP ,为了让所有设备都在相同网段,我们需要将硬路由的 WAN 口留空,将 LAN 口与软路由的 LAN 口连接,关闭硬路由的 DHCP 功能并将 LAN 口的 IP 地址设置为与软路由器 IP 在同一网段但不冲突,例如软路由 IP 为 `192.168.1.1`,硬路由的 LAN 口 IP 可以设置为 `192.168.1.2-254` 之间任意一个。
至此所有软路由相关的配置就完成了。
尾声
为了让大多数人能理解软路由,我尽量去除了众多的技术细节,如果每一个内容都事无巨细地展开,那么恐怕得写个十天半个月。文章中还有很多细节,例如安装软路由系统、配置软路由、软路由虚拟化、安装各种软路由插件等,都需大家看完本文后,自己通过互联网和自己强大的好奇心去发掘和学习,而软路由真正有趣之处也在于此。