Donnerstag, 29. Dezember 2022

OpenWrt - sysupgrade ohne Bedenken

Es gibt ein (für mich) neues Feature bei OpenWrt: Attended SysUpgrade

Das vereinfacht den Vorgang ein neues Image einzuspielen erheblich, man hat quasi keine Nacharbeit mehr! 

Nachdem ich mich mal wieder mit hotplug und opkg-extras beschäftigt habe, entdeckte ich in dem Wiki Artikel ganz zum Schluss den entsprechenden Hinweis. 

Damit braucht man jetzt nur noch zwei Dinge beim sysupgrade: 

  1. eine angepasstes Backup Archiv Configuration
    • Pfade bzw. Dateien eintragen und mit "Open list" prüfen ob alle wichtigen Dateien im Archiv enthalten sind.
    • Obwohl das sysUpgrade genau diese Dateien von sich aus behält (Keep Settings...), sollte man immer ein Archiv separat erzeugen und herunterladen!
  2. Das installierte luci-app-attendedsysupgrade Package.

Im Menü System einfach Attended Sysupgrade auswählen, der Rest ist selbsterklärend. Im Reiter Configuration kann man den Advanced Mode einschalten. Damit kann man die Pakete verifizieren und eventuell noch etwas ändern. Man kann auch ein angepasstes Image der bereits installierten Version herunterladen. 

Hinweis: Am Ende bleibt irgendwie die UI hängen, man kann diese schließen und sich nach dem Neustart neu verbinden.

Ich habe z.B. um folgende Dateien/Pfade ergänzt:

/etc/wireguard/
/etc/adblock/ad*list
/root/speedtest
/root/.config

Hatte man hotplug-extras installiert, kann man die installierten Scripts wieder entfernen (auch oben in der Liste):

rm /etc/hotplug.d/iface/90-online
rm /etc/hotplug.d/online/10-sleep
rm /etc/hotplug.d/online/50-opkg-restore

Fehlt noch was?

Samstag, 15. Oktober 2022

iSCSI - ganz minimalistisch

Ich war überrascht wie einfach das funktioniert. Es gibt da eine Menge erklärender Seiten im Web, die zeigen aber auch ziemlich viel verwirrende Vielfalt. Ich habe mit einem debian System und einer Windows Maschine mal ein Target und einen Initiator miteinander verbunden.

Ich habe hier ein paar Artikel verlinkt, beim einarbeiten sind mir in diesen leider ein paar Fehler im Code aufgefallen. Also Vorsicht mit Copy&Paste aus den verlinkten Artikeln!

Montag, 10. Oktober 2022

WSL und Docker Desktop - Neuigkeiten

Mit Windows 11 Build 22000 habe ich mal die Neuigkeiten bei der Installation von Windows-Subsystem für Linux und die Installation von Docker Desktop getestet. Die sind am Ende relativ umfangreich - gemessen an meinen früheren Versuchen.

Mittwoch, 31. August 2022

Wie funktioniert Wireguard im Detail

Ich habe pivpn mit wireguard installiert und das hat einfach funktioniert. Also wirklich einfach! Jetzt bin ich etwas tiefer vorgedrungen, um zu verstehen wie man die Konfiguration lesen muss und um Konfigurationen sichern und übertragen zu können. Für pivpn gibt es eine simple Backup/Restore Beschreibung (mit Stolperstellen siehe auch).

  • Wireguard unterscheidet in der Installation nicht zwischen Server und Client - nur die Konfiguration bestimmt: wer mit wem.
  • Wireguard implementiert im System ein vollwertiges Netzwerkinterface mit Tunnel - quasi eine virtuelle Netzkarte mit virtuellem Kabel. Die Netzwerkadministration erfolgt mit Standard Boardmitteln.
  • Die Endpunkte authentifizieren sich mit einer Public-Key-Authentifizierung.
  • Soll der Endpunkt ein VPN Router sein, muss er entweder schon der Router im Netzwerk sein oder NAT aktiviert haben.

Die Konfigurationsdatei für einen Endpunkt wird normal im INI Format erstellt - bei OpenWrt ist sie in der network config integriert. 

OpenWrt kann sowohl Server als auch Client Funktionalität abbilden, ich habe mich hier zunächst auf OpenWrt Router als VPN Einwahl Server beschränkt.

Nachtrag 7.9.2022: Während ich noch immer am Artikel schreibe bringt die neue Version OpenWrt 22.03 jede Menge Änderungen und meine ganzen Scripts für Wireguard sind hinfällig!?

Freitag, 19. August 2022

HowTo - FHEM Umzug von System A nach System B

Scenario: Umzug auf neues System

  • System Alt: altes Linux, alte Hardware ...
  • System Neu: neues Linux, neue/andere Hardware Plattform ...

Zwei verschiedenen Hardware Systeme sind etwas einfacher zu handhaben, es geht aber auch auf der gleichen Hardware (z.B. Raspberry Pi mit SD Card Wechsel oder USB-Bootstick). Ich habe alle Schritte mit einem Raspberry Pi(Raspberry OS Lite) und einer Virtuellen Maschine(debian 11 netinst) getestet. Dieses HowTo ist auch eine Ergänzung zu meinem vorjährigen Artikel.

Mit dem Raspberry Pi Imager kann man eine neue SD Card effektiv vorbereiten und das System grundlegen konfigurieren (Zahnradsymbol am rechten unteren Rand nachdem man das OS ausgewählt hat) 

Es gab von mir schon ein paar ähnliche Artikel, dieser hier soll ganz gezielt Schritt für Schritt zeigen was zu tun ist. Windows 10 hat ssh und scp eingebaut, andere Tools braucht man nicht. Wer nicht mit Windows CMD arbeiten will findet die Codezeilen für Schritt 1 am Ende auch für Linux und Powershell.

Man kann alle Schritte beliebig oft wiederholen / durchspielen und dabei lernen.

Achtung (03.2024): Das FHEM Installermodul wird leider nicht mehr gepflegt, es häufen sich die Meldungen, das mein hier gezeigtes Verfahren der Ermittlung der fehlenden Debianpakete nicht mehr funktioniert. Ich habe derzeit keine Problem Behebung!

Mittwoch, 10. August 2022

Scripts anheften

will man sich Abläufe per Script (cmd oder ps1) leicht erreichbar machen, möchte man diese an die Taskleiste oder an den Start anheften. Dies funktioniert leider nicht direkt mit einem Link auf das Script, man muss den Aufruf komplett in den Link schreiben. 

C:\WINDOWS\system32\cmd.exe c:\tools\scripts\script1.cmd

Man kombiniert damit den kompletten Pfad des aufrufenden Programmes mit dem kompletten Pfad zum Script in einem Link und jetzt kann man auch noch ein anderes Symbol zuordnen. 

Dienstag, 2. August 2022

UEFI Start manipulieren

Mal eben von einem externen Laufwerk ein anderes System starten: USB Laufwerk einstecken, Restart ausführen - Mist - wie war die Taste für das Bootmenü? Ach ja: F7 - Mist zu langsam gedrückt - neuer Versuch.

Dieses Vorgehen ist doch echt nervig!? 

Es geht eventuell auch anders: Mit BCDEdit (Windows) und efibootmgr (Linux) hat man Tools um per Kommandozeile den (nächsten) Start des Rechners zu beeinflussen. Also neuer Versuch: USB Laufwerk einstecken, Script für den Restart ausführen und entspannt zuschauen wie präzise das gewünschte System ausgeführt wird. So könnte es gehen - mal schauen wie weit ich komme. Das wird erstmal ein Arbeitsdokument.

Freitag, 10. Juni 2022

Headless Setup Raspberry 2022

RaspiOS hat im April 2022 ein paar einschneidende Änderungen erfahren:
  1. Andere Kompression des Images, früher zip jetzt img.xz
  2. Kein Standardbenutzer mehr im System, damit ändert sich das Headless Setup.

An dieser Stelle ein paar Tipps:

Mittwoch, 6. April 2022

andocken - Dinge die man außerhalb docker braucht

Netzwerke, Laufwerke und seriellen Geräte funktionieren relativ einfach in der Containerumgebung. Mit Sound, Bluetooth, Wake on Lan usw. wird es schon schwieriger. Die sind nicht vorgesehen. Docker soll Softwarepakete/Applikationen isolieren und dicht "packen". Das man seine PC Umgebung dort hineinverlegt war so nicht unbedingt gedacht. Und es gibt natürlich "Übergangsbereiche" - Smarthome zum Beispiel. Ich habe ein paar Anforderungen für die ich eine Lösung brauche. Vielleicht ist es ja gar keine Behelfslösung sondern eine clevere Alternative? Folgende Themen habe ich bisher gefunden:

  1. Sound
  2. Bluetooth
  3. WakeOnLan bzw. ssh nutzen  

Montag, 28. März 2022

debian - Setup mal nicht all inclusive

Ich bin es ja gewöhnt so etwas wie Raspberry OS Lite zu installieren. Da ist eigentlich erstmal alles dabei. Wenn man mal andere Hardware hat und mit einem debian-xxx-netinst.iso beginnt, merkt man schnell was so alles "fehlt". 

Es geht schon beim Setup los, wenn die Bemerkung kommt: Es werden Treiber/Firmware benötigt - hätte man dann eventuell mit einem "inoffiziellen Firmware" Image starten sollen? Wenn man Glück hat, läuft die Installation erstmal durch, dann sollte (muss?) man später nacharbeiten. Link.

Anmerkung: inoffziell oder non-free bezieht sich mehr oder weniger auf die Lizenzbedingungen unter der einige Hersteller ihre Linux Firmware veröffentlichen (war bei mir z.B. für Realtek und Intel Netzwerkadapter der Fall)

Dieser Artikel ist in den dargestellten Schritten schon nutzbar, an ihm wird aber aktuell gearbeitet!

Donnerstag, 3. März 2022

Dockerfile - Image für den Container selbst bauen

Das hier ist mehr ein persönliche Machbarkeitsstudie und soll kein Ansatz für ein dauerhaft gepflegtes Dockerimage werden. Ich wollte wissen wie es geht und den Vorgang verstehen. herausgekommen ist erstmal ein kurzes Beispiel und ein minimales FHEM Image.

Kurz vornweg: Hier ein Script welches die gesamte docker Umgebung und das FHEM Image baut. Damit hat man auf einem Intel PC in weniger als 2 min (Pi3 ca. 6 min) ein funktionierendes FHEM. 

Freitag, 11. Februar 2022

Wireguard - verbundene Netzwerke

Einfach eine vor konfigurierte Box in das Netzwerk des Freundes oder Kunden stecken und dann ruhig und sicher dieses Netzwerk von der Ferne überwachen und administrieren können - das war die Idee. Eine Box, die der andere jederzeit entfernen und auch wieder stecken kann. Man muss im anderen Netzwerk nichts weiter tun

  • keine Manipulation im Netzwerk, 
  • keine Portfreigabe,
  • kein Router / Fritzbox VPN-Verbindung einrichten. 

Schnell, transparent und einfach soll es auch noch sein! IPv4 und IPv6 sollen funktionieren.

Es braucht nicht viel: Hardware: einen Raspberry Pi als Client und eine debian Maschine (virtuell oder physisch) im eigenen Netzwerk. Software: wireguard, PiVPN, etwas gewusst wie. 

Montag, 31. Januar 2022

OpenWrt upgrade WRT1900ACS (WRT3200ACM) auf DSA network config

 ... das Ende vom Lied: ich habe das Meiste erstmal interaktiv und wenig mit Scripten gemacht - man kann nicht alles theoretisch vordenken. Und ich wollte die Standard Konfiguration erkunden, erweitern und nicht kaputt machen. Nach dem eigentlichen Upgrade habe ich doch ein paar Scripte gemacht die vielleicht nützlich sind.

Das eigentliche Ziel: Update der OpenWrt Firmware mit Reset der Einstellungen, wie es bei manchem Router beim Wechsel von 19.07 auf 21.02 gemacht werden muss. Dabei sollen die Netzwerkkomponenten nicht durcheinander geraten und nach kurzer Zeit alles wieder funktionsfähig sein.

Fast zeitgleich wurde mein DSL Anschluss erneuert - ich habe jetzt vollwertig IPv4 und IPv6. In der default Konfiguration funktioniert ein OpenWrt Router auch nach einer Fritzbox für IPv6. Die Fritzbox muss für einen weiteren Router konfiguriert werden: Dokument von AVM.

Wichtig zur Vorbereitung: Backup und extra ein export der network und wireless Konfiguration sowie der DHCP static leases.

Dienstag, 4. Januar 2022

Saugroboter der Neue

Zum Jahreswechsel sucht man sich was zum spielen. Der Saugroboter hat Schwierigkeiten mit dem Weihnachstbaum, Magnetstreifen auslegen habe ich keine Lust, außerdem hat Valetudo eine neue MQTT Api bekommen... Ein Artikel bei Heise hat mich über ValetudoRE nachdenken lassen.

Den Dreame L10 pro haben die Kumpels von DPD mal wieder kräftig mit CO² aufgeblasen, die Sache mit den Lieferdienstes macht mir immer mehr ein schlechtes Gewissen.

Ein erster Test: einfach auf die Taste drücken und fährt - der Weihnachtsbaum bleibt stehen. Aber jetzt erstmal rooten, bevor jemand eine neue Firmware aufspielt. Mit aktuellster Firmware soll es mit dem rooten wieder Probleme geben...