路由器固件,亦即路由器所用之操作系统,属于嵌入式系统的一种。一般路由器厂商都有各自的私有固件,但也有不少厂商使用的是基于Linux内核或是其他类Unix系统内核的设计,因像是Linux内核这样采用强制开放源代码许可协议的使然,使第三方个人或团队(这里的“第三方”,指的是非路由器厂商)基于厂商发布的固件源代码及硬件技术数据,来开发、客制化路由器固件成为可能。
简介由于有自由软件的属性,网通产品厂商一般可以在遵照固件授权条款的情况下利用这些第三方固件进行二次开发(如高通IPQ806x网通产品解决方案的SDK,即基于OpenWRT进行二次开发),由于一些固件(包括所用的C/C++标准库)的授权条款(如GPL)是要求修改过的固件也必须开放源代码,曾经有厂商没有遵照条款而导致诉讼案的发生(如自由软件基金会诉思科案)。
这里收录较为知名的、由第三方制作并维护的(无线)定制路由器固件、路由软件包项目。大部分的软件包都基于Linux内核,常见支持的厂商有像是Cisco/Linksys、华硕、Netgear等传统厂商的,也有像D-Link、TP-Link、Tenda、华为等厂商的部分型号也有支持。由于硬件方案不尽相同,而常见的路由器又多是嵌入式系统设计,所以它们的支持度也会随着硬件设计方案及相应的驱动程序、开发包是否公开可得、以及更新与否,而有所差异。而一台个人计算机所具备的硬件,添加网络相关设备(像是网络适配器等)以后也可以安装有硬件支持的路由器固件,来达成一台路由器的功用(俗称“软路由”)。1
清单基于Linux以下是基于Linux核心的第三方固件:
OpenWrt–自由及开放源代码软件,这个项目基于WRT-54G使用的专用Linux固件重写,现发展成相当于一种Linux包的存在。提供一种合并的SquashFS/JFFS2文件系统以及一套名为“opkg”的软件包管理方案。本固件项目的一个最大特点是高度定制性,超过3,000多个可用的软件包(仅计使用GPL协议散布的包)。也有不少所谓“智能路由器”(例如极路由),其固件实则是基于OpenWRT及相关的一些软件包(如VPN连接等)订制、并附加私有的Web管理界面和私有软件包而来
Commotion Wireless- 网状网络
DD-WRT– 基于OpenWrt v0.23版(2005年12月)的内核重写,目前分为商业付费版和免费版,在LEDE创建之前是OpenWRT最知名的分支项目
Gargoyle– 俗称“石像鬼”,一个基于OpenWrt的Linux包,主要支持一系列基于Broadcom或Atheros的无线路由器
LEDE– 基于OpenWrt派生项目,基本沿用OpenWrt的版本管理和包管理,但支持的新设备更多(是所有OpenWRT分支版本中设备支持数量最多的)
libreCMC– 一个自由软件基金会支持的、基于OpenWRT的派生项目,移除了没有源代码公开的专有二进制对象
PandoraBox - 基于OpenWRT(当前部分较新型号的路由器则是基于LEDE),前称DreamBox,主要由中国大陆的开发者Lintel发起,对OpenWRT/LEDE按中国的用户习惯进行本地化,包含了一些原OpenWRT/LEDE中需要另行下载安装的专有驱动程序及二进制可执行文件。由于中国大陆的网络访问openwrt.org较为缓慢,源代码(也反馈至openwrt.org)和预编译软件包主要存放于openwrt.org.cn上
Roofnet– 一个无线社区网络计划
ROOter – 基于OpenWrt的包,专注于将廉价的低级路由器和3G/4G调制解调器结合成为3G/4G路由器,支持移动网络信号信息显示
DebWRT– 将OpenWrt和Debian的dpkg软件包管理系统集成的自由及开放源代码之路由器固件
HyperWRT– 早期专注于性能和功能提升的固件项目,尽量与WRT54G和WRT54GS的原厂固件保持相近但提供传输功率控制、连接端口触发器、脚本、telnet等功能
Asuswrt-Merlin,即“梅林”固件,除了华硕的路由器产品以外,其他厂商硬件方案与华硕的产品类似的也可以安装使用(一般是Broadcom芯片组解决方案的产品,也有一些高通Athero芯片组方案的支持)
Tomato by Shibby
Toastman's Tomato
AdvancedTomato
Tomato Phoenix - 主要增进Tomato固件对联发科技的路由器芯片组解决方案的支持
Asuswrt,基于Tomato-RT/Tomato-USB,一般用于华硕推出的路由器上
Tomato– HyperWRT的继任者,另外新增了高级QoS、Ajax和SVG图形画统计报表显示
Padavan - 最初由Andy Padavan基于华硕发布的、基于联发科技芯片组的RT-N56u固件之源代码来开发,后来也被移植至一些使用联发科技芯片组解决方案的路由器上
Zeroshell– 适用于路由器、网络桥接器的,带有VPN、QoS、负载均衡以及其它额外功能的2
基于BSD以下是基于BSD Unix内核的路由器固件:
FreeBSD- 自由及开放源代码操作系统(采用BSD授权条款)
zrouter – 基于FreeBSD的路由器固件
BSD Router Project - 基于FreeBSD的路由器固件项目,并包括了Quagga和Bird软件
m0n0wall- m0n0wall基建于FreeBSD,可从12MB容量的存储媒体(像是闪存或是CD-ROM)中引导使用
pfsense- 一种基于FreeBSD的开放源代码防火墙/路由器软件包,适用于个人计算机或服务器(包括虚拟机)
OPNsense- pfsense的一个复刻分支2
本词条内容贡献者为:
王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所