Openwrt

OpenWrt ist ein kostenloses, quelloffenes Betriebssystem für Router, das auf dem Linux-Kernel basiert und häufig in Soft-Routern, Hardware-Routern sowie eingebetteten Netzwerkgeräten eingesetzt wird. Im Gegensatz zu herkömmlicher Router-Firmware bietet OpenWrt ein vollständig beschreibbares Dateisystem mit Paketverwaltung. Du kannst frei Anwendungen installieren und Router-Funktionen erweitern – komplett ohne Herstellerbeschränkungen.

Als eines der beliebtesten Open-Source-Router-Systeme verfügt OpenWrt über eine aktive Entwickler-Community und ein riesiges Plugin-Ökosystem mit über 1.000 Paketen. Egal ob du einen normalen Router in einen smarten Soft-Router verwandeln, einen Heim-NAS aufbauen oder Werbung blockieren möchtest: OpenWrt macht es möglich.

openwrt

Vorbereitung

Hardware-Anforderungen

Bei der Wahl eines Routers für OpenWrt solltest du ein Gerät mit mindestens 8 MB Flash-Speicher und 64 MB RAM bevorzugen, damit das Betriebssystem und die Web-Oberfläche (LuCI) reibungslos laufen.

Firmware-Auswahl

Du musst die exakt passende Firmware für die spezifische Modell- und Hardwareversion deines Routers wählen. Ein TP-Link WR841N v8 benötigt beispielsweise eine andere Datei als andere Versionen. Die falsche Datei kann das Gerät „bricken". Korrekte Firmware-Dateien enden meist auf factory.bin.

Überprüfe die Kompatibilität im offiziellen OpenWrt Firmware Selector.

OpenWrt-Firmware installieren

Flash-Vorgang

Das Flashen erfolgt über die Web-Oberfläche des Herstellers:

  1. Verbinde PC und Router per Ethernet-Kabel (kein WLAN während des Flashens!)
  2. Logge dich in die原厂-Oberfläche ein
  3. Gehe zu „Systemwerkzeuge" → „Firmware-Upgrade"
  4. Wähle die heruntergeladene factory.bin-Datei
  5. Klicke auf „Upgrade" und warte den Neustart ab

⚠️ Wichtig: Unterbrich niemals die Stromversorgung oder trenne das Kabel während des Flashens, sonst brickt der Router.

Erster Zugriff

Nach dem Flashen verbinde den Router per Kabel und rufe http://192.168.1.1 im Browser auf. Erster Login erfolgt ohne Passwort – einfach auf „Anmelden" klicken.

Absicherung & Grundeinstellungen

Nach der Installation solltest du sofort die Sicherheit konfigurieren:

Root-Passwort setzen

  1. Gehe zu „System" → „Verwaltung"
  2. Setze ein neues Root-Passwort im Feld „Router-Passwort"
  3. Klicke auf „Speichern & Anwenden"

WLAN aktivieren

Standardmäßig ist das WLAN in OpenWrt deaktiviert:

  1. Gehe zu „Netzwerk" → „Drahtlos"
  2. Klicke auf „Bearbeiten" beim Wireless-Device
  3. Aktiviere „Drahtlos aktivieren"
  4. Setze unter „Drahtlosicherheit" die Verschlüsselung (empfohlen: WPA2-PSK) und ein Passwort
  5. „Speichern & Anwenden"

LAN-IP ändern

Wenn bereits ein anderer Router 192.168.1.1 nutzt, ändere die OpenWrt-LAN-IP, um IP-Konflikte zu vermeiden:

  1. „Netzwerk" → „Schnittstellen" → „LAN" → „Bearbeiten"
  2. IPv4-Adresse ändern (z. B. 192.168.9.1)
  3. „Speichern & Anwenden"
  4. Wichtig: Passe auch den DHCP-Bereich an, sodass er im selben Subnetz liegt

Danach musst du dich über die neue IP erneut einloggen.

Grundlegende Netzwerk-Konfiguration

DHCP-Leases

Unter „Status" → „DHCP-Leases" siehst alle verbundenen Geräte und ihre IPs.

Netzwerk-Schnittstellen

OpenWrt unterstützt mehrere Protokolle:

Protokoll Beschreibung
DHCP IP wird automatisch vom Upstream-Router bezogen (häufigste Wahl)
Static (statisch) Manuelle IP, Subnetzmaske und Gateway
PPPoE Einwahl-Internet, benötigt ISP-Zugangsdaten

Portweiterleitung

Unter „Netzwerk" → „Firewall" → „Portweiterleitungen" legst du Regeln fest, um externe Anfragen an interne Server durchzureichen.

WLAN-Client-Modus (Repeater/Brücke)

OpenWrt kann als WLAN-Client konfiguriert werden, um sich in ein bestehendes WLAN einzubuchen und die Verbindung per Kabel weiterzugeben. Ideal zur Erweiterung der Reichweite:

  1. „Netzwerk" → „Drahtlos"
  2. „Scannen" klicken
  3. Zielnetzwerk auswählen → „Netzwerk beitreten"
  4. Modus auf „Client" stellen
  5. WLAN-Sicherheit konfigurieren
  6. Speichern & Anwenden

Systemprotokolle

OpenWrt führt detaillierte Logs, die den Netzwerkstatus in Echtzeit zeigen (DHCP-Vergaben, Systemevents etc.).

Einsehbar unter „Status" → „Systemprotokoll" oder per SSH mit logread.

Empfohlene LuCI-Plugins

Die Stärke von OpenWrt liegt in den Plugins:

Plugin Funktion
luci-app-statistics Verlaufsdiagramme: CPU, RAM, Traffic
luci-app-firewall Visuelle Firewall-Verwaltung
luci-app-adblock Werbeblocker, blockiert Ad-Domains automatisch
luci-app-upnp UPnP-Support, automatische Portfreigabe

Installation per SSH:

BASH
opkg update
opkg install luci-app-statistics

Oder über LuCI: „System" → „Software".

Erweiterte Konfiguration

Gateway-Router (Single-Arm Router)

Ein Gateway-Router ist eine typische Einsatzart von Soft-Routern. Du tauschst nicht den Hauptrouter aus, sondern bindest OpenWrt als zusätzliches Gerät ins Netzwerk ein.

Warum ein Gateway-Router?

  • Kein Eingriff ins bestehende Netz: Hauptrouter bleibt für DHCP & NAT zuständig
  • Flexibel umschaltbar: Geräte können gezielt auf OpenWrt geleitet werden
  • Ideal für Heim/KMU: Ein x86-Mini-PC + Hauptrouter genügen

Gateway-Router einrichten

  1. „Netzwerk" → „Schnittstellen" → „LAN" → „Bearbeiten"
  2. Folgendes anpassen: - IPv4-Adresse: Gleiche Subnetz wie Hauptrouter, z. B. 192.168.1.2 - Subnetzmaske: 255.255.255.0 - Gateway: IP des Hauptrouters, z. B. 192.168.1.1 - DNS: Öffentliche DNS wie 223.5.5.5 (Ali) oder 119.29.29.29 (Tencent)
  3. DHCP deaktivieren: Tab „DHCP-Server" → „Dieses Interface ignorieren" aktivieren
  4. Speichern & Anwenden

Client-Geräte nutzen

Methode 1: Manuelles Gateway (empfohlen) - Setze auf ausgewählten Geräten das Gateway manuell auf die OpenWrt-IP (192.168.1.2) - Ideal, wenn nur bestimmte Geräte spezielle Routen brauchen

Methode 2: DHCP-Server umleiten - Trage im Hauptrouter-DHCP das Gateway als OpenWrt-IP ein - Alle Geräte nutzen automatisch OpenWrt – perfekt für全屋-Werbeblocker/Smart-Home

Docker-Container deployen

OpenWrt unterstützt Docker, sodass du Dienste direkt auf dem Router hosten kannst.

Docker installieren

BASH
# Paketquellen aktualisieren
opkg update

# Docker installieren
opkg install docker docker-cli luci-app-dockerman

# Docker starten & aktivieren
/etc/init.d/dockerd enable
/etc/init.d/dockerd start

Nach der Installation erscheint ein „Docker"-Menü in LuCI.

Typische Container

AdGuard Home (Werbeblocker):

BASH
docker run -d \
  --name adguardhome \
  --restart unless-stopped \
  -p 53:53/tcp -p 53:53/udp \
  -p 80:80/tcp -p 3000:3000/tcp \
  -v /etc/adguardhome/work:/opt/adguardhome/work \
  -v /etc/adguardhome/conf:/opt/adguardhome/conf \
  adguard/adguardhome

Home Assistant (Smart Home):

BASH
docker run -d \
  --name homeassistant \
  --restart unless-stopped \
  --network host \
  -v /etc/homeassistant:/config \
  ghcr.io/home-assistant/home-assistant:stable

Aria2 (Downloader):

BASH
docker run -d \
  --name aria2-pro \
  --restart unless-stopped \
  -p 6800:6800 \
  -p 6880:6880 \
  -e PUID=1000 -e PGID=1000 \
  -e RPC_SECRET=your-secret-token \
  -v /mnt/downloads:/downloads \
  p3terx/aria2-pro

Hinweis: Docker auf dem Router braucht Ressourcen. Mindestens 2 GB RAM + 8 GB Speicher empfohlen.

Multi-WAN & Lastverteilung

Multi-WAN bündelt mehrere Internetanschlüsse für mehr Bandbreite oder Redundanz.

Multi-WAN einrichten

  1. Pakete installieren:
BASH
opkg update
opkg install luci-app-mwan3
  1. „Netzwerk" → „Schnittstellen": Mehrere WAN-Interfaces anlegen: - WAN1: Breitband 1 (z. B. eth1) - WAN2: Breitband 2 (z. B. eth2)

  2. „System" → „Load Balancing (MWAN3)": Strategie wählen: - Load Balancing: Traffic wird proportional verteilt - Active/Standby: Fallback bei Ausfall - Policy-basiert: Bestimmte IPs/Ports nutzen festes WAN

MWAN3 Beispiel

BASH
# Status prüfen
mwan3 status

# Richtlinien anzeigen
mwan3 policy

Werbeblocker-Lösungen

Option 1: AdBlock (leichtgewichtig)

BASH
opkg install luci-app-adblock

AdBlock leitet Werbe-Domains auf 0.0.0.0 um. Einfach, ressourcenschonend.

Option 2: AdGuard Home (empfohlen)

Via Docker deployen. Features: - Benutzerdefinierte Filterregeln - Detaillierte Abfrage-Logs - Kindersicherung - Upstream-DNS konfigurierbar

Option 3: PassWall / OpenClash

Für spezielle Routing-Anforderungen, unterstützt diverse Proxy-Protokolle.

BASH
# Beispiel PassWall
opkg install luci-app-passwall

Hinweis: Diese Tools dienen technischen Research-Zwecken. Bitte beachte lokale Gesetze.

Konfigurationsdatei-Struktur

OpenWrt nutzt eine Section/Option-Struktur unter /etc/config/.

  • Syntax: config <type> ["<name>"] für Sections, option <name> "<value>" für Optionen
  • Verarbeitet vom UCI-System (Unified Configuration Interface)

Netzwerk-Konfiguration

Gespeichert in /etc/config/network. Unterstützte Protokolle:

  • none — nicht konfiguriert
  • static — statische IP (ipaddr, netmask nötig)
  • dhcp — automatisch
  • pppoe — Einwahl

Switch & VLAN

OpenWrt unterstützt VLAN-Setup via Switch-Konfiguration:

  • Gespeichert in /etc/config/network
  • Broadcom-Hardware: Section-Name muss eth0 sein
  • VLAN-Namen: vlan<n> (n = VLAN-ID)
  • Port-Marker: * (Standard), u (untagged), t (tagged)
  • Broadcom CPU-Port: Port 5

WLAN-Konfiguration (CLI)

WiFi-Einstellungen liegen in /etc/config/wireless. Treiber-Skripte unter /lib/wifi/<driver_name>.sh.

Optionen: * Device: distance, mode, diversity, rxantenna, txantenna, txpower * Interface: network, device, mode, ssid, bssid

Modi: AP, Client, Ad-hoc, Monitor, WDS Point-to-Point.

802.1x-Authentifizierung

Unterstützt Client- und AP-Setup mit EAP-Typen: TLS, TTLS, PEAP.

WAN & WAN6

  • WAN: IPv4 Upstream
  • WAN6: IPv6 Upstream
  • LAN: Verwaltet downstream IPv4/IPv6 (kein separates LAN6 nötig)

Hotplug

Hotplug-Skripte reagieren auf Hardware-Events (z. B. automatisches Mounten bei USB-Einstecken).

Init-Skripte

Startskripte unter /etc/init.d/, Wrapper: /etc/rc.common.

Befehle:

BASH
/etc/init.d/<service> enable    # Autostart
/etc/init.d/<service> start     # Sofort starten
/etc/init.d/<service> stop      # Stoppen
/etc/init.d/<service> restart   # Neustart

Weitere nützliche Infos

SSH-Zugriff

BASH
ssh root@192.168.1.1

Aktivierbar unter „System" → „Verwaltung" → „SSH-Zugriff".

Texteditoren

vi und nano verfügbar. nano ist einsteigerfreundlich:

BASH
opkg install nano
nano /etc/config/network

Windows-Tools

  • PuTTY — SSH-Client
  • WinSCP — SFTP
  • SmarTTY — Moderner SSH-Client
  • cmder — Erweitertes Terminal

Entwicklung & Custom Builds (Fortgeschritten)

📌 Nur für Entwickler. Überspringen, wenn du OpenWrt nur als Router nutzt.

Build-System

Ermöglicht Cross-Compiling von Custom-Firmware-Images.

Quellcode holen

BASH
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt

Verzeichnisstruktur: | Ordner | Inhalt | |--------|--------| | tools/ | Build-Tools | | toolchain/ | Cross-Toolchain | | package/ | Paket-Definitionen | | target/ | Zielplattform-Konfiguration |

Konfiguration & Build

BASH
./scripts/feeds update -a
./scripts/feeds install -a

make menuconfig
make -j$(nproc)

Pakete

Fast alles in der Firmware ist ein .ipk-Paket.

Custom Package erstellen

Makefile erstellen:

MAKEFILE
include $(TOPDIR)/rules.mk

PKG_NAME:=my-package
PKG_VERSION:=1.0
PKG_RELEASE:=1

include $(INCLUDE_DIR)/package.mk

define Package/my-package
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=My custom package
endef

define Package/my-package/install
  $(INSTALL_DIR) $(1)/usr/bin
  $(INSTALL_BIN) ./files/my-script $(1)/usr/bin/
endef

$(eval $(call BuildPackage,my-package))

Kernel-Module

KernelPackage-Sections für Treiber. Optionen: TITLE, DESCRIPTION, SUBMENU, KCONFIG, FILES, AUTOLOAD.

Fehlerbehebung

BASH
make -C package/<name> DUMP=1 V=99
make package/<name>/clean V=99
make package/<name>/install V=99

Neue Plattformen portieren

Techniken: * OS-Fingerprinting (nmap) * Port-Scans * Firmware-Image-Analyse * Flash-Kapazität prüfen * Serielle Debug-Verbindung

Nach Hardware-Info & SDK-Anpassung: Kernel-Patches, Binärtreiber, Flash-Mapping, Build-Tools.

Bug-Reports

OpenWrt nutzt GitHub Issues für Bugs & Feature-Requests.


Vergleich: OpenWrt vs DD-WRT vs pfSense vs MikroTik RouterOS

Kriterium OpenWrt DD-WRT pfSense MikroTik RouterOS
Open Source ✅ Voll (GPL) ✅ Open ✅ Open (BSD) ❌ Kommerziell
Preis Kostenlos Kostenlos Kostenlos $45-295
Hardware-Support Sehr breit (1000+) Breit (700+) Nur x86/APU Nur MikroTik
Plugins 1000+ Begrenzt Reich (FreeBSD Ports) Integriert
Web-UI LuCI (leicht) Eigenbau Professionell WinBox / WebFig
Docker ✅ Ja ❌ ⚠️ Eingeschränkt ❌
Lernkurve Mittel Mittel Steil Steil
Einsatz Soft-Router/Heim/KMU Heim Enterprise-Firewall Enterprise/ISP
Community ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐

Empfehlung: - OpenWrt — Beste Wahl für Soft-Router, breiteste HW-Kompatibilität, größte Plugin-Auswahl - DD-WRT — Etabliert, ideal für „einfach mehr als Standard" - pfSense — Professionelle Firewall/Router für Unternehmen - MikroTik RouterOS — Enterprise/ISP, mächtig, aber Schulung nötig

OpenWrt FAQ

F1: Was ist OpenWrt? Unterschied zu normaler Firmware?

A: OpenWrt ist ein quelloffenes Router-Betriebssystem auf Linux-Basis. Unterschiede: - Voll anpassbar: Dateisystem + Paketverwaltung - Open Source: Transparent, community-getrieben - Breite HW-Unterstützung: 1000+ Geräte - Erweiterte Features: Docker, VPN, QoS, Werbeblocker, Soft-Router

F2: Welche Router sind kompatibel?

A: Sehr breite Palette: - Heim-Router: TP-Link, Netgear, Linksys, ASUS, Xiaomi etc. - x86 Soft-Router: Mini-PCs, IPCs auf Intel/AMD - SBCs: Raspberry Pi, Banana Pi etc.

Prüfe Kompatibilität im Firmware Selector.

F3: Risiko beim Flashen? Wie rettet man ein Brick?

A: Risiken existieren, sind aber beherrschbar: - Risiken minimieren: Richtige Firmware, Strom erhalten, Backup erstellen - Rettung: 1. TFTP-Mode: Viele Router unterstützen TFTP-Recovery 2. Seriell: TTL-Verbindung zur Reparatur 3. Bootloader: CFE/Bootloader neu flashen 4. Hardware-Programmer: Flash-Chip direkt beschreiben

Tipp: Immer Original-Firmware sichern und Rettungsmethode kennen.

F4: Docker auf OpenWrt?

A: Ja. Installiere dockerd & Abhängigkeiten:

BASH
opkg install docker docker-cli luci-app-dockerman

Empfohlen: Mindestens 2 GB RAM.

F5: OpenWrt vs LEDE?

A: LEDE war ein 2016 entstandener Fork. 2018 fusionierten LEDE und OpenWrt wieder. Das heutige OpenWrt enthält die LEDE-Verbesserungen. „LEDE" in alten Docs = OpenWrt.