Freitag, 21. Mai 2021

OpenWrt Router - mehr als nur ins Internet

 Ich habe seit Jahren einen WRT 1900 ACS und zwei (langsame) DSL Leitungen. Zwei Themen stehen immer im Hinterkopf und ich will mal dazu wieder ein paar Informationen aufschreiben.

  1. Zwei WAN Anschlüsse bündeln und etwas intelligenter verwenden als nur mit ein paar Routing Einträgen.
  2. Jeweils getrennte WLAN und LAN Zugänge für IoT Geräte und für Gäste.
  3. Werbeblocker zentral mit adblock einrichten
Um sich in die Begriffe der Netzwerkthematik ein bisschen einzulesen, kann man die OpenWrt Wiki Hauptseite Firewall and Network Interfaces als Start nutzen.

MultiWAN und Loadbalancing

Mit mwan3 habe ich vor Jahren schon mal experimentiert und bin damit nicht wirklich klar gekommen. OpenWrt hat in den letzten Jahren auch viel für die Ordnung der Dokumente und des Wikis getan. Mit diesem Artikel habe ich das Thema 2 WAN Zugänge aufgegriffen und bin ganz gut zum Erfolg gekommen. 
Dabei ist die folgende Konfiguration des zweiten WAN Anschlusses wesentlich, um mit dem Standard Setup schnell zum Ziel zu kommen. Ich habe mich erstmal nur um IPv4 gekümmert, parallel kann man das ganze auch für IPv6 machen. Meine Provider bieten offenbar keinen IPv6 Zugang am IPv4 Anschluss. Bietet da die Konfiguration 6to4 in der Fritzbox eine sinnvolle Möglichkeit?

1. Schritt Menu: Network / Switch

VLAN 3 habe ich mit eth0 und der externen Buchse LAN1 wie im Bild gezeigt verbunden, damit ist der Anschluss eth0.3 entstanden (eth0 + VLAN 3). An unterschiedlichen Stellen werden unterschiedliche Bezeichner verwendet, deshalb ist es wichtig diese "Namensbeziehung" vor Augen zu haben.

2. Schritt Menu: Network / Interfaces 

Man tut sich einen Gefallen hier den Namen wanb zu vergeben, den verwendet anschließend mwan3 zusammen mit dem Namen wan automatisch! (In der Übersicht wird der Name nach dem Speichern groß angegeben). Der bevorzugte DSL Router sollte an Anschluss wan angeschlossen sein.
Ich verwende beide DSL Router (Fritzboxen) mit "normaler" Einstellung, d.h. sie stellen an dem Netzwerk Anschluss DHCP zur Verfügung und meine beiden WAN Anschlüsse am OpenWrt Router laufen als DHCP Client. 
Jedes WAN Interface sollte im Reiter Advanced Settings noch eine unterschiedliche metric erhalten und im Reiter Firewall wird die wan Zone zugeordnet. Nach Save&Apply sollte die Übersicht so etwas enthalten:
Jetzt kann/sollte mein beide Interfaces testen und auch schon manuell umschalten (metric ändern).
Anmerkung: So betreibe ich beide Anschlüsse schon lange, in dem man die metric ändert, schaltet man quasi den WAN Anschluss ausgehend um. Vom Router wird der Anschluss mit geringerer metric verwendet. 

Nach der Installation von mwan3 und luci-app-mwan3 läuft der Rest erstmal automatisch wenn man die Namen wie oben empfohlen verwendet hat. Man muss bei MWAN - Interfaces prüfen ob die Interfaces wirklich enabled sind!

Es hilft im Zweifel immer den Router einmal komplett neu zu starten!

Zwei neue Menü Punkte zeigen den Erfolg und bieten weiter Konfiguration: Status und Network enthalten ganz unten einen Punkt Load Balancing. Hat man andere Interfacenamen verwendet, muss man diese komplette separat konfigurieren (Interfaces, Members und Policies). 
Tipp: In der mwan3 Konfiguration
  1. Interface hinzufügen, 
  2. wan Interface löschen und
  3. in members in den beiden wan- Profiles das Interface wan gegen das neue austauschen.

Abgeschottete WLAN und LAN Zugänge

Die grundlegenden Informationen und Anweisungen für ein Gast WiFi Netzwerk gibt dieser Artikel im LuCI Setup und in einem Link auch für die Kommandozeile (uci).
Ich finde mit beiden Artikeln kommt man gut voran, ich werde deshalb hier nur noch ein zusammengefasstes "uci" Script veröffentlichen. 
Im Gegensatz für ein Gäste Netz, will ich für IoT einen begrenzten Zugriff auf dedizierte Geräte in den Netzwerken.

ToDo
Neue Security WPA3 und OWE einrichten? Siehe OpenWrt Doku.

Code Block

Werbeblocker

pi-hole ist in aller Munde, für einen OpenWrt Router gibt es adblock mit dem gleichen Wirkmechanismus. Hier bin ich über diese Artikel Artikel2 eingestiegen. Im OpenWrt Wiki befindet sich dieser Einstieg. Für die Scriptbasierte Konfiguration habe ich noch diesen Beitrag gefunden.
Die Installation ist einfach, ich glaube auch hier war ein kompletter Reboot des Routers notwendig.

Die Administration erfolgt über den neuen Menüpunkt Services / Adblock. 
In der Karteikarte Log View sieht man was passiert und was man ev. noch nacharbeiten muss. 
In der Menü Übersicht kann man mit dem Suspend/Resume Button den Service stoppen/starten. 
Der Refresh Button in der Übersicht lädt die Block- Black- White-Listen neu.
Auf der Seite DNS Report sieht man was passiert und kann interaktiv die White/Blacklist füllen. Für beide Listen gibt es aber auch eine extra Karteikarte.

Das default Setup läuft sofort, aber wer die eine oder andere Zeitungsseite weiter lesen will, muss die whitelist editieren. Wenn offenbar zu viel geblockt wird, schaut man in die Registerkarte DNS Report.
DNS Report -> Refresh -> Latest DNS Request -> Spalte Answer -> NX anschauen und ev. Action "Whitelist..." drücken. Wenn fertig: Overview -> Refresh

ToDo

Report nachinstallieren / konfigurieren 

Dieses Script ist nicht komplett getestet, die erste Zeile installiert, der uci Befehl aktiviert den Report, da fehlt sicher noch etwas dazwischen.

opkg install adblock luci-app-adblock tcpdump-mini wget
uci set adblock.global.adb_report='1'
uci commit
reload_config
service adblock restart

Noch etwas zu tun?

Code Block

Alles mit uci (Script)

Das cli Interface von OpenWrt gestattet die Konfiguration per Script. Ein paar Notizen dazu:

  • uci arbeitet im RAM, erst ein commit schreibt die Datei.
  • Welche config Dateien gibt es: ls /etc/config/
  • Ansicht der Konfiguration "gut lesbar": uci export network
  • Ansicht der Konfiguration für das Script: uci show network
  • Erst ein uci commit network macht es endgültig, vorher jederzeit mit uci revert zurück.

Noch zum Schluss:

Nach einem sysupgrade sind die vormals selbst installierten Packages erstmal nicht da. Man muss sie selbst wieder installieren. Die config Dateien bleiben idR erhalten. Man muss den Router aber neu starten!

opkg update
opkg install mwan3 luci-app-mwan3
opkg install adblock luci-app-adblock wget tcpdump-mini

Automatisierte Nacharbeit nach dem sysupgrade

Der Schlüssel zum Erfolg steht hier im Abschnitt Introduction! Es gibt mehrere Stufen:

  • opkg Erweiterung
  • Hotplug Erweiterung
Ein Script erweitert dauerhaft den opkg Aufruf um die Kommandos save, restore und mehr. Man ruft vor dem sysupgrade save auf, nach dem sysupgrade restore. Danach Neustart und fertig.

Man kann diesen Prozess automatisieren, ich habe nur den Mechanismus noch nicht vollständig verstanden. Hier ist ein Vierzeiler, der den Code davor herunterlädt und alles konfiguriert. 

Links

Userguide uci

Leos Wiki

Pauls Wiki sysupgrade Scripts kurz und knapp.

Keine Kommentare:

Kommentar veröffentlichen