| OpenWrtOpenWrt OpenWrt 10.03.1-RC5 ("Backfire") | Company / developer | OpenWrt Project |
---|
OS family | Unix-like |
---|
Working state | Current |
---|
Source model | Free and open source software |
---|
Initial release | January 2004 (2004-01) |
---|
Latest stable release | 10.03.1 (Backfire) (December 21, 2011; 15 months ago (2011-12-21)) [±][1] [±] |
---|
Latest unstable release | 12.09 beta (Attitude Adjustment) (5 September 2012; 6 months ago (2012-09-05)) [±][2] [±] |
---|
Available language(s) | 22 languages[3] |
---|
Update method | opkg |
---|
Package manager | opkg |
---|
Supported platforms | 50 different platforms using the following CPU architectures: AVR32, ARM, CRIS, m68k, MIPS, PowerPC, SPARC, SuperH, Ubicom32, x86, x86-64[4] |
---|
Kernel type | Monolithic (Linux) |
---|
Userland | BusyBox, GNU |
---|
Default user interface | CLI, WebUIs |
---|
License | Free software, mainly the GNU GPL, and other licenses |
---|
Official website | openwrt.org |
---|
OpenWrt is an operating system primarily used on embedded devices to route network traffic. The main components are the Linux kernel, uClibc and BusyBox. All components have been optimized for size, to be small enough to fit the limited storage and memory available in home routers. OpenWrt is configured using a command-line interface (ash), or a web interface (LuCI). There are about 2000 optional software packages available for install via the opkg package management system. OpenWrt can be run on CPE routers, residential gateways, smartphones (e.g. Neo FreeRunner), pocket computers (e.g. Ben NanoNote), and small laptops (e.g. One Laptop per Child (OLPC)). But it is also possible to run on ordinary computers (e.g. x86). Many patches are being included upstream in the Linux mainline kernel. FeaturesOpenWrt follows the bazaar-philosophy and is known for an abundance of options, features include: - A writable root file system, enabling users to add, remove or modify any file. This is accomplished by using overlayfs to overlay[5] a read-only compressed SquashFS file system with a writable JFFS2 file system in a copy-on-write fashion. JFFS2 supports flash wear leveling.
- The package manager opkg, similar to dpkg, enables users to install and remove software. The package repository contains about 2,000 packages. This contrasts with Linux-based firmwares based on read-only file systems without the possibility to modify the installed software without rebuilding and flashing a complete firmware image.
- a set of scripts called UCI (unified configuration interface) intended to unify and simplify the configuration of the entire system[6]
- extensible configuration of the entire hardware drivers, e.g. built-in Network switches and their VLAN-capabilities, WNICs, DSL modems, FX, available hardware buttons, etc.
- exhaustive possibilities to configure network-related themes like
- routing through iproute2, Quagga, BIRD, etc.
- Mesh networking through batmand, olsrd and IEEE 802.11s-capabilities of the WNIC drivers
- wireless functionality, e.g. make the device act as a wireless repeater, a wireless access point, a wireless bridge, a captive portal, or a combination of these with e.g. ChilliSpot, WiFiDog Captive Portal, etc.
- Stateful firewall, NAT and Port Forwarding through netfilter
- dynamically-configured port forwarding protocols UPnP and NAT-PMP through upnpd, etc.
- Port knocking via knockd and knock
- TR-069[7]
- IPS via Snort (software)
- Active queue management (AQM) through the Network scheduler of the Linux kernel, with many available queuing disciplines. CoDel has been backported to Kernel 3.3.[8] This encapsulates Traffic shaping to ensure fair distribution of bandwidth among multiple users and Quality of Service for simultaneous use of applications such as VoIP, online gaming, and streaming media without experiencing the negative impacts of link saturation.
- Load balancing for use with multiple ISPs
- IP tunneling
- extensible realtime network monitoring and statistics through e.g. RRDtool, Collectd, Nagios, Munin lite, Zabbix, etc.
- Domain Name System and DHCP through Dnsmasq, MaraDNS, etc.
- Dynamic DNS services to maintain a fixed domain name with an ISP that does not provide a static IP address
- OpenWrt supports any hardware that has Linux support; devices that can be e.g. connected over USB to an embedded device include
- Notable software packages to utilize this hardware are
- An extensive Ajax-enabled web interface, thanks to the LuCI project[9]
- Regular bug fixes and updates, even for devices no longer supported by their manufacturers
Web interfaceBefore release 8.09, OpenWrt had a minimal web interface. In release 8.09 a new, more capable web interface is included.[10] This interface is based on LuCI, an MVC framework written in Lua.[9] The X-Wrt project provides an alternative web interface, named webif² in the package repositories, for current and previous version of OpenWrt. The Gargoyle Router Management Utility[11] is a web interface for OpenWrt with a strong emphasis on usability. It was originally available as a set of packages for OpenWrt. As the author of Gargoyle started to make modifications to the base system layout of OpenWrt, the package system was dropped and the only currently available downloads are full firmware images. Gargoyle makes extensive use of JavaScript, to offload as much work as possible to the client computer, and is focused on ease of use, striving to reach a level comparable to the appliance feel of commercial router firmware. HistoryThe project came into being after Linksys built the firmware for their WRT54G wireless router from publicly available code licensed under the GPL. Under the terms of that license, they were required to make the source code of their modified version available under the same license, enabling independent developers to create additional derivative versions. Support was originally limited to the WRT54G series, but has since been expanded to include many other chipsets, manufacturers and device types, including Plug Computers and Openmoko mobile phones. Using this code as a base and later as a reference, developers created a distribution that offers many features not previously found in consumer-level routers. Some features formerly required proprietary software. Before the introduction of OpenWrt 8.09, using Linux 2.6.25, and the b43 kernel module, WLAN for many Broadcom-based routers was only available through the proprietary wl.o module that was also only provided for Linux 2.4. The code names of OpenWrt branches are named after alcoholic beverages, usually including their recipes in the SSH login screen as well, cf. White Russian, Kamikaze, Backfire, Attitude Adjustment. The bleeding edge development trunk was confusingly also called Kamikaze until February 2011 but with r25514 it was renamed as "Attitude Adjustment" and is now being constantly renamed to the next stable name. Release HistoryLegend: | Old version | Older version, still supported | Current version | Latest preview version | Future release |
---|
Tagged | Code Name | Version | Release date | Linux Kernel version | Binary packages | Source packages | Notes |
---|
| Old version, no longer supported: pre Buildroot-NG | 0.x | NA | | 474 | ≈ 310 | Supported plattforms: | r6268 | Old version, no longer supported: White Russian | 0.9 | 2006-01 | 2.4.30 | ≈ 360 | ≈ 140 | NVRAM-based, nas , wl , Supported plattforms: brcm-2.4 | r7428 | Old version, no longer supported: Kamikaze | 7.06 | 2007-06 | 2.6.19 | ≈ 750 | ≈ 450 | opkg , Supported platforms: atheros-2.6 , au1000-2.6 , brcm-2.4 , brcm47xx-2.6 , ixp4xx-2.6 , imagicbox-2.6 , rb532-2.6 , x86-2.6 | r7832 | Old version, no longer supported: Kamikaze | 7.07 | 2007-07 | 2.6.21 | ≈ 790 | ≈ 475 | New platforms: amcc-2.6 | r8679 | Old version, no longer supported: Kamikaze | 7.09 | 2007-09 | 2.6.21 | ≈ 630 | ≈ 500 | | r14547 | Old version, no longer supported: Kamikaze | 8.09 | 2008-09 | 2.6.26 | ≈ 1,400 | ≈ 875 | | r16279 | Old version, no longer supported: Kamikaze | 8.09.1 | 2009-06 | 2.6.26 | ≈ 1,400 | ≈ 875 | | r18961 | Old version, no longer supported: Kamikaze | 8.09.2 | 2010-01 | 2.6.26 | ≈ 1,400 | ≈ 875 | | r20742 | Old version, no longer supported: Backfire | 10.03 | 2010-04 | 2.6.32 | ≈ 2,350 | ≈ 1,050 | Supported plattforms: adm5120_mips , adm5120_mipsel , ar7 , ar71xx , atheros , au1000 , avr32 , brcm-2.4 , brcm47xx , brcm63xx , cobalt , ep80579 , ifxmips , ixp4xx , kirkwood , octeon , orion , ppc40x , ppc44x , rb532 , rdc , x86 , xburst | r29594 | Old version, no longer supported: Backfire | 10.03.1[12] | 2011-12 | 2.6.32 | ≈ 2,950 | ≈ 1,175 | | | Current stable version: Attitude Adjustment | 12.09 | 2012-09 | 3.3 | ≈ 3,450 | ≈ 1,150 | | trunk | Future release: Barrier Breaker | development | continuously | current | | | |
Derivatives- CeroWrt[13] - CeroWrt purpose is to complement the debloat-testing kernel tree and provide a platform for real-world testing of bufferbloat fixes.[14]
- Coova chilli - OpenWrt-based with focus on wireless hotspots, a fork of chillifire with focus on wireless hotspot management
- Flukso - Wireless sensor nodes using an Atheros AR2317 chipset running a patched OpenWrt OS for communication. Sources and hardware schematics available on Github.
- FON - OpenWrt-based wireless routers acting as hotspots. Sources and toolchain available on fonosfera.org
- Midge Linux
- OpenSAN - iSCSI target Storage Area Network realization.
- PacketProtector - OpenWrt-based security distribution that includes IDS, IPS, VPN, and web antivirus capabilities.
- diverse grassroots-projects for wireless community networks, like Freifunk, RO.B.IN, Obelisco, qMp, and many more (please see the Daftar/Tabel -- wireless router firmware projects)
See also References External linksRouting software |
---|
| Routing daemons | - BIRD
- B.A.T.M.A.N.
- Quagga
- GNU Zebra
- XORP
|
---|
| Free software | |
---|
| Proprietary software | |
---|
| Others | |
---|
| Related articles | - Perbandingan -- firewalls
- Daftar/Tabel -- router or firewall distributions
- Daftar/Tabel -- wireless router firmware projects
|
---|
|
|
| |