User guide
Installation
Documentation
User guide
Installation
- Back to original firmware
- Devices with OpenWrt as a stock firmware
- FAQ after Installation of OpenWrt
- FAQ before installing OpenWrt
- Filesystem snapshot feature: /sbin/snapshot
- Flashing OpenWrt with Wi-Fi enabled on first boot
- Generic flashing over the Serial port
- Generic NOR backup
- How to restore ART partition
- Installing OpenWrt
- Installing OpenWrt over FTP (generic)
- Installing OpenWrt over XMODEM
- Installing OpenWrt via TFTP
- Installing OpenWrt with TFTP from a Linux computer
- OpenWrt on x86 hardware (PC / VM / server)
- owut: OpenWrt Upgrade Tool
- Preserving OpenWrt packages
- Upgrade from (old) ar71xx to ath79
- Upgrade using Attended Sysupgrade
- Upgrading OpenWrt firmware using CLI
- Upgrading OpenWrt firmware using LuCI and CLI
Installation methods
- ADAM2 FTP
- ap51-flash
- Asus Firmware Restoration Tool
- brnboot web recovery
- CF card
- CFE TFTP + serial recovery
- CFE TFTP recovery
- CFE web recovery
- CLI generic
- D-Link Recovery GUI
- dataclouds
- EVA FTP
- fritzflash
- GUI generic
- GUI OEM
- JBoot web recovery
- JTAG
- Linksys TFTP
- Mikrotik TFTP
- Netboot
- nmrpflash
- RedBoot TFTP + serial recovery
- RedBoot TFTP recovery
- SD card
- see devicepage
- see forum
- see git-commit
- Serial
- Sunxi installation
- Sysupgrade
- Telnet
- TFTP generic
- TP-Link TFTP
- U-Boot TFTP + serial recovery
- U-Boot TFTP recovery
- U-Boot USB recovery
- U-Boot web recovery
- Ubiquiti 2WA
- Ubiquiti WA
- Ubiquiti XC
- Ubiquiti XM
- Ubiquiti XW
- unknown
- x86 installation
Recovery methods
- ADAM2 FTP
- Asus Firmware Restoration Tool
- AVM recovery tool
- Breed web recovery
- brnboot web recovery
- CF card
- CFE TFTP + serial recovery
- CFE TFTP recovery
- CFE web recovery
- D-Link Recovery GUI
- EVA FTP
- GUI generic
- JBoot web recovery
- JTAG
- Linksys TFTP
- Mikrotik TFTP
- nmrpflash
- RedBoot TFTP + serial recovery
- RedBoot TFTP recovery
- SD card
- see devicepage
- see forum
- see git-commit
- TFTP generic
- TP-Link TFTP
- U-Boot TFTP + serial recovery
- U-Boot TFTP recovery
- U-Boot USB recovery
- U-Boot web recovery
- ubiquiti_tftp
- unknown
Basic configuration
Documentation
User guide
Base system
- Basic configuration
- Clarifying the term "Interface"
- Command-line interpreter
- DDNS client configuration
- DHCP and DNS configuration /etc/config/dhcp
- DHCP and DNS examples
- DNS configuration
- Dnsmasq DHCP server
- Dropbear configuration
- Hotplug
- LED Configuration
- Logging messages
- Managing services
- Network basics
- Scheduling tasks with cron
- System configuration /etc/config/system
- System configuration not handled by UCI
- The UCI system
- User Configuration
- Web Server Configuration
LuCI web interface
Network configuration
Documentation
User guide
Network
- Architecture
- DHCP client scripts
- High availability
- Integrating an OpenWrt network device in your network
- IPv4/IPv6 transition technologies
- MAP IPv4-over-IPv6 encapsulation
- MultipathTCP and OpenWrt
- Network configuration /etc/config/network
- Network interface aliases
- OpenWrt as client device
- OpenWrt as router device
- Particularities of Single-Port Devices
- Routed Client
- Router vs switch vs gateway and NAT
- Static configuration
- Tunneling interface protocols
- UCI networking options cheatsheet
architecture
DSA Networking
IPv4
IPv6
- How to use OpenWrt behind a Freebox Crystal with IPv6 bridge
- How to use OpenWrt behind a Freebox with IPv6 delegation
- IPv6 configuration
- IPv6 extras
- IPv6 multicast
- IPv6 on L2TP softwire
- IPv6 troubleshooting
- IPv6 with Hurricane Electric
- IPv6 with Hurricane Electric using LuCI
- NAT64 for a IPv6-only network (Jool)
- NAT66 and IPv6 masquerading
- WIDE-DHCPv6 client configuration
Routing
Routing examples
- Routing example: Bridged DMZ
- Routing example: GRE
- Routing example: IPv4
- Routing example: IPv6
- Routing example: OpenVPN
- Routing example: PBR with iproute2
Traffic shaping
- Brain Fuck Scheduler
- CHOKe
- Class Based Queueing
- CoDel
- Deficit Round Robin
- Example1: Traffic Prioritizing with PRIO
- Example2: plain simple bandwidth/traffic sharing with HTB
- Example3: traffic shaping and prioriziting for multiple users with HFSC
- Example4: HFSC + FQ_CODEL + FLOW classifier
- Example5: Traffic Prioritizing with HTB and MAC filtering
- Fair Queue CoDel
- Hierarchical Fair Service Curve (HFSC)
- Hierarchy Token Bucket
- Linux Packet Scheduling
- Netem (Network Emulator)
- QoS (Network Traffic Control)
- QoS configuration /etc/config/qos
- Random Early Detection
- SQM (Smart Queue Management)
- SQM configuration /etc/config/sqm
- SQM Details
- Stochastic Fairness Queueing
- Token Bucket Filter
VLAN (Virtual LAN)
- Extending the router ports with a managed switch with VLANs
- Splitting VLANs
- Switch documentation
- VLAN
WAN (Internet access)
- Accessing the modem through the router
- Bridge mode
- Connect to ISP using L2TP with dual access
- EasyCwmp (CPE WAN Management Protocol daemon)
- How to configure Motorola cable modems (DOCSIS)
- Internet connection
- IPTV / UDP multicast
- ISP Configurations
- Poor Man's Bridge Mode
- Scripts to get information from modems
- Simple WAN Failover with 3G/LTE WWAN - Using a second router in the same LAN
- Smartphone USB reverse tethering with OpenWrt
- Smartphone USB tethering
- TR-069 / CWMP
- Using multiple WAN IPs
- Using multiple wan with multiple routers
- WAN interface protocols
- X Play
Multi-WAN (Internet access through more than one modem/device)
- Multiwan
- multiwan: Connection to spare internet provider
- MWAN with netifd
- mwan3 (Multi WAN load balancing/failover)
- mwan3 install using filesystem (not luci)
WWAN (3G/4G/LTE and similar)
- Dealing with monthly GB quotas
- How to send AT commands to device
- How to use LTE modem in QMI mode for WAN connection
- ModemManager
- USB mode switch
- Use 3G/UMTS USB Dongle for WAN connection
- Use cdc_ether driver based dongles for WAN connection
- Use NCM USB Dongle for WAN connection
- Use RNDIS USB Dongle for WAN connection
Wi-Fi configuration
- 802.11r Roaming
- Bridged AP
- Configure A(ccess) P(oint or 'hotspot') + STA(tion or 'client')
- Configure Wi-Fi encryption
- Connect to client Wi-Fi network
- Country code for Wi-Fi operation
- Exceeding transmit power limits
- FreeRADIUS
- Identify Wi-Fi connection as metered on Android automatically
- Identify Wi-Fi connection as metered on Linux automatically
- Identify Wi-Fi connection as metered on Windows automatically
- Introduction to 802.1X
- Routed AP
- RSN preauthentication
- Setting up DAWN and band-steering in OpenWrt
- Setting up usteer and band-steering in OpenWrt
- Setting up Wi-Fi repeaters with multiple SSIDs with separated private, tor and guest network
- Table of capabilities for wireless chipsets
- USB 3.0 and Wi-Fi problems
- Wi-Fi /etc/config/wireless
- Wi-Fi Extender/Repeater with relayd
- Wi-Fi on/off buttons
- Wi-Fi toggle
- Wide area Wi-Fi coverage
- Wireless Access Point (aka "Dumb" Access Point)
- Wireless overview
- Wireless Repeater/Extender with WDS
- wpa_supplicant
Guest Wi-Fi
- Guest Wi-Fi basics
- Guest Wi-Fi extras
- Guest Wi-Fi on a dumb wireless AP using LuCI
- Guest Wi-Fi using CLI
- Guest Wi-Fi using LuCI
Mesh Wi-Fi
- 802.11s - The Mesh11sd Project
- 802.11s Rapid Deployment
- 802.11s Wireless Mesh Networking
- B.A.T.M.A.N. / batman-adv
- IEEE 802.11s Wireless Mesh Networking
- OLSR Mesh
Wi-Fi Extenders/Repeaters
- Extenders/Repeaters - an Overview
- Travelmate, a connection manager for travel routers
- Wi-Fi Extender/Repeater with Bridged AP over 802.11s Mesh
- Wi-Fi Extender/Repeater with Bridged AP over Ethernet
- Wi-Fi Extender/Repeater with RelayD
- Wi-Fi Extender/Repeater with WDS
- Wi-Fi Repeater using AP+STA mode
Wi-Fi network tools
Zero configuration network setup
...
Firewall configuration
Documentation
User guide
Firewall configuration
- Firewall and network interfaces
- Firewall components
- Firewall configuration /etc/config/firewall
- Firewall overview
- fw4 Filtering traffic with IP sets by DNS
Firewall configuration
- Bridge firewall
- DMZ configuration using VLANs
- DNS hijacking
- Filtering traffic with IP sets by DNS
- Firewall usage guide
- IP set examples
- IPv4 firewall examples
- IPv6 firewall examples
- Logging rejected packets
- NAT examples
- Parental controls
- Port forwarding
- Reference network topology
Firewall miscellaneous pages
netfilter and iptables
- Logging Forwarded Packets in OpenWrt
- netfilter Configuration Examples
- Netfilter In OpenWrt
- Netfilter Management
Alternate firewall builders
- Firewall Builder: Essence Reloaded
- Firewall Builder: fwBuilder GUI
- Firewall Builder: Shell scripts
- Firewall Builder: Shorewall-lite
UPnP (Universal Plug and Play)
Advanced configuration
Documentation
User guide
Advanced configuration
- Auto Wake On LAN script for hosts
- Configuring kexec
- Connect an Arduino to OpenWrt
- Expanding root partition and filesystem
- Hotplug extras
- How to Load Balance OpenWrt
- IP set extras
- NTP
- Opkg extras
- PBR extras
- SDR
- Send SMS from Shell
- Send SMS or Email using 3G/GSM modem
- Sharing raw NMEA GPS data over the network with multiple clients
- Smartphone USB tethering
- Snippets
- Steam Caching using Nginx
- Sysupgrade extras
- UCI extras
- Watchcat - network watchdog utility
Installing additional software
Hardware-specific configuration
Documentation
User guide
Hardware features and modifications
- Add a buzzer (beeper) to the router
- Attach functions to a push button
- Change UART serial port speed (baud rate) on OpenWrt
- Debrick ath79 using JTAG
- Devolo Streaming Radio
- ESP8266 serial bridge
- Hardware watchdog
- How to turnoff JTAG to free GPIO (only on ath79 processors)
- How to turnoff UART to free GPIO (only on ath79 processors)
- How to use I²C over USB
- LIRC audio_alsa
- LIRC GPIO blaster
- LIRC GPIO receiver / blaster
- MMC/SD card over GPIO howto
- PirateBox & LibraryBox
- PWM emulation with GPIO
- SIP daemon for Lantiq devices with owsip
- Terminate UART Console
- Turning USB power on and off
- USB Guest configuration
Audio support
Bluetooth in OpenWrt
- Bluetooth Audio
- Bluetooth presence detection
- Bluetooth Speakers/Headphones
- IPv6 over Bluetooth Smart (Low Energy)
- Smartphone Bluetooth Tethering
- USB Bluetooth support
LED manipulation and setup
Video support
Storage devices
Additional services
Documentation
User guide
Additional services
- Ad blocking
- AOE ((s)ATA over Ethernet) with vblade
- Babel routing protocol (babeld)
- banIP
- CHROOT
- CrowdSec
- geoip-shell
- Gitolite user-restricted git hosting
- Honeypots
- Irqbalance
- Kerberos Server HowTo
- Prosody XMPP Server (open messaging protocol)
- PXE-Boot network boot server
- Python
- Random generator
- Single Packet Authorization with Fwknop
- Snort
- Telegraf
- USB over IP tunnel
Automation, home automation and similar
- Crelay
- Domoticz on OpenWrt
- FHEM on OpenWrt
- pywws Python Weather Station HowTo
- Weather station control with WeeWX
Captive portals (splash pages for free or paid WiFi)
- CoovaChilli captive portal
- Nodogsplash (Outdated document)
- NoDogSplash Captive Portal
- OpenNDS Captive Portal
- WiFiDog captive portal (defunct)
DC (Direct Connect file sharing)
DDNS (Dynamic Domain Name System)
DNS (Domain Name System)
- AdGuard Home
- Bind
- bind-server-filter-aaaa: forcing domains to resolve only to IPv4 addresses
- DNSCrypt with Dnsmasq and dnscrypt-proxy
- DNSCrypt with Dnsmasq and dnscrypt-proxy2
- dnscrypt-proxy
- DoH with Dnsmasq and https-dns-proxy
- DoH/DoH3, DoT, DoQ and DNSCrypt with Dnsmasq and dnsproxy
- DoT with Dnsmasq and Stubby
- DoT with Unbound
- ipset-dns
- KadNode
- Stubby
- Tinydns
- Unbound
Downloading and P2P file sharing
Email server and functionality
Media server (stream media to devices in the local network)
- DLNA Media Server
- iTunes server (forked-daapd)
- MiniDLNA
- Rygel DLNA Media Server
- uShare configuration
NAS (Network Attached Storage)
- AFP Netatalk share configuration (Apple Time Machine)
- CIFS Client
- FTP servers
- iSCSI
- ksmbd
- Network File System (NFS)
- NFS client
- NFS share configuration
- ownCloud or NextCloud
- RemoteFS Client
- RemoteFS Server
- Samba
- Samba 3 (old version)
- Samba Advanced Settings
- SFTP server
- Share USB hard-drive with Samba using LuCI
- WebDAV Share
Network monitoring
- Bandwidth Monitoring Guide
- Bandwidth Monitoring through scripts
- Bandwidthd
- Bandwith Monitoring with wrtbwmon
- collectd.rrdtool
- Darkstat
- Network Traffic Monitor with vnStat
- ZABBIX network monitoring
NTP (time synchronization over Network Time Protocol)
Print server (printing over the network)
Proxy server
- Privoxy
- Proxy server overview
- Shadowsocks
- Squid
- Tinyproxy
- udpxy
- VNC repeater
- ZNC IRC network bouncer
Control your device remotely without direct SSH access
- daloRADIUS management system
- Ostiary Client (run a fixed set of commands remotely)
- Ostiary Daemon (run a fixed set of commands remotely)
- Port knocking server knockd
Scanner server
SNMP (Simple Network Management Protocol)
SSH (Secure Shell remote access)
- Autossh
- OpenSSH Multi Factor Authentication
- Replace Dropbear to OpenSSH + SFTP
- SSH FileSystem
- SSH tunnel
- SSHFS client
TLS encryption
- Get a free HTTPS certificate from LetsEncrypt for OpenWrt with ACME.sh
- Installing and trusting a root CA certificate in a PKI
- TLS libraries
- TLS/SSL certificates for a server
Tor
UPS (Uninterruptible Power Supply)
- APC BackUps ES-500 - Linksys EA3500 - LuCI graphs
- APC SmartUps SU-700 - Linksys EA3500 - LuCI graphs
- How to add data from a TP9605BT multimeter to apcupsd rrd and graphs.
- NUT (Network UPS Tools)
VoIP (Voice over Internet Protocol)
VPN (Virtual Private Network)
Libreswan / IPsec
OpenConnect
OpenVPN
- OpenVPN client
- OpenVPN client using LuCI
- OpenVPN extras
- OpenVPN PC script automated
- OpenVPN performance
- OpenVPN server
- OpenVPN server with dynamic IPv6 GUA prefix
PPPoSSH
PPTP
SoftEther VPN
strongSwan / IPsec
- IPsec basics
- IPsec Firewall
- IPsec Legacy IKEv1 Configuration
- IPsec Modern IKEv2 Road-Warrior Configuration
- IPsec Performance
- IPsec Site-to-Site
- IPsec With Overlapping Subnets
- strongSwan IPsec Configuration via UCI
Tinc
WireGuard
- WireGuard basics
- WireGuard client
- WireGuard extras
- WireGuard multi-client server automated
- WireGuard peers
- WireGuard performance
- WireGuard road-warrior automated
- WireGuard routing all traffic
- WireGuard server
- WireGuard site-to-site automated
Wake on LAN (sending Ethernet messages to power up network devices)
Web servers
- Apache HTTP Server
- BusyBox HTTP Daemon (httpd) webserver
- Hiawatha webserver
- Lighttpd webserver
- mini-httpd webserver
- Netcat as Webserver
- Nginx webserver
- PHP
- Set up a LAMP webserver stack
- uHTTPd Web Server Configuration
- uHTTPd webserver
- Using OpenWrt/LEDE to build a LAMP/WordPress dev server on a travel router
Troubleshooting and maintenance
Running OpenWrt in a virtual machine or container
Documentation
User guide
Virtualization
- Docker OpenWrt Image Generation
- Metarouter Virtualization on Mikrotik RouterBoard
- OpenWrt as a Docker Image
- OpenWrt as a Xen DomU guest
- OpenWrt as Docker container host
- OpenWrt as DomU in Debian Xen4 in a private network
- OpenWrt as QEMU/KVM host server
- OpenWrt in LXC containers
- OpenWrt in QEMU
- OpenWrt on UTM on Apple Silicon HowTo
- OpenWrt on VirtualBox HowTo
- OpenWrt on VMware Fusion on Apple Silicon HowTo
- OpenWrt on VMware HowTo
- OpenWrt running as metarouter on mikrotik routerOS
- VirtualBox Advanced