1 概述
软路由器是指通过软件实现路由功能的路由器。《软路由器是什么(一)》中已经详细介绍了软路由器的功能,其中传统路由/网关功能包括防火墙、上网行为管理、PPPoE拨号上网和DDNS+端口映射,附加功能包括NAS、带宽叠加和Docker。接下来本文将着重介绍软路由器的优缺点和典型组网。
2 软路由器的优缺点
考虑到用户在组网时通常会将软路由器和传统路由器视作两个并列的可选项,接下来本章节将通过对比软路由器和传统路由器的方式来介绍软路由器的优势和劣势,便于读者选择更适合自身需求和场景的产品。
2.1 优势
对比传统路由器,软路由器的优势如下:
● 更强大的硬件性能
和传统路由器固定的软硬件搭配不同,用户在搭建软路由器时可以根据需求选择软路由器的硬件。搭建软路由器时,一般会选择主流的PC作为其硬件部分。由于PC通常使用X86架构的CPU,其性能相比传统路由器使用的芯片更强,因此在搭配适当容量的内存后,软路由器的转发性能强于同价位的传统路由器。
● 更低的成本
由于软路由具备更强的性能,在实现相同转发性能的前提下,软路由器的成本更低。此外,对于个人用户和中小企业而言,因性能或其他非硬件故障原因淘汰的PC或者服务器除了“吃灰”,也可以用作软路由的硬件。这些旧设备在搭配多接口网卡后安装软路由软件,即可充当软路由器,在实现了利旧的同时也节约了购买成本。
● 更好的硬件拓展性
用户可以根据需求灵活调整硬件,例如使用X86架构的CPU平台作为软路由器的硬件时,可通过加装内存、硬盘和网卡,甚至是更换CPU来提升软路由器的规格,增强转发性能。对于传统路由器而言,其硬件规格通常在出厂时就已经固定,无法在后期拓展。如果传统路由器的硬件无法满足用网需求(例如接口数量不足或是转发性能未达预期),只能通过购买规格更高的新设备来解决问题。
● 更丰富的功能
软路由器的软件通常是开源的,因此吸引了大批社区开发者和爱好者为其定制功能。如果软路由器用户有一定软件开发基础,甚至可以自行开发应用软件。软路由器还支持通过安装应用的方式拓展功能。而传统路由器的软件通常是闭源的,不允许自定义功能,也不支持第三方拓展。用户购买了传统路由器产品后,其功能通常是固定的,无法依照用户的实际需求实现个性化定制。因此从功能的多样性和可玩性考虑,软路由器更胜一筹。
2.2 劣势
相比传统路由器,软路由器的优势项目很多,但也并非全无劣势。以下将列出一些软路由器逊色于传统路由器的方面作为参考:
● 使用说明不完整
传统路由器在购买时通常会在包装中附带说明书,说明书中会详细介绍软件所有功能,确保用户可以正确使用软件。
而软路由器在这一点上对用户并不友好:
○ 部分开源的软路由软件缺乏完整、专业的使用说明,尤其是部分自制固件,甚至完全不提供说明书。
○ 部分软路由器的软件是由国外的开发者开发的,其说明书未经过本地化处理,国内用户存在一定阅读障碍。
○ 部分软路由的开发者并非专业的写作者,在描述功能时难免存在不准确之处,可能会误导用户。
若用户在使用某个功能时遇到了困难,通常只能通过搜索引擎或相关论坛寻找使用方式,并且获取到的信息通常是其他用户的使用经验或分享,难以保证其正确性。
● 配置不够人性化
相对于传统路由器的Web管理页面,软路由器Web管理页面的组织方式更贴近于开发者的逻辑思维,对普通用户不够友好。部分开发者提供的软件甚至不支持通过Web管理页面配置,需要通过SSH连接软路由器控制台输入命令行或修改配置文件来变更软件行为,这无疑提高了用户的使用门槛。
● 功耗高
传统路由器的软硬件经过专门的设计,其工作时的功耗相对较低,通常可以控制在10瓦以内。而对于自组装的软路由器,由于其硬件通常使用X86平台,虽然性能更强,但功耗相对于其他平台更高,部分CPU在满负载时甚至可以达到上百瓦的功耗。另外,由于软路由器的软件在开发时考虑到通用性,通常不针对某个特定硬件优化,因此在运行时可能会导致部分硬件平台的软路由器功耗较高。更高的功耗不仅会消耗用户更多的电费,增加了用户在设备散热的资金投入,在狭小的密闭空间(例如家庭的弱电箱)使用也会带来安全隐患。
● 设备不稳定
软路由器相比传统路由器更容易出现故障:
○ 部分用户会选择使用过时的PC作为软路由器的硬件。由于PC本身在设计或组装时并未考虑极端的长时间连续高负载运行情况,因此在作为软路由器运行时难免会由于发热或硬件老化出现故障。
○ 软路由器的软件通常不针对某个特定硬件优化,其运行在某些硬件上时可能出现不适配或运行不稳定的情况。
○ 软路由器的软件通常未经过严格的测试,可能存在一些影响正常运行的BUG。
传统路由器的硬件在设计时就已经考虑了长时间运行场景,且设备软硬件在研发流程中经过了严格的测试,因此故障率更低。
● 缺乏售后支持
大部分开源的软路由器软件都是由社区开发者维护的,不会快速响应用户的反馈,尤其是对于硬件和软件不兼容引发的故障,开发者受制于设备资源,往往很难排查和修复。此外,开源软件的迭代周期也因开发者而异,有的开发者会每隔一周更新一个软件版本,而有的开发者的更新周期长达数月,甚至部分开发者存在“弃坑”(即放弃维护软件)行为。相比之下,传统路由器的售后是由厂商提供的,通常会贯穿整个产品的生命周期,一旦遇到软件或硬件故障,用户通过售后渠道往往可以得到及时有效的支持。
3 典型组网
软路由器的应用场景通常分为两类:
● 和传统路由器一样充当局域网的网关和防火墙接入运营商网络。
● 可以通过旁挂方式单臂接入局域网主网关,接管部分网关功能。
3.1 传统组网
传统组网方式适用于软路由器充当局域网网关和防火墙的场景。以下为传统组网的拓扑图:
图3-1 软路由器的传统组网拓扑图
完成传统组网通常需要完成如下步骤:
● 将软路由器接入运营商网络的接口设置为WAN口,接入用户设备的接口设置为LAN口。
● 按需配置软路由器接入运营商。对于家庭网络用户,可以直接使用光猫作为拨号接入设备,将软路由器接在光猫的LAN口;或是将光猫设置为桥接模式后,将软路由器接在光猫的LAN口,并在软路由器上配置PPPoE客户端。
● 配置DHCP为用户分发IP地址。
● 按需配置其他软路由器功能(如防火墙功能和上网行为管理)。
在传统组网方式下,由于局域网和运营商网络间的流量必须经过软路由器,因此用户可以正常使用软路由器的所有功能。但是,这种组网方式要求软路由器需要有足够的网络接口用于接入设备,一旦接口数量不能满足需求,用户需要通过扩展硬件或变更拓扑的方式解决问题。
3.2 旁挂方式单臂接入局域网主网关
旁挂式组网适用于软路由器充当NAS(Network Attached Storage,网络附属存储)、隧道客户端或智能家居网关的场景。以下为旁挂式组网的拓扑图:
图3-2 软路由器的旁挂式组网拓扑图
完成旁挂式组网通常需要完成如下步骤:
● 将软路由器接入主网关的接口设置为LAN口,配置接口IP为内网网段的某个IP地址,并指定网关为主网关的IP。
● 配置用户设备的网关为软路由器的LAN口IP。
● 按需开启软路由功能(如隧道和代理)。
另外,部分软路由器还需要关闭LAN口的桥接功能、开启LAN至WAN的IP动态伪装或配置VLAN,请以实际情况为准。
使用旁挂式组网的优点在于破坏性小,可以在几乎不改动现有组网拓扑的情况下使用部分软路由器的功能。另外,由于其接入方式简单,不需要将用户设备与软路由器直连,因此软路由器只需要有一个接口即可满足需求,对于使用PC充当软路由器的用户来说就不必再单独购买网卡扩充接口数目了。在这个组网场景中,用户甚至可以使用PC虚拟机安装软路由器系统充当软路由器,通过桥接网卡的方式接入主网关,无形又节约了一笔开支。当然旁挂式组网也存在一些缺点:在该组网方式下,软路由器的流量清洗和审计功能不能很好地发挥效果;部分软路由器软件的限流策略仅针对LAN口和WAN口之间的流量,在此场景中可能会失效。
4 总结
尽管软路由器存在使用门槛较高、硬件不够稳定和缺少售后支持等问题,但由于其成本低、功能丰富且性能强大,在互联网上受到了越来越多的关注。对于追求稳定和省事的用户而言,传统路由器仍然是最合适的选择;但对于持有闲置PC、对DIY有兴趣且有一定网络知识基础的用户来说,软路由器会是一个充满乐趣和惊喜的解决方案。