OpenWrt

Aus /usr/space Wiki
Zur Navigation springen Zur Suche springen
Diese Seite wird aktuell in mehreren Schritten erstellt. Solange diese Info zu sehen ist, solltest du dich auf nichts in diesem Artikel verlassen

Auf dieser Seite teilen wir unsere Erfahrungsberichte mit OpenWrt und dessen Einrichtung.


Installation

Bild der 'Firmware Update'-Seite des TP-Link-Webinterface
'Firmware Update'-Seite des TP-Link-Webinterface
Binde den Router, an dem du arbeiten willst, nicht direkt in dein Netzwerk ein. Standardmäßig läuft sowohl mit der Original-Firmware als auch mit OpenWrt ein DHCP-Server. In deinem Netzwerk ist ziemlich sicher bereits ein anderer DHCP-Server aktiv (z.B.: dein aktueller Router). Verbinde den Router direkt mit einem Rechner, bevorzugt per LAN-Kabel.

Hier werden die Installationsvorgänge beschrieben, die von uns bereits durchgeführt wurden (Aktuell nur ein Router-Modell).

TP-Link Archer AX23 v1

Die Installation auf diesem Router gestaltet sich sehr einfach. Lade das Factory-Image (Firmware-Selektor - aktuelle Stable-Version auswählen; der Link bezieht sich auf 22.03.5) herunter, und spiele es über das Web-Interface des Routers ein (Advanced -> System -> Firmware Update | siehe Bild | IPv4 - wenn nicht geändert: 192.168.0.1). Klicke auf Update und bestätige die Aktion. Warte ein bisschen und du kannst dich über SSH oder das LuCI-Webinterface (192.168.1.1) mit OpenWrt verbinden.

Einrichtung

Diese Anleitung basiert auf einer deutschsprachigen YouTube-Playlist, welche ich in den (mMn) relevanten Punkten zusammenfasse.

Grundkonfiguration

Verbinden mit dem Router

Für eine einfache Einrichtung empfehle ich, einen PC mit einen der LAN-Ports zu verbinden. Der WAN-Port kann entweder mit deinem bestehenden Netzwerk oder direkt mit deinem Modem verbunden werden. So hast du sowohl mit deinem PC als auch mit dem Router Zugriff auf das Internet, ohne dass sich (eventuell) zwei DHCP-Server in die Quere kommen.

Du kannst den Router jetzt über 192.168.1.1 per Browser und SSH verbinden. Im weiteren Vorgehen beschränken wir uns aber möglichst auf das LuCI-Webinterface. Melde dich als root an (Passwortfeld einfach leer lassen).

Im Regelfall wird beim Anwenden einer Änderung die Seite automatisch neu geladen. Wenn dies nicht innerhalb der folgenden 90 Sekunden erfolgreich passiert, sollten die Änderungen wieder automatisch zurückgesetzt werden. Das heißt zum einen, dass du halbwegs davor geschützt bist, dich durch eine unüberlegte Änderung auszusperren, und zum anderen, dass du bei den Änderungen, die das absichtlich zur Folge haben, dich wieder rechtzeitig im LuCI-Webinterface anmelden musst, um die Änderung auch wirklich zu übernehmen.
Ich hatte Probleme mit der Internetverbindung des Routers. Er hat manche Hostnamen als IPv6 aufgelöst, was mit meinem Setup nicht funktioniert hat. Ich habe in diesem Fall den DHCPv6-Client des wan6-Interface deaktiviert. Gehe dazu nach Network -> Interfaces, und klicke bei wan6 auf Stop. Klicke auf Edit und entferne den Haken bei Bring up on boot. Klicke auf Save.

Setzen des Passwortes

Gehe zu System -> Administration -> Router Password und gib das gewünschte Root-Passwort ein. Klicke auf Save.

SSH Zugang aus dem Internet sperren

Ordne in System -> Administration -> SSH Access dem Feld Interface den Wert lan aus der Dropdown-Liste zu (dabei handelt es sich um ein Bridge Device, welchem alle LAN-Ports zugeordnet sein sollten). Klicke Save & Apply. Somit ist es nicht mehr möglich, eine SSH-Verbindung über den WAN-Port herzustellen.

HTTPS-Redirect

Um automatisch zu HTTPS umgeleitet zu werden, musst du einfach in System -> Administration -> HTTP(S) Access den Haken bei Redirect to HTTPS setzen. Klicke Save & Apply. Eventuell musst du die Seite manuell neu laden (du wirst jetzt eine Warnung des Browsers sehen, da ein self-signed-Zertifikat verwendet wird - bei Firefox: Warnung: Mögliches Sicherheitsrisiko erkannt. Klicke auf Erweitert -> Risiko akzeptieren und fortfahren).

Hostname und Zeitzone

Diese kannst du einfach in System -> System -> General Settings einstellen. Klicke Save & Apply.

LuCI deutsch beibringen

Dieser Punkt wird hier nur vollständigkeitshalber erwähnt, falls wirklich wer das deutsche Sprachpaket nachinstallieren will. Die restliche Anleitung bezieht sich weiterhin auf das englische Interface.

Gehe zu System -> Software und klicke auf Update lists.... Falls es dabei Probleme gibt, beachte die obere blaue Infobox. Gib in das Textfeld Filter: luci-i18n-base-de ein. Es sollte nur noch eine Zeile in der Tabelle darunter mit diesem Paket aufgeführt sein. Klicke auf Install... und wieder auf Install. Nachdem die Seite neu geladen wurde, sollte die Sprache schon automatisch umgestellt worden sein. Falls nicht, gehe zu System -> System -> Language and Style und wähle die entsprechende Sprache aus.

Es wird nicht unbedingt das komplette Interface mit der neuen Sprache versehen, speziell nicht, wenn du noch andere Pakete installierst, die das Webinterface betreffen - in diesem Fall gibt es eventuell separate Sprachpakete für die entsprechende Anwendung, die du selbst installieren musst.

Pakete upgraden

Prinzipiell sollten keine einzelnen Pakete, sondern die Firmware im ganzen geupgraded werden. Zwecks Vollständigkeit wird dieser Punkt hier dennoch aufgeführt.

Gehe zu System -> Software und klicke auf Update lists.... Falls es dabei Probleme gibt, beachte die obere blaue Infobox. Klicke auf den Reiter Updates. Verfügbare Paket-Upgrades kannst du hier mit Klick auf Upgrade... für das entsprechende Paket installieren. Es erscheint ein Dialog, der Details wie Abhängigkeiten anzeigt. Unten im Dialog ist eine Checkbox Allow overwriting conflicting package files - diese ist standardmäßig nicht angehakt. Wenn du auf Nummer-Sicher gehen willst, belasse es dabei - falls es einen Konflikt geben sollte, wirst du darauf hingewiesen und es wird die alte Datei beibehalten. Die neue Datei wird mit dem Suffix -opkg neben die alte gelegt, und du kannst sie selbst vergleichen, und gegebenenfalls die Änderung manuell anwenden (z.B. wird /etc/config/luci-opkg (neu) neben /etc/config/luci (alt) gelegt). Durch Klick auf Install wird das Paket geupgraded.

Wenn du ganz hart drauf bist, kannst du über die Kommandozeile alle Pakete auf einmal upgraden:

 opkg list-upgradable | cut -f 1 -d ' ' | xargs -r opkg upgrade

Jetzt wäre ein guter Zeitpunkt, den Router mal neu zu starten und zu schauen, ob noch alles funktioniert ;-)

WLAN einrichten

🧐 Wenn du Erfahrung mit der Einrichtung anderer Modi hast (z.B. 802.11s-Mesh), erweitere den Artikel bitte um einen entsprechenden Abschnitt.

Ein Wifi-Netzwerk eines OpenWrt-Router lässt sich in verschiedenen Modi betreiben. Folgend sind ein paar Modi aufgeführt.

Access Point

Mit OpenWrt lassen sich sehr einfach mehrere Access-Points einrichten. Standardmäßig ist bereits pro Wifi-Device (z.B. eines für 2,4 GHz und eines für 5 GHz) ein Access-Point eingerichtet, welcher jedoch deaktiviert ist und keine Verschlüsselung eingerichtet hat. Ansonsten lässt sich durch einen Klick auf Add bei einem Wifi-Device einfach eine neue Schnittstelle hinzufügen.

Durch Klick auf Edit bei einem Wifi-Interface bzw. Add bei einem Device öffnet sich ein Konfigurationsdialog. Die wichtigsten Punkte darin sind:

  • Device Configuration
    • General Setup
      • Operating Frequency
        • Mode: Ist normalerweise auf den aktuellsten Standard voreingestellt. Bei Kompatibilitätsproblemen mit Clients lässt sich hier der Mode ändern.
        • Channel: Falls auto Probleme machen sollte, kann hier manuell ein Kanal eingestellt werden (Vorher freie Kanäle ermitteln!).
        • Width: Prinzipiell kann man hier mit abnehmender WLAN-Dichte die Frequenz erhöhen. Eine höhere Frequenz hat ein instabileres aber schnelleres Netzwerk zur Folge.
      • Maximum transmit power: Wer auf Nummer-Sicher gehen will, wählt hier driver default.
    • Advanced Settings
      • Country Code: Wähle hier dein Land aus. Somit kann auch die maximal erlaubte Sendeleistung bestimmt werden, wenn beim vorherigen Punkt 'driver default' ausgewählt wurde.
  • Interface Configuration
    • General Setup
      • Mode: Access Point
      • ESSID: Der Name des Netzwerks. Es kann für z.B. für 2,4 GHz und 5 GHz der gleiche Name vergeben werden, dann kann sich ein Client selbst mit dem passenden Device verbinden (insofern die gleiche Verschlüsselung und das gleiche Passwort vergeben werden).
      • Network: Das/die Netzwerk-Interface/s, die mit dem AP verbunden werden sollen.
    • Wireless Security
      • Encryption: Es sollte die stärkste Verschlüsselung gewählt werden, mit der die Clients kompatibel sind.
      • Key: Das Passwort für dieses Netzwerk. Falls ein Client selbst zwischen Netzwerken verschiedener Devices (z.B. 2,4 GHz und 5 GHz) nach Bedarf wechseln können soll, sollte hier das gleiche Passwort vergeben werden.
    • Advanced Settings
      • Isolate Clients: Praktisch für Gast-Netzwerke.

Client

todo

Netzwerke mit Netzwerkbrücken anlegen

Um eigene Konfigurationen für z.B.: Gast- oder IoT-Netzwerke zu erstellen, können weitere Bridge-Devices angelegt werden. Falls mehrere logische Netze in einem physischen Netzwerk eingerichtet werden sollen, muss ein VLAN eingerichtet werden.

Bridge-Device hinzufügen

Klicke unter Network -> Interfaces auf den Reiter Devices. Um eine Brücke hinzuzufügen, klicke auf Add device configuration..., und wähle im Einrichtungdialog bei Device type Bridge device und vergib einen aussagekräftigen Namen wie z.B. br-guest (das Präfix 'br-' sollte bei Brücken verwendet werden). Bei Bridge ports wähle die physischen Ports des Routers aus, welche der Bridge hinzugefügt werden sollen. Diese Ports sollten nicht bereits in einer anderen Bridge vergeben sein. Um keine physischen Ports zuzuordnen (z.B. wenn die Bridge einem WLAN zugeordnet werden soll), setze den Haken bei Bring up empty bridge. Klicke auf Save und dann auf Save & Apply.

Neues Interface hinzufügen

Wechsle in den Reiter Interfaces und klicke auf Add new interface.... Wähle bei Protocol Static address und weise das eben erstellte Bridge-Device zu. Klicke auf Create interface. Es sollte sich ein Einrichtungsdialog für das Interface öffnen - wenn nicht, klicke beim gerade erstellten Interface auf Edit. Vergib eine IPv4-Adresse und eine Netzmaske. Der DHCP-Server für das neu angelegte Interface muss manuell aktiviert werden. Gehe dazu in den Reiter DHCP Server. Wenn hier ein Button Set up DHCP Server zu sehen ist, klicke darauf. Prinzipiell ist DHCP jetzt einsatzbereit, du kannst hier aber noch granularere Einstellungen nach Belieben vornehmen. Um DHCP für dieses Interface wieder zu deaktivieren, setze im Subreiter General Setup einfach den Haken bei Ignore interface. Im Reiter Firewall Settings kann dem Interface noch eine Firewall-Zone zugewiesen werden. Standardmäßig ist diese unspecified. Darauf angeschlossene Geräte können zwar auf das LAN (wenn bis jetzt nichts an der Firewall geändert wurde), aber nicht auf das Internet zugreifen. Das Einrichten der Firewall wird im Abschnitt #Firewall beschrieben. Klicke auf Save und dann auf Save & Apply.

VLAN

Beispiel-VLAN-Filtertabelle eines Bridge-Device
Beispiel-VLAN-Filtertabelle eines Bridge-Device (OpenWrt 22.03.5)
🧐 Aktuell wird hier nur das VLAN-Filtering eines Bridge-Devices beschrieben, was wahrscheinlich alle normalen Anwendungsfälle abdecken sollte. Falls du Erfahrung mit dem Anlegen eines VLAN-Devices hast (bevorzugt mittels LuCI), fügen bitte einen entsprechenden Abschnitt hinzu.

Bridge-VLAN-Filter

Gehe zu Network -> Interfaces in den Tab Devices. Klicke beim entsprechenden Bridge-Device auf Configure... (oder erstelle ein Bridge-Device und weise ihm freie Ports zu). Im Konfigurationsdialog gehe in den Tab Bridge VLAN filtering (siehe Bild Beispiel-VLAN-Filtertabelle).

Hier können der Bridge VLAN-IDs zugeordnet werden. Achte darauf, dass der Haken bei Enable VLAN filtering gesetzt ist.

Wenn die Option Local für ein VLAN aktiviert ist, ist der Router selbst Teil des Netzwerks - kann also aus dem VLAN erreicht werden. Für ein Gästenetzwerk sollte diese Option also deaktiviert werden (zusätzlich zu entsprechenden Firewall-Settings).

Für jedes der Bridge zugeordnete Interface muss noch das Tagging für jede VLAN-ID entsprechend eingestellt werden. Folgend werden die möglichen Optionen kurz erläutert:

  • Not Member: Dieses Interface ist nicht Teil des VLANs.
  • Untagged: Die VLAN-ID wird von ausgehenden Paketen entfernt, wodurch mit anderen Netzwerkgeräten ohne VLAN-Konfiguration kommuniziert werden kann. Wenn dieses VLAN das einzige 'untagged'-VLAN des Interfaces ist, werden eingehende 'untagged' Pakete diesem VLAN zugeordnet, insofern nicht die Option Is Primary VLAN bei einem anderen VLAN gesetzt ist.
  • Tagged: Ausgehende Pakete werden mit der entsprechenden VLAN-ID versehen und eingehende Pakete mit entsprechender ID werden diesem VLAN zugeordnet. Wenn zusätzlich Is Primary VLAN gesetzt wird, werden diesem VLAN auch eingehende 'untagged'-Pakete zugeordnet.
  • Is Primary VLAN: Eingehende 'untagged'-Pakete auf diesem Interface werden dem VLAN zugeordnet.

Bestätige den Dialog durch Klick auf Save.

ACHTUNG: Falls du gerade das Bridge-Device bearbeitet hast, über die du mit dem Router verbunden ist, klicke noch nicht auf Save & Apply. Ansonsten kannst du das natürlich jetzt machen.

Wechsle in den Tab Interfaces.

  • Falls der gerade beschriebene Fall auf dich zutrifft (Bridge-Device bearbeitet, über das du mit dem Router verbunden bist), klicke bei dem Interface, dem das entsprechende Bridge-Device zugeordnet ist, auf Edit. Im Tab General Settings des Dialogs ordne als Device eines der gerade (implizit) erstellten Software VLANs aus. Bestätige den Dialog durch Klick auf Save und klicke jetzt auf Save & Apply. Falls jetzt tatsächlich etwas schiefgegangen sein sollte, warte 90 Sekunden, dann können diese Änderungen wieder rückgängig gemacht werden.

Erstelle für die eben (implizit) erstellten Software VLAN-Devices (außer für eben beschriebenen Fall) neue Interfaces. Folge dazu dem Abschnitt #Neues Interface hinzufügen, mit der Ausnahme, dass als Device ein Software VLAN Device anstatt eines Bridge Device zugeordnet werden muss.

Firewall

Hier wird die Vorgehensweise zur Absicherung eines einfachen Gast-Netzwerks erläutert. Es wird davon ausgegangen, dass bereits ein Gast-Netzwerk-Interface eingerichtet ist.

Gehe zu Nezwork -> Firewall. Klicke im Tab General Settings unter der Zones-Tabelle auf Add. Wir bleiben im Zone Settings-Dialog im Tab General Settings. Hier eine Beispielkonfiguration:

  • Name: Ein Name für die Zone, z.B.: guest
  • Input (default policy): reject - Gäste sollen keinen Zugriff auf den Router haben.
  • Output (default policy): accept - Der Router soll Zugriff auf das Gast-Netz haben.
  • Forward (default policy): reject - default-mäßig soll das Gast-Netz keinen Zugriff auf andere Netzwerke haben. Wir legen mit Allow forward to destination zones noch eine Ausnahme für wan fest, dass das Internet erreicht werden kann.
  • Masquerading: Da sich dieser Router wahrscheinlich nicht hinter einem anderen Router befindet, der sich um das NAT kümmert, sollte dieser Haken gesetzt werden.
  • MSS clamping: die Notwendigkeit für diese Option musst du leider selbst ermitteln.
  • Covered networks: das/die Netzwer-Interface/s, welche Mitglieder der Zone sein sollen. In diesem Fall z.B. 'guest'.
  • Allow forward to destination zones: die wan-Zone, um auf das Internet zugreifen zu können.
  • Allow forward from source zones: unspecified

Klicke auf Save. Es müssen noch Regeln für DHCP und DNS erstellt werden, dass den Clients eine IP-Adresse zugeordnet werden kann und sie DNS benutzen können. Wechsle hierzu in den Tab Traffic Rules und klicke unter der Tabelle Add. Im Dialog bleiben wir im General Settings-Tab und nehmen folgende Einstellungen für DHCP vor:

  • Name: z.B. guest-DHCP
  • Protocol: UDP
  • Source zone: z.B. guest
  • Source address: keine
  • Source port: leer lassen
  • Destination zone: Device
  • Destination address: keine
  • Destination port: 67 68 (getrennt durch ein Leerzeichen)
  • Action: accept

Klicke auf Save und wiederhole die Prozedur für die DNS-Regel mit folgenden Werten:

  • Name: z.B. guest-DNs
  • Protocol: TCP und UDP
  • Source zone: z.B. guest
  • Source address: keine
  • Source port: leer lassen
  • Destination zone: Device
  • Destination address: keine
  • Destination port: 53
  • Action: accept

Klicke unter der Tabelle auf Save & Apply.

Nur Switch/Access Point

🧐 Dieser Abschnitt muss noch um die Einrichtung der Hardware als einfacher Access-Point erweitert werden.

Backups erstellen/einspielen

Um Ein Backup der Routerkonfiguration zu bekommen, musst du einfach in System -> Backup / Flash Firmware auf Generate archive klicken. Dabei werden die Konfigurationsdateien (/etc) gesichert.

Um diese Konfiguration wiederherzustellen (z.B. um einen frisch aufgesetzten Router damit zu versehen), musst du einfach auf Upload archive... klicken und ein entsprechendes Archiv hochladen.

🧐 Werden zusätzlich installierte Pakete automatisch nachinstalliert? Recherchieren und Artikel aktualisieren.

Firmware-Update

Lade das für deine Hardware passende aktuelle Image vom Firmware-Selektor herunter. Klicke dazu im Downloads-Bereich auf SYSUPGRADE.

Im LuCI-Webinterface klicke unter System -> Backup / Flash Firmware auf Flash image..., um das Image hochzuladen und das Update anzuwenden.

🧐 Abschnitt muss noch verifiziert werden.