Heimrouter-Kochbuch/ Konfiguration
AVM-Router
[Bearbeiten]In diesem Kapitel werden die verschiedenen Einstellmöglichkeiten von OpenWRT einer frischen Installation beschrieben, welche über die Web-Oberfläche erreichbar sind. Nach der Installation ist die Web-Oberfläche über deren IP-Adresse erreichbar (diese und die Zugangsdaten sind in der Anleitung von OpenWRT beschrieben)[1].
Das Projekt OpenWRT bietet ein alternatives Betriebssystem für gängige Heimrouter. Die Software wird von Freiwilligen weiterentwickelt. Diese Freiwilligen passen das System auf eine Reihe von verschiedenen Routern für den Heimbereich an. Hierbei sind die eigenen Interessen ausschlaggebend, so dass nicht für jeden Router, das auf dem Markt erhältlich ist, OpenWRT angepasst wird. Soll ein neuer Router gekauft werden, muss der Verantwortliche sich zuerst informieren, bei welchem Router die aktuelle OpenWRT-Version installiert werden kann. Die Installationsmethoden können sich zudem unterscheiden. Nicht bei allen Routern ist es einfach, die OpenWRT-Version als Software-Update auf der Weboberfläche des Routers einzuspielen. Muss OpenWRT gar mittels angelöteten Kontakten aufgespielt werden, ist dies nur Experten zu empfehlen. Auf der Webseite von OpenWRT gibt es bereits unterschiedliche (enlische) Anleitungen für eine Vielzahl an Anwendungen: https://openwrt.org/docs/guide-user/start
OpenWRT ist ein Linux-Derivat, das auf die reduzierten Ressourcen eines Routers angepasst ist, speziell bedingt dadurch, dass der Flash-Speicher für das Betriebssystem nur wenige GB aufweist.
Mittlerweile sind die meisten Optionen über eine Web-Oberfläche (LuCI) erreichbar. Es gibt aber einzelne Optionen, welche über eine SSH-Konsole zu erreichen sind.
Die Web-Oberfläche ist einfach gehalten. In der oberen Zeile sind verschiedene Menü-Punkte zu sehen. Geht man mit der Maus auf einen Eintrag, erscheinen Untereinträge.
Basiseinrichtung
[Bearbeiten]Ein frisch installiertes OpenWRT (aktuell Version 19.07) präsentiert sich wie auf folgendem Bild.
Für den root-Zugang sind die Zugangsdaten vorhanden. Anschließend sollte umgehend das root-Passwort geändert werden. Auf der folgenden Übersichtseite wird der aktuelle Zustand des Routers dargestellt mit der Auslastung und allen angemeldeten Rechnern. Über die verschiedenen Punkte wird das System eingerichtet.
Unter dem Punkt "Status" sind verschiedene Seiten erreichbar, um den aktuellen Zustand im Detail sehen zu können.
Status
[Bearbeiten]Unter Status werden verschiedenen Punkte versammelt, um den aktuellen Zustand des Routers zu sehen. Dies wird oft für Fehlersuche verwendet.
Overview
[Bearbeiten]Obige Abbildung der Startseite ist direkt die Übersichtsseite, die jederzeit unter Status/Overview wieder besucht werden kann.
Im oberen Bereich wird eine Beschreibung der Hardware und des installierten OpenWRT-Images gegeben. Für die Firmware selbst wird es keine Update-Informationen geben. Der Nutzer muss selbst auf der Seite von OpenWRT.org nach aktuellen Versionen suchen. Um das entsprechende Image zu finden, helfen die hier angegebenen Informationen über Hardware Hardware-Revision.
Der Abschnitt Memory zeigt den aktuellen Speicherbedarf des Routers und der installierten Pakete an.
Der Bereich Network zeigt Informationen über den Upstream, also die Verbindung ins Internet dar. Heutzutage werden zwei Verbindungen für IPv4 und IPv6 dargestellt.
Anschließend werden die aktiven DHCP-Leihgaben angezeigt. Jedes Gerät, welches seine IP-Zuweisung über DHCP vom Router anfordert, bekommt eine Leihgabe, die nur eine begrenzte Zeit gültig ist (zunächst für 12h, kann aber in der Konfiguration des DHCP-Servers angepasst werden).
Pro Zeile wird der Rechnername (Hostname), die zugewiesenen IPv4-Adresse und die vom Rechner gemeldete [|w:MAC-Adresse|]] angezeigt. Die übrige Leihdauer zeigt die Gültigkeit des DHCP-Eintrages an. Ist diese abgelaufen, wird der Eintrag entfernt.
Für IPv6 wiederholt sich der Abschnitt mit den IPv6-Leihgaben.
Im Abschnitt Wireless wird eine Zusammenfassung für jeden WLAN-Adapter und den für diese Adapter eingerichteten SSID-Netzen gegeben.
Zum Schluss folgt eine Liste der per WLAN angebundenen Geräte. Jede Zeile enthält Informationen, in welchem Netz das Gerät eingebucht ist, welche MAC-Adresse gemeldet wurde, welches Signal / Noise - Verhältnis der Router sieht und die ausgehandelte Übertragungsrate (RX Rate und TX Rate).
Firewall
[Bearbeiten]In der Firewall-Übersicht werden alle aktiven Regeln der Firwall aufgelistet, wie in der nebenstehenden Abbildung dargestellt.
Die Regeln werden nach Tabelle und Kette (Table bzw. Chain) aufgelistet. Zu jeder Regel wird die Statistik angegen. Die Anzahl der Pakete und hieraus resultiende Datenmenge wird am Anfang der Zeile angegeben. OpenWRT definiert einige Ketten, die zunächst leer sind. Diese können mit der Aktion Hide empty chains ausgeblendet werden.
Mit der Aktion Reset Counters werden die Zähler jeder Regel wieder zurückgesetzt. Regeln, welche nach Anzahl der Pakete oder Datenmenge ansprechen, können hiermit zurückgesetzt werden. Mit Restart Firewall wird die Firewall vollständig neu aufgebaut.
Routes
[Bearbeiten]Die Ansicht Status/Routes stellt die Netzwerkrouten des Routers dar. Im oberen Bereich wird die ARP-Tabelle dargestellt. Zu jeder bekannten IP-Adresse im internen Netzwerk wird hier dargestellt, über welche Hardware-Adresse und welches Interface diese Adresse erreichbar ist.
Es folgt der Abschnitt Active IPv4-Routes, die relativ kurz ist. Dort werden die Netzwerke dargestellt, welche vom Router aus erreichbar sind.
Es folgen die gleichen Tabellen für IPv6-Adressen.
System Log
[Bearbeiten]Systemnachrichten des integrierten Syslog-Dienstes werden in dieser Sicht dargestellt. Alle Dienste können ihre Nachrichten dem Syslog-Dienst übergeben und werden hier dargestellt. Den Umfang der Nachrichten lässt sich für jeden Dienst einstellen, ob nur Fehlermeldungen oder auch Hinweise ausgegeben werden.
Zur Fehlersuche dient dieses Systemlog, um dort entsprechende Hinweise zu finden.
Wird der OpenWRT-Router als Syslog-Server für das komplette Netzwerk verwendet, sind hier auch die Einträge anderer Clients enthalten.
Kernel Log
[Bearbeiten]Nachrichten des Betriebssystem-Kerns werden hier dargestellt. Dies sind zunächst die Startmeldungen beim Hochfahren des Routers. Fehlermeldungen, wenn integrierte Geräte, wie USB-Geräte nicht verwendet werden können, sind hier zu finden.
Processes
[Bearbeiten]Die aktuelle Liste an laufenden Prozessen ist hier zu finden. Zu jedem Prozess ist die aktuelle CPU-Belastung und Speicherbedarf dargestellt.
Über die Aktionen Hang up, Terminate und Kill kann versucht werden, ein Prozess zu beenden.
System-Konfiguration
[Bearbeiten]System
[Bearbeiten]Im Menüpunkt System werden grundlegende Systemeinstellungen vorgenommen, unter anderem der Name des Routers und die Zeitzone. Es besteht hier zwar die Möglichkeit, die Uhrzeit mit dem Browser oder einem Zeitserver abzugleichen. Aber in dem Reiter Time Synchronization (siehe unten) lässt sich der automatische Abgleich mit einem NTP-Server einstellen, so dass dies hier übersprungen werden kann.
Im Unterpunkt Logging wird eingestellt, welche Systemnachrichten in einer Text-Datei gespeichert werden sollen (Write system log to file). Über die Log-Level wird die Geschwätzigkeit des Syslog-Dienstes eingestellt. Mit Debug werden deutlich mehr Informationen gespeichert als mit Alert. Die anfallenden Log-Einträge rechtfertigen es nicht, den Log-Level zu reduzieren. Es dürfen ruhig viele Nachrichten generiert werden. Dies hilft bei einer späteren Fehlersuche. Die Nachrichten können über Status/System Log eingesehen werden.[2]
Die Log-Daten können auch sofort an einen externen Syslog-Server gesendet werden, welcher die Log-Nachrichten verschiedener Server verwaltet. Hierzu wird die IPv4-Adresse des externen Syslog-Server eingetragen und auf welchem Port dieser lauscht. Wird der Port nicht explizit gesetzt, wird Port 514 verwendet. Das Syslog-Protokoll kann zur Übertragung sowohl UDP als auch TCP verwenden. Dies hängt von der Konfiguration des externen Syslog-Servers ab. Mit der Webkonfiguration ist die Verwendung einer verschlüsselten Übertragung (z.B. mit TLS) nicht vorgesehen.
Im Reiter Time Synchronization wird der NTP-Dienst konfiguriert[3]. Dieser Dienst synchronisiert sich mit mehreren externen Zeitserver und kann selbst auch als Zeitserver im internen Netzwerk dienen. Mit Enable NTP client wird die automatische Synchronisation mit Zeitservern eingestellt.
Soll der Router selbst als Zeitserver im internen Netzwerk dienen, wird die Option Provide NTP server ausgewählt. OpenWRT bietet dann allen Netzwerken einen NTP-Dienst an, mit dem angeschlossene Geräte die Zeit synchronisieren können.
Mit der Option Use DHCP advertised servers werden die Zeitserver verwendet, welche der Router in einer DHCP-Antwort selbst erhalten hat. Dies kommt bevorzugt auf dem Internet-Anschluss vor, wo der Router selbst als DHCP-Client konfiguriert ist (in der Regel) und verschiedene Konfigurationen auf diesem Wege erhält.
Zusätzlich können weitere Zeitserver eingetragen werden. Hierbei bieten sich die Zeitserver des NTP-Pool an und auch die Zeitserver, welche von den Internetprovider betrieben werden[4]. Zusätzlich gibt es weitere Zeitserver verschiedener Organisationen, die genutzt werden können[5].
Unter Language and Style wird die Systemsprache und das Design den eigenen Wünschen eingestellt. Als Design ist bei einer frischen Installation nur eine Auswahl vorhanden. Weitere Designs müssen als Software-Pakete nachinstalliert werden.[6]
Administration
[Bearbeiten]In diesem Punkt wird der Konfigurationszugang sowohl über Web-Oberfläche als auch über SSH konfiguriert. Nach dem ersten Passwortwechsel erfolgen weitere Änderungen des Administrator-Passworts an dieser Stelle.
Unter SSH Access wird der Zugang über SSH konfiguriert. Eine detailierte Beschreibung von SSH erfolgt in dem Wikibook SSH-Server_einrichten_und_betreiben.
OpenWRT verwendet zunächst Dropbear als schlanken SSH-Server[7].
Als Interface sollten nur sichere Netzwerke ausgewählt werden, in denen auch keine Gäste Zugang haben.
Es gibt zwar die Möglichkeit, den SSH-Zugang auch von außerhalb zu erlauben. Da aber die Konfiguration primär mit dem Nutzer root vorgesehen ist und andere Nutzer für die Administration nicht vorgesehen ist, würde man den Root-Zugang von außen zugänglich machen, was nur nach sorgfältiger Abwägung erfolgen darf.
Der Port 22 kann weiterverwendet werden. Der Zugang über Passwörter kann über das gesicherte Netzwerk möglich sein und für einfache Installationen darf Root das Anmelden über SSH erlaubt werden. SSH bietet die Möglichkeit, Ports vom lokalen Rechner auf den Server umzuleiten, um ein einfaches VPN zu ermöglichen. In einzelnen Situationen kann dies erlaubt werden.
Für SSH lassen sich weitere Zugänge definieren, so dass ein externer Zugang über einen anderen Port und ohne Root-Zugriff möglich ist.
Über die nächste Option SSH-Keys wird der SSH-Zugang eingeschränkt. Jeder SSH-Client kann selbst kryptographische Schlüssel generieren, welche zur Authentifizierung geeignet sind. Von jedem Rechner, von dem aus die Konfiguration des Routers erfolgen darf, wird der SSH-Schlüssel hinterlegt. Ab diesem Zeitpunkt wird der SSH-Schlüssel als Alternative zu einem Passwort eingesetzt. Wird auf der vorherigen Seite das Anmelden mit Passwort ausgeschaltet, ist der SSH-Zugang nur noch von ausgewählten Rechnern möglich. Damit wird auch ein Brute-Force-Angriff deutlich erschwert.
Software
[Bearbeiten]Als Linux basiertes System steht eine riesige Auswahl an Erweiterungen zur Verfügung. Ein kleiner Teil wird vom OpenWRT-Team in deren Repositories zur Verfügung gestellt und aktualisiert. Über System->Software stehen diese Programme zur Verfügung[8]. Nicht mehr benötigte Programme lassen sich entfernen. Liegen Aktualisierungen vor, lassen sich diese einspielen.
Oben wird zunächst der Speicherplatz angezeigt, welcher auf dem Flash-Laufwerk für neue Programme noch zur Verfügung steht.
Die aktuelle Liste verfügbarer Programme muss zunächst über die grüne Aktion Update lists... heruntergeladen werden. Anschließend werden alle verfügbaren Programme unter dem Reiter Available angezeigt. Über den Filter lassen sich spezielle Programme suchen. Ist der Name des gewünschten Paketes bekannt, kann dies direkt mit der Option Download and install package installieren.
Wird ein Programm benötigt, das nicht von OpenWRT zur Verfügung gestellt wird, kann das entsprechende Paket (als .ipk Datei) mit der Aktion Upload package auf den Router geladen und installiert werden.
Mit der Aktion configure opkg wird die Konfigurationsdatei bearbeitet, unter anderem, von welchen Quellen die Softwarepakete zu holen sind[9].
Unterhalb der Aktionen erscheinen drei Reiter Available, Installed und Updates, deren Funktion fast selbsterklärend sind:
Unter Available sind alle Pakete aufgelistet, welche von der Quelle bezogen werden können. Zu jedem Paket wird neben der aktuellen Version und Beschreibung auch die Größe angegeben. Wenn der Flash-Speicher droht vollzulaufen, kann hiermit eingeschätzt werden, welche Programme noch installiert werden können. Ganz rechts ist die Option, das entsprechende Paket zu installieren (wenn nicht bereits installiert). Werden zusätzliche Pakete (Bibliotheken) benötigt, wird dies abgefragt.
Unter Installed sind die auf dem Router bereits vorhandenen Pakete aufgelistet, ebenfalls mit einer geschätzten Größe. Ganz rechts erscheint zu jedem Paket die Aktion remove, um das Paket zu löschen. Wird dieses Paket als Bibliothek von anderen Paketen benötigt, erscheint eine Warnmeldung mit der Option auch die abhängigen Pakete zu löschen.
Unter Updates erscheinen die Pakete, zu denen aktuellere Versionen vorhanden sind. Als Aktion wird ein Upgrade angeboten. Leider ist es hier nur möglich, einzelne Pakete zu aktualisieren. Wenn nach einer gewissen Zeit viele Pakete aktualisiert werden müssen, lässt sich dies nicht über die Weboberfläche in einem Rutsch erledigen.
Mit dem obigen Filter lässt sich in der Ansicht die anzuzeigenden Pakete filtern.
Startup
[Bearbeiten]Hier sind die von Initscripts verwalteten Dienste verfügbar[10]. Deren Startreihenfolge wird als Start priority bezeichnet und regelt, in welcher Reihenfolge die Dienste starten. Eine Veränderung der Startreihenfolge wirkt sich erst nach dem nächsten Reboot aus.
Hinter jedem Dienst erscheint der aktuelle Zustand in der initscripts Konfiguration. Ist der Dienst aktiviert, wird dieser beim nächsten Reboot gestartet. Deaktivierte Dienste werden beim nächsten Start nicht berücksichtigt. Diese Einstellung wirkt sich erst beim nächsten Start aus. Die übrigen drei Aktionen Start, Restart und Stop wirken direkt.
Oben erscheint noch der Reiter Local Startup. Hierüber lässt sich die Textdatei /etc/rc.local editieren, so dass bei einem Neustart eigene Befehle zusätzlich ausgeführt werden.
Scheduled Tasks
[Bearbeiten]Regelmäßige Aufgaben werden im Unix-Umfeld durch Cronjobs erledigt. Dessen Konfiguration erfolgt über Textdateien, in der jede zyklische Aufgabe in einer Zeile definiert wird. Diese Konfigurationsdatei wird über dieses Fenster bearbeitet[11].
Die Bestandteile eines Eintrages werden durch Leerzeichen getrennt, wobei nur 6 Einträge berücksichtigt werden. Die ersten fünf Einträge definieren, wann der Job ausgeführt werden soll. Der sechste Eintrag wird definiert als alles, was hinter dem sechsten Leerzeichen steht, zusammen mit den weiteren Leerzeichen. Dieser sechste Eintrag beschreibt den auszuführenden Job.
Details für den Aufbau der Textdatei findet sich zum Beispiel im Wiki-Eintrag für Cron.[12]
Time Synchronisation
[Bearbeiten](Nur verfügbar, wenn Paket ntpclient installiert ist.)
Bereits unter System->System gibt es die Möglichkeit, die Uhrzeit des Routers zu setzen. Dies passiert aber nur einmalig. Danach kann die Uhrzeit des Routers von der realen Uhrzeit abdriften. Wenn der Router beispielsweise den Internetzugang oder WLAN für definierte Zeiträume ausschalten soll, ist dagegen ein regelmäßiger Abgleich der Uhrzeit mit Internetservern sinnvoll. Hierzu ist das NTP-Protokoll etabliert, mit dem Rechner im Bereich von Millisekunden mit der globalen Uhrzeit synchron gehalten werden können.
Um das NTP-Protokoll haben sich viele freiwillige NTP-Server etabliert, welche für die Synchronisierung genutzt werden dürfen.
Vereinfacht beschrieben funktioniert NTP beim Router so, dass der Router bei einem Zeitserver die aktuelle Uhrzeit anfragt. Wenn der Router die aktuelle Uhrzeit erhält, kann er berechnen, wie lange die Anfrage dauerte. Aus dieser Dauer kann er abschätzen, wie alt die vom Zeitserver gesendete aktuelle Zeit ist und dies beim Setzen der eigenen Zeit berücksichtigen.
In diesem Abschnitt wird der NTP-Client von OpenWRT konfiguriert. Das Update intervall definiert den Zeitraum, den der NTP-client vor einer erneuten Prüfung der Uhrzeit warten soll. Die voreingestellten 600s (10min) sind in der Regel ausreichend, es kann sogar ein größerer Zeitraum eingestellt werden.
In Count of time measurements wird definiert, wie oft die Abfrage erfolgen soll. Ohne Eintrag wird die Uhrzeit immer wieder nach der eingestellten Zeit (Update intervall) geprüft.
Mit der Offest frequency kann die Genauigkeit der lokalen Uhr erhöht werden für Anwender, die sich mit der Thematik beschäftigt haben und wissen, wie dieser Korrekturwert ermittelt wird.
Unter Time Servers wird eine Liste an Zeitserver eingetragen, die für den Abgleich der lokalen Zeit verwendet werden sollen. Jeder Eintrag besteht aus Name und Port. Der Port ist im Normalfall 123.
Das OpenWRT-Projekt bedient sich des Server-Pools des NTP-Pool-Projektes : https://www.ntppool.org/
Das NTP-Pool-Projekt gruppiert die beteiligten Server nach Länder, so dass über 0.de.pool.ntp.org bis 3.de.pool.net.org Zeitserver aus Deutschland erreichbar sind. Zur Synchronisierung sollten Zeitserver verwendet werden, die netzwerktechnisch in der Nähe sind; davon ist bei Zeitservern aus Deutschland zunächst auszugehen.
Bietet der Internet-Provider eigene Zeitserver zur Nutzung an, können auch diese verwendet werden. Durch die Netzwerktopologie sollten deren Server schneller erreichbar sein als Server aus anderen Netzen. Die Zeitserver des Internet-Provider lässt sich durch eine Internet-Recherche ermitteln.
LED Configuration
[Bearbeiten]Die LED's an dem Router können durch verschiedene Trigger gesteuert werden. Im Normalfall deuten die LED's entsprechende Aktivitäten an, wie die LED's zu den Netzwerkports.
Da die LED's vom Betriebssystem gesteuert werden, kann jede LED auch neu programmiert werden. Die entsprechende Konfiguration erfolgt an dieser Stelle[13].
Backup / Flash Firmware
[Bearbeiten]An dieser Stelle stehen verschiedene Funktionen im Umgang mit der gesamten Konfiguration und Einspielen einer neuen Firmware.
Unter Backup lässt sich die komplette Konfiguration des Routers als Tar-Archiv auf den eigenen Rechner laden und archivieren.
Dieses Archiv kann im nächsten Punkt Restore wieder zurückgespielt werden. Oder der Router kann auf Werkeinstellung unter Verlust aller bisher getätigten Aktionen zurückgesetzt werden. Im letzteren Fall werden auch alle Dateien, die auf dem Router gespeichert waren gelöscht.
Der nächste Punkt Save mtdblock content richtet sich an Erfahrene, welche bereits wissen, wie der Router verschiedene Einstellungen intern speichert.
Im letzten Punkt kann ein Firmware-Image eingespielt werden. Dies muss hierbei nicht zwingend eine aktualisierte OpenWRT-Version sein. Dies kann auch ein Original-Image für den Router darstellen oder die Firmware eines anderen Router-Projekts. Aktualisierungen auf eine neuere OpenWRT-Version kann nur durch Installation eines neueren Images erfolgen.
Wird eine neuere OpenWRT-Version installiert, kann die bestehende Konfiguration beibehalten werden.
Reboot
[Bearbeiten]Hier kann über die Oberfläche ein Neustart des Systems erfolgen. Dies ist eigentlich nur in wenigen Fällen sinnvoll, da die meisten Konfigurationsänderungen sofort wirksam sind.
Network
[Bearbeiten]In diesem Abschnitt werden verschiedenen Punkte beschrieben, die bei OpenWRT unter Network zusammengefasst werden.
Interfaces
[Bearbeiten]Als Schnittstelle ('Interface') wird hier eine Verwaltungseinheit verstanden, welche ein Netzwerkabschnitt definiert. Ist eine Schnittstelle als Brücke (bridged) definiert, können dieser Schnittstelle mehrere physische und virtuelle Anschlüsse zusammengefasst werden. So kann ein spezieller RJ45-Port mit einem WLAN-Netzwerk zu einem Interface verbunden werden.
Auf dieser Übersichtsseite werden die Daten jedes Interface zusammengefasst. Im rechten Bereich kann jedes Interface ausgeschaltet und wieder neu eingeschaltet werden. Oder ein Interface kann hier auch gelöscht werden.
Ganz unten findet sich die Aktion, um ein neues Interface anzulegen.
Wireless
[Bearbeiten]Im Abschnitt Wireless werden die WLAN-Schnittstellen verwaltet. Die physikalischen Schnittstellen werden mit radioX bezeichnet (mit aufsteigender Nummer). Zu jeder physikalischen Schnittstelle lassen sich verschiedene virtuelle Netzwerke (SSID) erstellen, die unterhalb aufgelistet werden.
Zu jeder physikalischen Schnittstelle können mit der Aktion Add neue virtuelle Netzwerke (SSID) zugefügt werden. Mit der Aktion Scan werden benachbarte Netzwerke aufgelistet mit der Option, einer SSID beizutreten. Die Aktion Restart startet im Betriebssystem die physikalische Schnittstelle neu.
Jede SSID kann separat konfiguriert werden (über Aktion Edit), gestartet (Aktion Start), beendet (Aktion Disable) und gelöscht (Aktion Remove) werden.
Im unteren Bereich werden die Geräte angezeigt, welche sich mit einer SSID verbunden haben. Zu jedem Gerät werden die MAC-Adresse, der Name, das Signal zu Rausch Verhältnis und Übertragungsparamter. Jedes Gerät lässt sich über die Aktion Disconnect vom Netzwerk entfernen. Das Gerät kann sich danach aber wieder normal mit der SSID verbinden.
SSID konfigurieren
[Bearbeiten]Mit der Aktion Edit lässt sich eine SSID (WLAN-Netzwerk) bearbeiten. Die gleiche Sicht kommt, nachdem für eine physikalische Schnittstelle eine neue SSID angelegt wurde.
Im oberen Bereich wird die Schnittstelle selbt konfiguriert. In den allgemeinen Einstellungen kann der Kanal fest vorgegeben werden oder mit auto vom Router automatisch gewählt werden. Unter den erweiterten Einstellungen (Advanced Setting) wird das Land eingestellt, damit das System die für dieses Land gültigen Einstellungen vornehmen kann. Ist hier das falsche Land eingestellt, besteht die Gefahr, dass der Router außerhald der gesetzlichen Vorgaben betrieben wird.
Im unteren Bereich wird die Verwaltung der SSID in verschiedenen Reiter vorgenommen.
General Setup
[Bearbeiten]Für ein SSID kann der Modus aus verschiedenen Vorgaben ausgewählt werden. Im Normalfall soll der Router einen Netzwerkzugang anbieten, wofür der Modus Access Point vorgesehen ist. Der Modus Client ist zu verwendet, wenn dieser Router eine Funkbrücke zu einem anderen Access Point aufbauen soll, z.B. die Anbindung eines Gartenhauses an das Haupthaus.
Der Name des Netzwerk, wie er beispielsweise auf dem Smartphone angezeigt werden soll, wird unter ESSID eingetragen.
Dieses SSID lässt sich direkt einem oder mehreren Netzwerken zuordnen.
Mit Hide ESSID wird die Aussendung des Netzwerknamens unterbunden und das Netzwerk erscheint nur als anonymes Netzwerk. Der Netzwerkname muss dann auf dem Client manuell eingetragen werden.
Wireless Security
[Bearbeiten]Mit entsprechender Software (WLAN-Sniffer) lässt sich der komplette Verkehr über Funk abhören. Bei einem unverschlüsseltem WLAN (no encryption) ist die gesamte Kommunikation im Klartext sichtbar und jeder kann sich mit diesem Netzwerk verbinden.
Es gibt ausreichend Situationen, in denen dies gewünscht ist, wie bei Freifunk [14]. Für den Router bedeutet dies, dass jedes Gerät sich anmelden kann und sofort in dem zugewiesenen Netzwerk ist. Liegt nicht ausreichendes Wissen vor, wie das interne Netz vor böswilligen Gästen zu schützen ist, sollte das ungeschützte WLAN nicht verwendet werden.
Im Normalfall wird die Verschlüsselung WPA2-PSK die geeignete Wahl sein. Als Verschlüsselungsroutine (Cipher) wird auto ausreichen, außer es soll eine bestimmte Routine verwendet werden. Dies kann notwendig sein, wenn für einzelne Routinen Schwachstellen bekannt werden.
Das Passwort (Key) muss vom einem Gast als Zugangskennung mitgesendet werden. Die Wahl des Passwortes obliegt der eigenen Passwortrichtlinie; es darf nicht zu einfach sein, da prinzipiell einfache Passwörter mittels Brute Force erraten werden können.
MAC-Filter
[Bearbeiten]Der Zugang zu dem Netzwerk lässt sich über die Hardware-Adresse regeln. Es kann entweder eine Zugangsliste oder eine Verbotsliste angelegt werden.
Bei einer Zugangsliste (Option Allow listed only) erhalten nur die Geräte Zugang zum Netzwerk, welche eine passende Hardware-Adresse vorweisen können, die in der Liste eingetragen sind.
Bei einer Verbotsliste (Option Allow all except listed) werden Geräte mit der gelisteten Adresse der Zugang verwehrt.
Beide Methoden haben heutzutage weniger Bedeutung. Ab Android Version P kann die MAC-Adresse bei jeder Verbindung zufällig generiert werden. Ab Android Q ist dies die Standardeinstellung [15]. Dies wird speziell mit Schutz der Privatsphäre bei öffentlich nutzbaren Hotspots begründet. Ein MAC-Filter macht dann nur noch in speziellen Situationen Sinn, um hier eine geringe zusätzliche Sicherheit zu bringen.
Advanced Settings
[Bearbeiten]In den erweiterten Einstellungen finden sich verschiedenen zusätzliche Punkte.
Um zwischen den Geräten keine direkte Verbindung zuzulassen, können diese isoliert werden (Isolate Clients).
Der interne Name des WLAN-Interface wird normal vom Betriebssystem generiert und verwaltet. Soll eine eigene Software auf dem Router laufen, kann es notwendig sein, die Interface-Bezeichnung manuell über Interface name zu setzen.
Mit Short Preamble wird bei der Übertragung weniger Fehlerkorrekturen verwendet, so dass mehr Nutzdaten übertragen werden können. Neuere Hardware soll mit dieser Methode höhere Durchsatzraten erreichen. Nur wenn ältere Geräte verwendet werden müssen, die kurze Preamble nicht verwenden können oder die Dämpfung der Verbindung dauerhaft zu groß ist, muss auf diese Option verzichtet werden.
Switch
[Bearbeiten]Besitzt der Heimrouter für das interne Netz mehrere Ethernet-Ports, lassen sich diese gezielt nutzen. Werden mehrere interne Netze verwendet, die voneinander getrennt gehalten werden sollen (klassische DMS), werden hier die Ports virtuellen Netzen (VLAN) zugeordnet. Diese VLAN's können im Bereich Interfaces einzelnen Netzwerken zugeordnet werden.
Wie bei managebaren Switchen lässt sich hier auch eine Kopierfunktion nutzen, womit der vollständige Datenverkehr auf einem Port ausgeleitet wird.
DHCP and DNS
[Bearbeiten]OpenWRT verwendet zunächst den Dienst dnsmasq sowohl als DHCP-Server und DNS-Server. Rechner, die sich im Netzwerk anmelden, wird von dnsmasq eine IP-Adresse zugewiesen[16]. Ebenso erfolgt die Namensauflösung mit diesem Dienst.
Für beide erfolgt die Konfiguration an dieser Stelle.
Hostnames
[Bearbeiten]Zur Namensauflösung verwendet OpenWRT primär die Informationen aus dem DHCP-Prozess. Ein Rechner, das per DHCP eine Netzwerkkonfiguration anfragt, kann sich mit einem Gerätenamen (Hostname) ausweisen. Unter diesem Namen ist der Rechner für die Dauer der DHCP-Leihgabe erreichbar.
Rechner, welche eine feste IP-Adresse verwenden, wie ein separater DNS-Server oder eine NAS, können in diesem Punkt einem Namen die zugehörige IP-Adresse zugeordnet werden.
Diese Tabelle ergänzt den internen DNS-Server um lokale Namen.
Static Routes
[Bearbeiten]Aus der Konfiguration der Netzwerke ermittelt der Router bereits eine eigene Liste, welche Netzwerke über welches Interface erreichbar ist. Für das vorbereitete Interface lan ist zunächst die Adresse 192.168.1.1 vergeben, so dass der Router zunächst alle Adressen aus dem Netzwerk 192.168.1.0/24 über das Interface lan anspricht. Die Default-Route 0.0.0.0 ist über das wan-Interface verbunden: Alle nicht näher spezifizierten Adressen versucht der Router über das Internet-Interface zu erreichen.
Zusätzliche Routen, die sich nicht aus der Definition der Netzwerke ergeben, werden in diesem Abschnitt definiert[17].
Diagnostics
[Bearbeiten]Zur Fehlersuche bietet die Web-Oberfläche von OpenWRT drei verschiedene Werkzeuge an.
- Mit Ping wird ein Lebenszeichen von der Gegenstelle angefordert. In dem Feld kann sowohl der Rechnername als auch die IP-Adresse eingegeben werden. Es werden 5 Pings eingeholt und das Ergebnis dargestellt. Wird ein Rechnername verwendet, muss der Rechnername zuerst in eine IP-Adresse aufgelöst werden. Liegt ein Problem bei der Namensauflösung vor, kann ein Ping nicht eingeholt werden. Ist der Ping nicht erfolgreich, kann dies unter anderem folgende Gründe haben:
- Die Gegenstelle antwortet generell nicht auf Ping-Versuche. Reaktionen auf Pings helfen bei der Fehlersuche oder um zu erkennen, ob ein Rechner noch angeschlossen ist. Im Normalfall sind Ping-Antworten erlaubt, nur in Netzwerken mit hohen Sicherheitsansprüchen werden diese ausgeschaltet.
- Der Router findet nicht das richtige Interface, um die IP-Adresse zu kontaktieren.
- Eine Firewall unterbricht die Verbindung.
- Mit Traceroute wird versucht, die Route zum Ziel abzubilden und jeden Zwischenstopp aufzulösen. Bei komplexen Netzwerken mit mehreren Segmenten sind zwischen dem Router und dem Ziel verschiedene Zwischengeräte geschaltet.
- Ein NSLookUp zeigt die Antwort vom DNS-Server für einen Rechnernamen. Es werden die zugehörigen IP-Adressen angezeigt als auch der Nameserver, von dem die Antwort kommt.
Firewall
[Bearbeiten]Die Grundfunktion des DSL-Routers ist die Anbindung des internen Netzwerkes an das Internet. Die Datenströme müssen vom Router verwaltet und richtig zugeordnet werden. Zum Internet verfügt der DSL-Router nur über eine IP-Adresse, um mit anderen Rechnern im Internet kommunizieren zu können. Die intern verwendeten Adressen sind im Internet nicht bekannt. Somit muss der Router die Antworten aus dem Internet wieder den richtigen internen Rechner zuweisen.
Diese Funktion lässt sich mit der Firewall noch feiner einstellen, um den Zugang zu einzelnen Diensten zu steuern[18].
Der Reiter General Settings verwaltet die Grundlagen der Firewall und der vorhandenen Zonen.
Zunächst kommen zwei einfache Schutzmaßnahmen:
- Schutz vor SYN-Flood; eine einfache Technik, um Dienste im Internet zu blockieren (Denial_of_Service). Wird dies aktiviert, können pro Sekunde max. 25 neue Verbindungen mit dem Router aufgebaut werden</ref>https://openwrt.org/docs/guide-user/firewall/netfilter_iptables/netfilter_examples</ref>.
- Unzulässige Pakete verwerfen (Drop invalid packages)[19]. Bewusst oder aufgrund fehlerhafter Konfiguration können Pakete eintreffen, die keiner gültigen Verbindung zugeordnet werden können. Diese Pakete werden mit dieser Regel einfach gelöscht.
IPTables verwendet zunächst drei einfache Ketten für die Prüfung von Paketen: Eine Kette für eingehende Pakete (Input), für Pakete, die den Router verlassen (Output) und Paketen, die der Router von einem Netzwerk entgegennimmt und an ein anderes Netzwerk weiterleitet (Forward). Jede Kette besitzt eine Standardregel, die eintrifft, wenn keine Regel in der Kette für dieses Pakete zutrifft (Policy). Diese Standardregel kann accept (Paket wird durchgelassen), reject (Paket wird abgelehnt mit Antwort an Absender) oder drop (Paket wird einfach verworfen, ohne Antwort an Absender) lauten.
Unter den Zonen sind die in OpenWRT definierten Firewall-Zonen gelistet. Prinzipiell lassen sich beliebige Zonen definieren. Im einfachsten Fall wird pro Netzwerk (physisch oder virtuell) eine Zone definiert. In dieser Übersicht lassen sich direkt die Standardregeln für die Kommunikation mit anderen Firewallzonen definieren. Der Anschluss zum Internet wird in der Regel der Zone wan zugeordnet. Diese Zone hat zunächst keine Weiterleitung in eine andere Zone und eingehender Verkehr von dieser Zone wird verworfen, wenn nicht eine Regel die Kommunikation erlaubt. Mit Edit lassen sich Details einer Zone definieren. Für Zonen, die eine Verbindung ins Internet haben sollen, wird mit Masquerading die Verbindung ins Internet ermöglicht. Da nur der Router eine öffentliche IP-Adresse besitzt, müssen die Anfragen ins Internet umgeschrieben werden, damit der Internetserver eine gültige Rücksendeadresse vorfindet. Der Router schreibt die Antworten des Internetservers wieder um und sendet diese dem anfragedenden Rechner.
Unter dem Reiter Port Forwards werden Weiterleitungen definiert[20]. Ist im eigenen Netzwerk ein Dienst, der auch aus dem Internet erreichbar sein soll, muss hierzu der entsprechende Port vom Router weitergeleitet werden. Dies kann ein Netzwerkspiel (z.B. Minetest oder ein Webserver sein. Es lassen sich verschiedenen Weiterleitungen definieren. Diese Weiterleitungen müssen nicht immer vom Internet in das eigene Netzwerk sein. So kann auch aus dem Gast-Netzwerk der Zugriff auf den Drucker erlaubt werden. Hierzu können die Regeln auch nur auf Anforderung aktiviert werden.
Der Reiter Traffic Rules erlaubt es, einzelne Regel für die Firewall zu definieren. Für jede Zone wurden Standardregeln definiert (accept, reject oder deny). Abweichungen von diesen Vorgaben werden hier definiert. So kann eine Regel für einen internen Rechner den Zugang zum Internet zeitweise unterbinden. Oder Verbindungen aus dem Gastnetz zu einer internen Ressource (NAS) kann zugelassen werden. Pro Zeile wird hier die Zusammenfassung einer Regel gezeigt und ob diese Regel aktiv (enable) ist. Über Edit wird eine Regel im Detail konfiguriert.
Speziell für ausgehenden Verkehr werden Netzwerkadressübersetzung unter dem Reiter NAT Rules definiert.
Unter dem Reiter Custom Rules wird die Datei /etc/firewall.user editiert. In dieser Datei können spezifische Regeln erstellt werden, die nicht mit obigen Werkzeugen erstellt werden können. Da diese Datei als Shellskript ausgeführt wird, können hier auch Ablauffunktionen wie Schleifen oder Bedingungen verwendet werden.
Referenzen
[Bearbeiten]- ↑ https://openwrt.org/de/docs/guide-quick-start/start
- ↑ https://openwrt.org/docs/guide-user/base-system/log.essentials
- ↑ https://openwrt.org/docs/guide-user/advanced/ntp_configuration
- ↑ https://www.zeitserver.de/deutschland/zeitserver-der-deutschen-provider/
- ↑ http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers
- ↑ https://openwrt.org/docs/guide-user/luci/luci.themes
- ↑ https://openwrt.org/docs/guide-user/base-system/dropbear
- ↑ https://openwrt.org/docs/guide-user/additional-software/managing_packages
- ↑ https://openwrt.org/docs/guide-user/additional-software/opkg
- ↑ https://openwrt.org/docs/guide-user/base-system/managing_services
- ↑ https://openwrt.org/docs/guide-user/base-system/cron
- ↑ [[w:Cron|]]
- ↑ https://openwrt.org/docs/guide-user/base-system/led_configuration
- ↑ www.freifunk.net
- ↑ https://www.androidpolice.com/2019/03/13/android-q-beefs-up-privacy-with-new-limits-on-location-access-device-ids-and-more/
- ↑ https://openwrt.org/docs/guide-user/network/ipv4/start#protocol_dhcp
- ↑ https://openwrt.org/docs/guide-user/network/routes_configuration
- ↑ https://openwrt.org/docs/guide-user/firewall/fw3_network
- ↑ https://openwrt.org/docs/guide-user/firewall/firewall_configuration
- ↑ https://openwrt.org/docs/guide-user/firewall/fw3_configurations/fw3_nat