论文部分内容阅读
在日常生活中,除了智能手机外,路由器和无线基站无疑是最常被极客破解和修改的消费级设备。一方面破解这些设备较为简单,另一方面破解、修改设备参数后能带来一系列好处,比如拥有更多的特性,改善路由功能,加强安全性,而且破解后还能配置原厂固件通常不允许修改的参数(例如天线输出功率)。
在本文中我们测评了五种最常见的第三方固件,重点介绍了它们所提供的功能、最适合的用户群,其中有专为嵌入式硬件或特定路由器而设计的,有设计成与硬件无关的解决方案的,也有专为x86设备设计的。
DD-WRT:支持广泛、功能全面
DD-WRT是一款比较受欢迎的路由器固件,青睐它的不仅有业余爱好者和破解高手,还有众多路由器厂商。比如说,巴法络公司(Buffalo)就使用DD-WRT,作为其多款家用和准专业级消费路由器产品的固件。其代表性产品是2005年生产的Linksys WRT54G路由器,该路由器基于Linux固件版本,核心软件采用GPL许可方式。
支持的硬件:DD-WRT支持博通、ADM、Atheros以及Ralink等厂商的芯片组,不过这些芯片组的设备并非全部自动与之兼容。有些设备可能需要破解才可以使用,而有些可能根本就无法使用。
功能特性:DD-WRT提供了消费级路由器通常所不具备的众多强大的功能,比如ChilliSpot(用于建立商用级无线热点)、AnchorFree VPN系统以及支持NoCat无线社区网络系统。另外,DD-WRT有多个版本,有只支持最基本功能的2MB大小的“微型”版本,有支持拥有各种功能的8MB大小的“大型”的版本,这使得DD-WRT能够应用于各种不同级别的设备中。
局限性:DD-WRT的核心版本不经常更新。如果你想要更新较快的版本,只能选择临时的测试版,或者选择由厂商提供的定期修订的版本。
点评:DD-WRT是大多数用户的最佳选择。其预装在很多品牌路由器中,很容易去掌握、操纵,包括调整、更新、升级等。
Tomato:衍生版本众多
Tomato原本是作为博通路由器的备用固件而设计的,它因图形用户界面(GUI)、带宽监测工具以及其专业级、可调整的功能特性而备受关注。
支持的硬件:硬件支持方面与DD-WRT大同小异,不过用户要特别注意有哪些版本与你所用的硬件设备兼容。
功能特性:Tomato功能与DD-WRT比较相似,比如拥有复杂精巧的服务质量(QoS)控制、支持telnet或SSH访问命令行接口(CLI)以及Dnsmasq等。不过,Tomato采用了特别的设计方法,因此,在配置改动后一般不需要重启,而配置改动后重启也是用户经常抱怨的一个方面(无论是商用版还是开源版)。另外,还有大量由Tomato社区开发的定制脚本,比如将路由器的系统日志重定向至磁盘或另一台计算机、备份路由器的设置等。
Tomato有一大批派生和衍生版本,其中最主要的是Tomato USB,该版本之所以有这样的名称,是因为它支持拥有USB端口的路由器,因而其允许挂载可移动介质;Toastman则可以编译很多Tomato固件版本的修改版,比如经过改进的服务质量(QoS)模块和IP流量客户端监测工具;Teaman(因其谷歌代码项目名称“tomato-sdhc-vlan”而得名)增添了对安全数字高容量(SDHC)以及MMC介质存储的支持、802.11Q虚拟局域网(VLAN)标记以及试验性的MultiSSID Web界面。
除此之外,还有Tomato by Shibby、Tomato RAF以及其他许多派生版本,其中每个版本都有自己的特点和功能特性方面的改动。
局限性: Tomato的修改版之所以这么多,原因很简单,原始版本的代码自2010年后就再没有更新。为此,任何更新或新功能特性的出现都归功于上面所提到的替用版本,因此,这些版本同样没法保证这些项目都会不间断地更新。
此外,由于Tomato衍生版本数量众多,用户很难选择最适合的那一个版本。不过,由于Tomato的文档内容翔实丰富,其中详细介绍了哪些设备适合哪些版本,所以为你的硬件选择合适的版本应该也不是太难。
点评:Tomato适合于十分熟悉路由固件的用户。Tomato用起来与DD-WRT差不多,都需要确保你有合适的硬件,并且严格按照固件刷新指示来操作。不过,Tomato并不作为商用预装版来使用,所以别指望它像DD-WRT那样出现在现成的路由器中。
OpenWRT:部署复杂、灵活性高
OpenWRT路由器固件版本较为成熟,用户可以针对各自的硬件配置下载相对应的程序包,并使用相关工具对硬件进行修改。这样虽然加大了部署过程的复杂性,也为用户提供了极大的灵活性。另外,你也可以使用针对常见硬件类型和路由器平台的OpenWRT的各种预制版本,包括使用博通和Atheros芯片组的各种硬件。OpenWRT的开发者建议用户从现成版本入手,等掌握了一定的基础后,再学习如何推出个性化版本。
支持的硬件:支持50多种硬件平台和10种处理器架构,包含从ARM微架构到64位x86 架构。另外,在选购专门与OpenWRT兼容的硬件时,还会附有购买指南,帮助你选择适合的硬件设备。
功能特性:除了对硬件和平台的广泛支持外,OpenWRT还支持优化的链路状态路由(OLSR)网状网络协议,该协议使得用户可以利用多个OpenWRT设备,建立临时的移动网络。而且,软件一旦部署到位,不需要重新刷新固件,就可以进行修改。另外,用户可以根据需求,通过一个内置的程序包管理系统,添加或删除程序包。
OpenWRT也有各种派生版本,其中有些版本适用于非常特殊的场合。比如,Cerowrt版本当初是作为Bufferbloat项目的一部分而开发的,以解决局域网和广域网中的网络瓶颈问题;而FreeWRT比OpenWRT核心版本更适合开发者;Gargoyle则提供了根据主机设定带宽上限的功能,而这是其重要功能之一。 局限性:OpenWRT最大的优点也恰恰是其最大的缺点。用户最好真正明白自己到底在做什么,如果你只是想把原厂路由器固件换成更新一点的固件,最好避而远之。
点评:OpenWRT最适合专家型人群。该固件适合于希望操作方面的限制尽量少、想大胆使用不同寻常的硬件,以及擅长自行推出个性化Linux发行版本的用户。
M0n0wall:支持的芯片数量较少
相比文中介绍的其他固件版本,M0n0wall的理念最接近OpenWRT,它是可作为防火墙或路由器来使用的FreeBSD版本。
支持的硬件:M0n0wall运行在至少64MB内存、16MB闪存大小的嵌入式硬件系统中。另外,由于BSD驱动程序库提供了很强的兼容性,因此其可与常见的PC硬件兼容。
功能特性:支持所有常见的路由器功能,包括流量整形、QoS工具以及高端网络上的一些功能,比如VLAN标记和轮询。M0n0wall启动时间很短,一般30秒内即可进入到闪存型硬件的工作系统。另外,其精巧的Web界面提供了直接通过浏览器升级固件的功能。
M0n0wall是众多派生版本的基础。其中最有名的衍生版本是PfSense,它适用于成熟的PC式系统,而不是嵌入式系统。如果你打算把PC改造成路由器,首先应该使用Pfsense,而不是M0n0wall,因为Pfsense是直接为PC硬件开发的版本,可以极大地缩减用户工作量。另一个版本M0n0wall-mod增添了新的广域网选项,比如能够针对单独列举的广域网接口配置DHCP和PPTP。
局限性:M0n0wall的一个缺点是,它支持的无线芯片组数量很少。话虽如此,不过任何基于Atheros芯片组的802.11硬件都可以支持。
点评:把旧PC硬件改造成防火墙或路由器的用户。如果你在考虑把嵌入式硬件路由器设计成多用途的网络设备,M0n0wall是个不错的选择。
Vyatta:x86设备专用
Vyatta是一款基于Linux的网络操作系统,一般在核心开源版和商用版中使用。用户可以通过软件订购或购买硬件设备的方式获得商用版。Vyatta通常部署为小型办公室、分支机构的网关、VPN集线器、数据中心之间或者数据中心与云之间的网桥。
支持的硬件:与OpenWRT和M0n0wall/PfSense一样,Vyatta也有支持32位x86 PC硬件的版本,任何这类系统与Vyatta都可以改造成高效的路由器、防火墙和网络服务设备。
功能特性:一般性的功能 Vyatta都具备。而且其在今年3月的版本中还新添了一些功能,包括以图形化方式显示统计数字的GUI和仪表板(仅限于商用版)、符合RFC的虚拟路由器冗余协议(VRRP)、经过改进的连接跟踪和日志记录子系统,以及状态检查防火墙等。另外,Vyatta还增添了支持VMware vSphere 5模块的功能。
局限性:和这次测评的其他产品相比,Vyatta的最大局限性在于,它是完全为x86设备所设计的,而且不是一般的x86设备,而是存储容量较大(至少1GB)的设备。简而言之,Vyatta最适合成熟的PC。此外,虽然Vyatta有64位版本,但是目前还处于测试阶段,不适用于生产系统。
另外,包括Web界面在内的许多关键功能只出现在商用版中。其中命令行接口是针对网络管理员设计的,对一般的用户来说可能是个障碍,目前其商用版提供30天的免费试用。
点评:Vyatta是一款商务级产品,其路由和安全功能超出大多数小型办公室或家庭办公室的需求。话虽如此,如果有用户想使用基于x86的PC硬件来搭建网络设备——尤其是用于大型环境,会从Vyatta中找到所需的一切功能。
在本文中我们测评了五种最常见的第三方固件,重点介绍了它们所提供的功能、最适合的用户群,其中有专为嵌入式硬件或特定路由器而设计的,有设计成与硬件无关的解决方案的,也有专为x86设备设计的。
DD-WRT:支持广泛、功能全面
DD-WRT是一款比较受欢迎的路由器固件,青睐它的不仅有业余爱好者和破解高手,还有众多路由器厂商。比如说,巴法络公司(Buffalo)就使用DD-WRT,作为其多款家用和准专业级消费路由器产品的固件。其代表性产品是2005年生产的Linksys WRT54G路由器,该路由器基于Linux固件版本,核心软件采用GPL许可方式。
支持的硬件:DD-WRT支持博通、ADM、Atheros以及Ralink等厂商的芯片组,不过这些芯片组的设备并非全部自动与之兼容。有些设备可能需要破解才可以使用,而有些可能根本就无法使用。
功能特性:DD-WRT提供了消费级路由器通常所不具备的众多强大的功能,比如ChilliSpot(用于建立商用级无线热点)、AnchorFree VPN系统以及支持NoCat无线社区网络系统。另外,DD-WRT有多个版本,有只支持最基本功能的2MB大小的“微型”版本,有支持拥有各种功能的8MB大小的“大型”的版本,这使得DD-WRT能够应用于各种不同级别的设备中。
局限性:DD-WRT的核心版本不经常更新。如果你想要更新较快的版本,只能选择临时的测试版,或者选择由厂商提供的定期修订的版本。
点评:DD-WRT是大多数用户的最佳选择。其预装在很多品牌路由器中,很容易去掌握、操纵,包括调整、更新、升级等。
Tomato:衍生版本众多
Tomato原本是作为博通路由器的备用固件而设计的,它因图形用户界面(GUI)、带宽监测工具以及其专业级、可调整的功能特性而备受关注。
支持的硬件:硬件支持方面与DD-WRT大同小异,不过用户要特别注意有哪些版本与你所用的硬件设备兼容。
功能特性:Tomato功能与DD-WRT比较相似,比如拥有复杂精巧的服务质量(QoS)控制、支持telnet或SSH访问命令行接口(CLI)以及Dnsmasq等。不过,Tomato采用了特别的设计方法,因此,在配置改动后一般不需要重启,而配置改动后重启也是用户经常抱怨的一个方面(无论是商用版还是开源版)。另外,还有大量由Tomato社区开发的定制脚本,比如将路由器的系统日志重定向至磁盘或另一台计算机、备份路由器的设置等。
Tomato有一大批派生和衍生版本,其中最主要的是Tomato USB,该版本之所以有这样的名称,是因为它支持拥有USB端口的路由器,因而其允许挂载可移动介质;Toastman则可以编译很多Tomato固件版本的修改版,比如经过改进的服务质量(QoS)模块和IP流量客户端监测工具;Teaman(因其谷歌代码项目名称“tomato-sdhc-vlan”而得名)增添了对安全数字高容量(SDHC)以及MMC介质存储的支持、802.11Q虚拟局域网(VLAN)标记以及试验性的MultiSSID Web界面。
除此之外,还有Tomato by Shibby、Tomato RAF以及其他许多派生版本,其中每个版本都有自己的特点和功能特性方面的改动。
局限性: Tomato的修改版之所以这么多,原因很简单,原始版本的代码自2010年后就再没有更新。为此,任何更新或新功能特性的出现都归功于上面所提到的替用版本,因此,这些版本同样没法保证这些项目都会不间断地更新。
此外,由于Tomato衍生版本数量众多,用户很难选择最适合的那一个版本。不过,由于Tomato的文档内容翔实丰富,其中详细介绍了哪些设备适合哪些版本,所以为你的硬件选择合适的版本应该也不是太难。
点评:Tomato适合于十分熟悉路由固件的用户。Tomato用起来与DD-WRT差不多,都需要确保你有合适的硬件,并且严格按照固件刷新指示来操作。不过,Tomato并不作为商用预装版来使用,所以别指望它像DD-WRT那样出现在现成的路由器中。
OpenWRT:部署复杂、灵活性高
OpenWRT路由器固件版本较为成熟,用户可以针对各自的硬件配置下载相对应的程序包,并使用相关工具对硬件进行修改。这样虽然加大了部署过程的复杂性,也为用户提供了极大的灵活性。另外,你也可以使用针对常见硬件类型和路由器平台的OpenWRT的各种预制版本,包括使用博通和Atheros芯片组的各种硬件。OpenWRT的开发者建议用户从现成版本入手,等掌握了一定的基础后,再学习如何推出个性化版本。
支持的硬件:支持50多种硬件平台和10种处理器架构,包含从ARM微架构到64位x86 架构。另外,在选购专门与OpenWRT兼容的硬件时,还会附有购买指南,帮助你选择适合的硬件设备。
功能特性:除了对硬件和平台的广泛支持外,OpenWRT还支持优化的链路状态路由(OLSR)网状网络协议,该协议使得用户可以利用多个OpenWRT设备,建立临时的移动网络。而且,软件一旦部署到位,不需要重新刷新固件,就可以进行修改。另外,用户可以根据需求,通过一个内置的程序包管理系统,添加或删除程序包。
OpenWRT也有各种派生版本,其中有些版本适用于非常特殊的场合。比如,Cerowrt版本当初是作为Bufferbloat项目的一部分而开发的,以解决局域网和广域网中的网络瓶颈问题;而FreeWRT比OpenWRT核心版本更适合开发者;Gargoyle则提供了根据主机设定带宽上限的功能,而这是其重要功能之一。 局限性:OpenWRT最大的优点也恰恰是其最大的缺点。用户最好真正明白自己到底在做什么,如果你只是想把原厂路由器固件换成更新一点的固件,最好避而远之。
点评:OpenWRT最适合专家型人群。该固件适合于希望操作方面的限制尽量少、想大胆使用不同寻常的硬件,以及擅长自行推出个性化Linux发行版本的用户。
M0n0wall:支持的芯片数量较少
相比文中介绍的其他固件版本,M0n0wall的理念最接近OpenWRT,它是可作为防火墙或路由器来使用的FreeBSD版本。
支持的硬件:M0n0wall运行在至少64MB内存、16MB闪存大小的嵌入式硬件系统中。另外,由于BSD驱动程序库提供了很强的兼容性,因此其可与常见的PC硬件兼容。
功能特性:支持所有常见的路由器功能,包括流量整形、QoS工具以及高端网络上的一些功能,比如VLAN标记和轮询。M0n0wall启动时间很短,一般30秒内即可进入到闪存型硬件的工作系统。另外,其精巧的Web界面提供了直接通过浏览器升级固件的功能。
M0n0wall是众多派生版本的基础。其中最有名的衍生版本是PfSense,它适用于成熟的PC式系统,而不是嵌入式系统。如果你打算把PC改造成路由器,首先应该使用Pfsense,而不是M0n0wall,因为Pfsense是直接为PC硬件开发的版本,可以极大地缩减用户工作量。另一个版本M0n0wall-mod增添了新的广域网选项,比如能够针对单独列举的广域网接口配置DHCP和PPTP。
局限性:M0n0wall的一个缺点是,它支持的无线芯片组数量很少。话虽如此,不过任何基于Atheros芯片组的802.11硬件都可以支持。
点评:把旧PC硬件改造成防火墙或路由器的用户。如果你在考虑把嵌入式硬件路由器设计成多用途的网络设备,M0n0wall是个不错的选择。
Vyatta:x86设备专用
Vyatta是一款基于Linux的网络操作系统,一般在核心开源版和商用版中使用。用户可以通过软件订购或购买硬件设备的方式获得商用版。Vyatta通常部署为小型办公室、分支机构的网关、VPN集线器、数据中心之间或者数据中心与云之间的网桥。
支持的硬件:与OpenWRT和M0n0wall/PfSense一样,Vyatta也有支持32位x86 PC硬件的版本,任何这类系统与Vyatta都可以改造成高效的路由器、防火墙和网络服务设备。
功能特性:一般性的功能 Vyatta都具备。而且其在今年3月的版本中还新添了一些功能,包括以图形化方式显示统计数字的GUI和仪表板(仅限于商用版)、符合RFC的虚拟路由器冗余协议(VRRP)、经过改进的连接跟踪和日志记录子系统,以及状态检查防火墙等。另外,Vyatta还增添了支持VMware vSphere 5模块的功能。
局限性:和这次测评的其他产品相比,Vyatta的最大局限性在于,它是完全为x86设备所设计的,而且不是一般的x86设备,而是存储容量较大(至少1GB)的设备。简而言之,Vyatta最适合成熟的PC。此外,虽然Vyatta有64位版本,但是目前还处于测试阶段,不适用于生产系统。
另外,包括Web界面在内的许多关键功能只出现在商用版中。其中命令行接口是针对网络管理员设计的,对一般的用户来说可能是个障碍,目前其商用版提供30天的免费试用。
点评:Vyatta是一款商务级产品,其路由和安全功能超出大多数小型办公室或家庭办公室的需求。话虽如此,如果有用户想使用基于x86的PC硬件来搭建网络设备——尤其是用于大型环境,会从Vyatta中找到所需的一切功能。