Kategorie: Hardware

Raspberry Pi – Docker und Portainer installieren

Wer öfter neue Anwendungen für seinen Raspberry Pi installiert und diese schnell und einfach testen und verwenden möchte, landet früher oder später bei der Nutzung von Containern. Container sind standardisierte Einheiten, die alle notwendigen Dateien enthalten, welche zum Ausführen einer Software erforderlich sind. Neben der Anwendung an sich laufen also auch Bibliotheken, Systemwerkzeuge, Code und Laufzeit im Container.

Docker ist eine Software für das Management von Containern. Mit Hilfe von Docker lassen sich Anwendungen in jeder Umgebung schnell und einfach bereitstellen. Eine hervorragende Ergänzung dazu ist Portainer. Kurz gesagt handelt es sich bei Portainer um eine grafische Benutzeroberfläche für Docker. Damit lässt sich die gesamte Docker-Infrastruktur intuitiv verwalten, was vor allem für Einsteiger ein gewaltiger Vorteil ist. Aber auch erfahrene Nutzer wissen das übersichtliche Management zu schätzen.

Das Konstrukt Docker und Portainer ist schnell aufgesetzt und eine wirklich tolle Umgebung, um mit Containern zu arbeiten. Also perfekt für unseren Raspberry Pi!

Raspberry Pi aktuell halten

Zunächst solltet ihr sicherstellen, dass alles auf dem aktuellsten Stand ist. Dazu müsst ihr die Paketquellen aktualisieren und alle installierten Programme updaten. Anschließend noch den Kernel und die Firmware aktualisieren. Zum Schluss den Raspberry Pi unbedingt neustarten.

sudo apt update
sudo apt upgrade
sudo rpi-update
sudo reboot

Docker Installation

Docker Icon

Die Installation von Docker wird über ein Skript durchgeführt. Dieses wird direkt von Docker zur Verfügung gestellt und führt alle Schritte automatisch ohne weitere Eingaben vom Benutzer durch. Nach wenigen Minuten ist Docker betriebsbereit.

curl -sSL https://get.docker.com | sh

Nach der Installation solltet ihr noch euren Benutzer in die Gruppe „docker“ mit aufnehmen, damit ihr ohen root-Rechte mit Docker interagieren könnt. Der zweite Befehl stellt sicher, dass die Änderung wirksam wird. Alternativ hilft aus- und wieder einloggen.

sudo usermod -aG docker $USER
newgrp docker

Zur Überprüfung, ob die Installation erfolgreich verlaufen ist und Docker funktioniert, lassen wir uns die installierte Version anzeigen.

docker version

Portainer Installation

Porainer Logo

Portainer ist im offiziellen Docker Hub als Container erhältlich. Der Befehl holt die aktuellste Version des Portainer-Images für ARM-Prozessoren (genau diese benötigen wir für den Rasperry Pi).

sudo docker pull portainer/portainer-ce:linux-arm

Jetzt wird ein neuer Container gestartet, in dem Portainer läuft.

sudo docker run --restart always --name=portainer -d -p 8000:8000 -p 9443:9443 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:linux-arm --http-disabled

Nach kurzer Zeit ist Portainer bereit und ihr könnt das Webinterface über den HTTPS-Port 9443 und die IP des Rasperry Pis erreichen. Zum Beispiel: https://192.168.180.100:9443

Dort müsst ihr zunächst einen User und das dazugehörige Passwort anlegen:

Portainer Setup

Portainer Setup

Im zweiten Schritt wählt ihr „Docker“ aus und klickt unten auf den Button „Connect“. Den Hinweis könnt ihr ignorieren, da wir bereits alles richtig gestartet haben.

Portainer Setup

Portainer Setup

Portainer verwenden

Auf der Startseite könnt ihr direkt die wichtigsten Infos einsehen. In meinem Beispiel läuft ein Docker-Container und es liegen keine Probleme vor.

Portainer Home

Fahren wir direkt mit der wohl wichtigsten Seite fort. Unter „Containers“ seht ihr eine Liste aller Container.

Bei 1. findet ihr detaillierte Infos zum jeweiligen Container wie zum Beispiel der aktuelle Status, das verwendete Image, wann der Container erstellt wurde, die verwendete interne IP-Adresse und die verwendeten Ports. Sobald ein Container selektiert ist, kann dieser unter anderem gestartet, gestoppt oder gekillt werden (2.). Mit Klick auf den Button „Add container“ kann ein neuer Container erstellt werden (3.).

Portainer Container Overview

Zuerst benötigt der neue Container einen Namen. Im Beispiel nenne ich ihn „Adguard“. Im zweiten Schritt muss das gewünschte Image angegeben werden. Die genaue Bezeichnung lässt sich via Docker Hub herausfinden. Unter „Network ports configuration“ lassen sich die Ports (Host + Container) definieren. Die Beschreibung bei Docker Hub liefert hier oft nähere Informationen. In vielen Fällen reicht auch das Setzen der Option „Publish all exposed network ports to random host ports“, dann werden alle vom Container benötigten Ports zufällig vergeben. Unter „Access control“ kann der Zugriff auf den Container im Portainer Webinterface eingeschränkt werden. Des Weiteren lassen sich ganz unten eine Menge zusätzlicher Einstellungen konfigurieren. Die wohl wichtigste Option ist die „Restart Policy“. Damit legt ihr fest, was mit dem Container passieren soll, wenn euer Raspberry Pi neustartet.

Sobald alle Einstellungen getroffen sind, kann der neue Container mit Klick auf „Deploy the container“ erstellt werden.

Portainer create new container

Portainer aktualisieren

Zum Aktualisieren auf eine neue Version müsst ihr Portainer zunächst stoppen und dann entfernen. Keine Angst, eure Daten und die anderen Container werden dadurch nicht beeinflusst.

docker stop portainer
docker rm portainer

Anschließend wird das lokale Portainer-Image aktualisiert und Portainer danach wieder deployed.

sudo docker pull portainer/portainer-ce:linux-arm
sudo docker run --restart always --name=portainer -d -p 8000:8000 -p 9443:9443 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:linux-arm --http-isabled

Danach könnt ihr euch wieder wie gewohnt am Webinterface anmelden.

Dreame Bot Z10 Pro im Test – Staubsaugerroboter mit Absaugstation

Dreame hat bei mir angefragt, ob ich nicht Lust hätte, den neuen Staubsaugerroboter Dreame Bot Z10 Pro zu testen. Da ich bisher noch keinen Roboter hatte und mir demnächst einen zulegen wollte, war das Angebot natürlich super. Bei dem Gerät handelt es sich um das neue Topmodell von Dreame. Der Staubsaugerroboter kann Wischen und wird zusammen mit einer Absaugstation ausgeliefert. Der offizielle Verkaufsstart in Deutschland ist der 10. August 2021.

Dreame wurde 2015 gegründet und produziert Haushaltsreinigungsgeräte wie Akku-Staubsauger und Roboter-Staubsauger. Der chinesische Hersteller trat 2017 dem Xiaomi-Ökosystem bei und produziert auch Geräte für Xiaomi.

Der Dreame Bot Z10 Pro war bereits die letzten vier Wochen bei mir im Haus unterwegs, sodass ich euch in meinem Test einen guten Überblick bieten kann.

Lieferumfang und technische Daten

Durch die Absaugstation fällt der Karton deutlich größer als bei einen normalen Saugroboter aus. Alle Einzelteile sind sicher untergebracht und es ist alles dabei, was für einen Betrieb benötigt wird. Ersatzteile lassen sich in der Regel sehr preiswert auf AliExpress nachbestellen. Der Lieferumfang besteht aus folgenden Teilen:

Technisch ist der Dreame Bot Z10 Pro auf dem neuesten Stand und gehört mit einer Saugkraft von 4.000 Pa zu dem stärksten Saugrobotern auf dem Markt. Der 5.200 mAh große Akku soll für eine maximale Laufzeit von 150 Minuten sorgen. In der Praxis dürften 90 Minuten realistisch sein, was für eine durchschnittliche Wohnung oder ein Stockwerk im Haus locker ausreichen sollte.

Die folgende Tabelle listet alle technischen Daten auf und zeigt einige weitere Modelle im Vergleich.

Dreame Bot Z10 ProDreame Bot L10 ProRoborock S7iRobot Roomba i7+
Saugleistung4.000 Pa4.000 Pa2.500 Pa2.250 Pa
NavigationLaser (LiDAR)Laser (LiDAR)LaserLaser
Abmessungen35 x 9,7 cm35 x 9,7 cm35 x 9,6 cm34 x 9,3 cm
Gewicht3,7 kg3,7 kg4,7 kg3,4 kg
Lautstärke?65 dB67 dB68 dB
Wischfunktionjajajanein
Wasserbehälter150 ml270 ml300 ml
Staubbehälter400 ml570 ml470 ml400 ml
Absaugstationjaneinoptionalja
Akku5.200 mAh5.200 mAh5.200 mAh3.300 mAh
Laufzeit150 Minuten150 Minuten180 Minuten75 Minuten
Preisca. 450 Euroca. 350 Euroca. 550 Euroca. 700 Euro

Design und Verarbeitung

Ob Absaugstation oder Saugroboter selbst, beides macht einen hochwertigen Eindruck und ist gut verarbeitet. Statt wie viele Hersteller auf Hochglanz-Optik zu setzen, greift Dreame beim Z10 auf einen matten, anthrazitfarbenen Kunststoff zurück. Dadurch sind zukünftige, unvermeidbare Kratzer weniger stark sichtbar.

Beim Design des Roboters gibt es keine Besonderheiten. Er ist rund und der Durchmesser beträgt wie bei vielen anderen Modellen 35 Zentimeter. Der Z10 Pro misst acht Zentimeter in der Höhe, mit dem Sensoraufbau sind es allerdings 9,7 Zentimeter. An der Unterseite befinden sich große Rollen mit Federung, die kleine Hindernisse bis maximal zwei Zentimeter Höhe überbrücken können. Ebenso Standard sind die große Walzenbürste und die kleine Bürste auf der rechten Seite, um Dreck aus Ecken und Ritzen entfernen zu können. Optional kann der Z10 Pro auch mit Wassertank und Mikrofasertuch ausgestattet werden. Das Tuch wird via Klettverschluss an den Wassertank befestigt.

Die Absaugstation kommt relativ wuchtig daher. Kein Wunder, denn sie muss schließlich den Dreck aus dem Schmutzauffangbehälter des Roboters saugen und benötigt dazu ordentlich Power. Oben befindet sich ein Deckel, unter welchem sich der vier Liter große Staubbeutel befindet. Dieser kann mit einem Handgriff ohne viel Aufwand gewechselt werden.

Dreame Bot Z10 Pro - Absaugstation

Dreame Bot Z10 Pro – Absaugstation

Inbetriebnahme und Bedienung

Neben einer umfangreichen Bedienungsanleitung liegt dem Dreame Bot Z10 Pro auch ein Quick Start Guide bei. Hier werden die einzelnen Schritte für die Inbetriebnahme beschrieben.

Die Inbetriebnahme funktioniert wirklich sehr einfach und ist genau beschrieben, sodass auch Erstkäufer, die noch nie einen Saugroboter hatten, direkt loslegen können.

Zuerst muss der Schaumstoff-Schutz am Roboter links und rechts entfernt werden. Anschließend wird die kleine Seitenbürste eingesetzt und die Absaugstation aufgestellt. Diese muss sich logischerweise in der Nähe einer Steckdose befinden, damit der Roboter nach getaner Arbeit wieder aufgeladen und entleert werden kann. Das Stromkabel misst 1,5 Meter. Sehr gut gefällt mir, dass sich auf der Rückseite ein Kabelmanagement befindet. Setzt man die Absaugstation direkt neben eine Steckdose, kann das restliche Kabel dort sauber verstaut werden und liegt nicht hinter oder neben der Station. Zum Schluss kann der Roboter auf die Station gestellt und geladen werden. Im Auslieferungszustand ist der Akku ca. zur Hälfte geladen. Bei mir war die Absaugstation bereits mit einem Beutel versehen. Der Ersatzbeutel im Lieferumfang wird erst benötigt, wenn der erste Beutel gefüllt ist.

An dieser Stelle müsst ihr die Xiaomi / Mi Home App auf euer Smartphone installieren. Diese ist sowohl für Android als auch iOS erhältlich und kostenfrei. Nach dem Start ist es allerdings notwendig ein Konto bei Xiaomi zu erstellen und sich damit einzuloggen. Danach tippt ihr oben auf das +-Icon um ein neues Gerät hinzuzufügen. Im Suchfeld könnt ihr entweder nach „Dreame Bot Z10 Pro“ suchen oder den QR-Code vom Quick Start Guide zu scannen. Die weiteren Schritte werden alle detailliert in der App beschrieben und bedürfen keiner weiteren Erläuterung.

Nachdem der Roboter mit der App verknüpft war, gabs noch ein Firmware-Update. Dieses war nach wenigen Minuten erledigt.

Ich konnte es kaum erwarten und habe meinen Dreame Bot Z10 Pro direkt auf die erste Reise geschickt. Wer möchte kann davor noch den Wassertank befüllen und montieren. Für meine erste Fahrt habe ich mich aber dagegen entschieden.

Auf der Karte ist direkt ersichtlich, an welcher Stelle sich der Roboter befindet und was bereits gereinigt wurde. Leider war der Akku kurz vor Schluss soweit leer, dass er eine Ladepause machen musste. Mit vollem Akku hat er die erste Fahrt dann erfolgreich beendet.

Nachdem die erste Reinigung im Erdgeschoss beendet war, hatte der Roboter eine vollständige Karte angefertigt. Diese wird im Anschluss in verschiedene Bereiche unterteilt. Sollte etwas nicht passen könnt ihr nachträglich eigene Räume definieren oder zusammenführen. Ebenso lässt sich die Karte drehen oder bestimmte No-Go-Zonen einrichten. Unterstützt werden bis zu drei Karten bzw. Stockwerke. Auch virtuelle Wände, wischfreie Zonen wie Teppiche, dynamische Routen und bestimmte Reinigungszeiten sind kein Problem. Des Weiteren lassen sich die Saugstärke und die Wasserzuführung regeln. So können Fliesen beispielsweise ordentlich nass gewischt werden und der Parkettboden mit wenig Feuchtigkeit.

Das war aber noch lange nicht alles. Ebenso lässt sich die Sprachausgabe deaktivieren oder die Sprache wechseln, die automatische Entleerung anpassen oder eine Kindersicherung aktivieren.

Insgesamt bleiben so gut wie keine Wünsche offen und die App ist wirklich super. Wer nur schnelle eine Reinigung starten möchte, kann auch die Buttons auf der Oberfläche des Saugroboters nutzen. Darüber hinaus lässt sich der Dreame Bot Z10 Pro auch über einen Alexa Skill steuern. Die Einbindung klappt ähnlich einfach wie mit der App und die Sprachsteuerung funktioniert gut. Die Befehle werden zügig ausgeführt. Der Funktionsumfang hält sich allerdings in Grenzen.

Reinigungsleistung und Praxistest

Es existieren vier Saugmodi: Leicht, Standard, Stark und Turbo. Der Standardmodus reicht für eine Standardreinigung aus. Sofern es sich um eine normale Menge Dreck handelt, wird alles zuverlässig aufgesaugt. Müsli, Zucker, Mehl, Brotbrösel oder Staub – alles kein Problem. Bei größeren Ansammlungen kann es vorkommen, dass nicht alles erwischt wird. In diesem Fällen wird im Alltag aber sowieso zum Handstaubsauger oder Besen gegriffen, weshalb das kein Kritikpunkt ist. Teppiche werden zuverlässig automatisch erkannt und im Turbo-Modus gesaugt. Die Lautstärke im Standard-Modus ist angenehm und man kann sich ohne Probleme mit dem Roboter in einem Raum aufhalten. In den stärkeren Modi ist er entsprechend lauter, aber nicht unangenehm laut. Ich habe zwar keinen direkten Vergleich, aber andere Reviews können meine Einschätzung bestätigen. Andere Saugroboter von Roborock oder iRobot sind auf der höchsten Stufe sogar lauter.

Kommen wir zur Wischfunktion. Damit diese funktioniert muss der Wassertank mit angebrachtem Mikrofasertuch befüllt und der komplette Reinigungsaufsatz an der Unterseite des Roboters angebracht werden. Zudem sollte das Tuch spätestens alle 30 Minuten gewechselt bzw. ausgewaschen werden. In der Praxis wird dies aber vermutlich erst erledigt werden, wenn der Roboter seine Reinigungsaufgabe erledigt hat. Alles in allem handelt es sich bei der Wischfunktion eher um ein Staubwischen. Der Roboter zieht einen feuchten Lappen hinter sich her –  das wars. Für ein richtiges Wischen fehlt der notwendige Druck und außerdem musste ich feststellen, dass das Mikrofasertuch etwas ungleich befeuchtet wird. Nasse Flecken können nicht aufgenommen werden und werden beim drüberfahren eher verschmiert als aufgewischt.

Bei der Navigation hat mich der Dreame Bot Z10 Pro beeindruckt. Der LiDAR-Sensor, welcher sind in dem „Türmchen-Anbau“ befindet leistet hier super Arbeit. Dazu kommen viele weitere Sensoren, sodass Objekte frühzeitig erkannt und zielgerichtet umfahren werden. Kollisionen mit Hindernissen kamen bei mir nur äußerst selten vor. Darüber hinaus ist er mit sechs Kanten- und Absturzsensoren ausgestattet, sodass der Roboter nicht aus Versehen die Treppe runterfährt.

Während der Reinigung fährt der Roboter natürlich nicht zufällig im Raum herum, sondern agiert dank seiner Wegfindungstechnologie nach einem klaren Schema. Beim Übergang von zwei Reinigungszonen fährt er diese überlappend ab, sodass keine ungeputzten Bereiche zurückbleiben. Lediglich an den Ecken dreht der Roboter manchmal zu schnell ab und erwischt nicht den gesamten Staub. Hier hatte ich das Gefühl, dass dies beim ersten Durchgang deutlich stärker ausgeprägt war. In nachfolgenden Reinigungsdurchläufen wurde hier besser gesaugt. Ecken sind durch die runde Bauform generell problematisch und können nie ganz erfasst werden.

Hat man einen kleinen Bereich, der gereinigt werden soll, kann man den Roboter dort einfach hinstellen. Drückt man nun die Bedientaste mit dem Quadrat, reinigt der Roboter rund einen Quadratmeter um seine aktuelle Position.

Dreame Bot Z10 Pro - Buttons

Dreame Bot Z10 Pro – Buttons

Komfortabel ist die automatische Entleerung an der Absaugstation. Die Staubkammer des Roboters wird dabei von unten mit ordentlich Power ausgesaugt. Dies dauert wenige Sekunden und funktionierte in der Praxis bisher immer sehr gut. Die Lautstärke ist während diesem Vorgang mit einem herkömmlichen Staubsauger zu vergleichen und sollte daher am besten nicht in der Nacht stattfinden ;-) Da die Staubkammer in der Regel nicht komplett voll ist, sollten hier deutlich mehr wie die rechnerischen zehn Absaugvorgänge möglich sein, bevor der Staubbeutel getauscht werden muss. Nachdem nur zwei Beutel mitgeliefert werden, dürft ihr nicht vergessen rechtzeitig Nachschub zu bestellen.

Fazit

Vor dem Dreame Bot Z10 Pro hatte ich bisher keinen Staubsaugerroboter. Nun ist er fast täglich im Einsatz, das sagt schon alles :-)

Insgesamt liefert Dreame ein tolles Gesamtpaket ab. Inbetriebnahme, Bedienung via App und Arbeitsergebnis sind einfach stimmig und es gibt so gut wie keine Kritikpunkte. Einzig die schwache Wischfunktion ist zu bemängeln, die nicht mehr als eine nette Ergänzung ist. Dies dürfte aber ebenso auf alle Konkurrenzprodukte zutreffen.

Die Absaugstation ist eine tolle Neuerung und erspart die manuelle Reinigung nach jedem Saugvorgang. Allerdings müssen hier Folgekosten für die Staubbeutel eingeplant werden. Wer bereits einen Saugroboter besitzt, dem dürfte die Absaugstation als alleiniges Argument zu wenig sein. Ich würde jedoch immer wieder zum Komplettpaket greifen.

Der Dreame Bot Z10 Pro ist ab dem 10. August bei AliExpress erhältlich. Er kann ohne Zollprobleme aus Spanien, Polen oder Frankreich versendet werden und kostet dort aktuell 575 Euro im Vorverkauf. Kein Schnäppchen, aber Konkurrenzprodukte mit ähnlicher Ausstattung liegen teilweise sogar darüber.

Zur deutschen Markteinführung gibts eine Rabatt-Aktion bei AliExpress. Vom 10. August 09:00 Uhr bis 14. August 08:59 solltet ihr den Dreame Bot Z10 Pro für ca. 400 Euro erhalten können. Wer einen guten Saugroboter mit Absaugstation sucht, kann hier beherzt zugreifen.

22-Euro-Freigrenze für Online-Bestellungen aus Nicht-EU-Ländern fällt zum 1. Juli 2021

Geld

Ab dem 1. Juli 2021 fällt die bisherige 22-Euro-Freigrenze für alle Online-Einkäufe aus Nicht-EU-Ländern weg. Kleine Bestellungen die direkt aus China, USA oder Großbritannien kommen, werden damit zukünftig deutlich teurer. Die EU-Kommission möchte mit dieser Maßnahme die steuerrechtliche Bevorzugung von ausländischen Versandhändlern verhindern

Bisher fiel auf Bestellungen mit einem Warenwert von unter 22 Euro keine Einfuhrumsatzsteuer an. De facto waren es sogar 26,31 Euro, da Abgaben von weniger als 5 Euro bisher nicht erhoben wurden. Mit der neuen Regelung wird die Einfuhrumsatzsteuer theoretisch ab dem ersten Cent fällig. In der Praxis werden aber nur Beträge ab 1 Euro erhoben. Damit sinkt die Freigrenze auf 5,23 Euro. Dies gilt wohlgemerkt für Warenwert inklusive Porto. Darüber hinaus müssen Onlinehändler aus Nicht-EU-Ländern jetzt die Zolldeklaration übernehmen, was zusätz­lichen Aufwand bedeutet.

Die fälligen Einfuhrabgaben werden von der Deutschen Post DHL Group gegenüber dem Zoll vorgestreckt und bei Zustellung an der Haustür bzw. Übergabe in einer Filiale von den Empfängerkunden kassiert. Für diesen Service fällt dann zusätzlich eine Auslagepauschale in Höhe von 6 Euro an.

Insgesamt dürften damit Kleinstsendungen aus China deutlich unattraktiver werden. Zahlte man bisher für eine Powerbank beispielsweise 12 Euro, sind ab dem 1. Juli insgesamt 20,28 Euro fällig. Diese setzen sich aus 12 Euro für die Ware, 2,28 Euro Einfuhrumsatzsteuer und 6 Euro Auslagepauschale von der Deutschen Post zusammen.

Doch dafür gäbe es eine Lösung. Die Verkäufer im Drittland können sich für das neue Mehrwertsteuersystem Import One Stop Shop (IOSS) der EU registrieren. Die Einfuhrumsatzsteuer wird dann vom Händler im Voraus gezahlt und der Kunde muss keine Servicepauschale der Versanddienstleister bezahlen. Die 19% Einfuhrumsatzsteuer werden dann aber höchstwahrscheinlich bereits im Artikelpreis enthalten sein oder als extra Posten im Rechnungsbetrag auftauchen.

Wie sich die neue Gesetzgebung in der Praxis auswirkt bleibt abzuwarten. Viele chinesische Anbieter wie AliExpress oder Gearbest haben in den letzten Jahren selber große Logistikzentren in Europa errichtet. Kommt die Ware jetzt containerweise nach Europa, können Händler durch die Angabe falscher Warenwerte die Steuerlast deutlich reduzieren. Sicherlich wird es auch Versuche geben Direktsendungen aus China mit einem Warenwert unter 5,23 Euro anzugeben. Angesichts der gigantischen Mengen, welche jedes Jahr in die EU kommen, ist es auch gar nicht möglich alle Sendungen zu kontrollieren.

AVM FRITZ!Box 5530 Fiber am Telekom-FTTH-Anschluss in Betrieb nehmen

Die neue FRITZ!Box 5530 Fiber wurde bereits im September 2019 das erste mal gezeigt. Mehr als ein Jahr später, Mitte November 2020, fand die offizielle Vorstellung statt. Als Verkaufsstart nannte AVM hier lediglich „demnächst verfügbar“. Anschließend hat es nochmal ca. zwei Monate gedauert, bis die FRITZ!Box 5530 Fiber das erste Mal käuflich zu erwerben war. Seitdem sind immer mal wieder Angebote bei Amazon zu finden, die in der Regel aber nach wenigen Stunden ausverkauft sind.

Ich hatte Glück und konnte letzte Woche eine 5530 ergattern, die vor wenigen Tagen bei mir eingetroffen ist. Nachdem ich bereits von einigen Firmware-Problemen bei der offiziellen FRITZ!OS Version 07.21 gelesen hatte, habe ich ohne weitere Tests direkt zur neuesten erhältlichen Firmware gegriffen. Zum Zeitpunkt des Artikels war das FRITZ!OS 07.24-86065 Inhaus. Den Download findet ihr übrigens hier: https://download.avm.de/inhaus/PSQ19Phase2/5530/FRITZ.Box_5530-07.24-86065-Inhaus.image

Und hier ist die neue FRITZ.Box_5530-07.24-86375-Inhaus.

Telekom-Setup

Bereits seit einigen Jahren werden bei uns in der Gegend Neubaugebiete mit Fiber to the Home (FTTH) ausgestattet. Die Telekom setzt dabei auf Gigabit Passive Optical Network (GPON).

Die Beantragung erfolgt über den Netzversorger. Dieser legt dann in koordinierter Bauweise neben dem Strom- unter anderem auch den FTTH-Anschluss in die Mehrspartenhauseinführung. Genauer gesagt erst einmal nur das Glasfaserleerrohr. Anschließend wird die Glasfaser eingeblasen und der Glasfaser-Abschlusspunkt (Gf-AP) gesetzt. Üblicherweise wird daneben die Glasfaser-Teilnehmeranschlussdose (Gf-TA) verbaut. Diese kann aber z.B. auch in einem anderen Raum oder im EG verbaut werden. Als drittes wird der die Optical Network Termination (ONT) platziert. Dabei handelt es sich schlicht und einfach um das Glasfasermodem welches via LC-Simplex-Patchkabel mit der Gf-TA verbunden wird. Die FTTH-Grundinstallation bei der Telekom ist also Gf-AP –> Gf-TA –> ONT.

Bei mir kommt ein sogenannter Klapp-TA zum Einsatz. Dabei handelt es sich um einen Gf-TA der sich aufklappen lässt mit integriertem ONT. Ich habe ein Leerrohr von der Mehrspartenhauseinführung zum Netzwerkschrank gelegt, sodass ich den kombinierten Fg-TA/ONT dort platzieren konnte. In meinem Fall ist der ONT ein Huawei EchoLife HG8010u (ONT v3). Dieser besitzt eine LAN-Schnittstelle, welche man mit dem Router verbindet, in meinem Fall eine ältere FRITZ!Box 7490.

Nachfolgend ein paar Fotos:

Umstellung auf FRITZ!Box 5530 Fiber

Mein Ziel war es, den ONT und die ältere FRITZ!Box 7490 durch die neue FRITZ!Box 5530 Fiber zu ersetzen. Einfach Umstecken funktioniert allerdings nicht, da hier einige Dinge zu beachten sind. Nachfolgend eine kleine Anleitung, die bei mir und anderen Benutzern einwandfrei funktioniert hat.

  1. Als Ausgangssituation startet ihr mit eurem aktiven und verbundenen ONT (Glasfaserkabel ist eingesteckt).
  2. Zunächst benötigt ihr die ONT-Kennung, welche ihr bei der Telekom erfragen müsst. Theoretisch funktioniert das über die Hotline. Praktisch wissen nur wenige Ansprechpartner Bescheid, weshalb ihr vermutlich mehrmals anrufen müsst, bis euch die ONT-Kennung genannt wird. Daher würde ich euch empfehlen die Anfrage via „Telekom hilft“ auf Twitter zu stellen. Das funktioniert zuverlässig und vermutlich auch schneller.
  3. Wie anfangs beschrieben solltet ihr eure FRITZ!Box 5530 auf die neueste Version aktualisieren.
  4. Nun könnt ihr das GPON-Modul in eure 5530 stecken, das Glasfaserkabel vom ONT entfernen und mit eurer FRITZ!Box verbinden.
  5. Die Seite „http://fritz.box/support.lua“ öffnen, einloggen und ganz runter scrollen. Dort bei „GPON Seriennummer“ die Seriennummer eures ONTs eintragen. Mit dem Klick auf den Button „Einstellungen übernehmen“ hat es bei mir komischerweise nicht funktioniert. Daher habe ich nach dem Eintragen oben links auf das FRITZ!-Logo geklickt und im Popup auf „Übernehmen“.
    Die Seriennummer bei den Huawei-ONTs findet ihr unter dem Deckel. Diese könnt ihr 1:1 übernehmen.
    Bei älteren Sercomm-ONTs müsst ihr die Seriennummer erst umwandeln. Als Hilfestellung kann ich diesen Forenbeitrag empfehlen.

  6. Anschließend unter „http://fritz.box“ die Telekom-Zugangsdaten und die ONT-Kennung eintragen.

    FRITZ!Box 5530 Zugangsdaten

    FRITZ!Box 5530 Zugangsdaten

  7. Optional: Ab sofort könnt ihr ohne weiteres Zutun zwischen FRITZ!Box 5530 und altem ONT wechseln. Einfach das Glasfaserkabel umstecken.

Sollte bei euch diese Variante nicht funktionieren, gäbe es noch die Möglichkeit über einen Rediscover. In diesem Fall müsst ihr die Seriennummer eures Telekom-ONTs nicht übernehmen. Nachteil dieser Methode ist allerdings, dass ab sofort nur noch die FRITZ!Box 5530 an eurem FTTH-Anschluss funktioniert. Ein Wechsel zurück zum alten ONT hätte einen erneuten Rediscover zur Folge. Da diese Variante einige Nachteile besitzt hier nur die Kurzform:

  1. ONF-Kennung bei der Telekom erfragen. Funktioniert sporadisch via Hotline, daher besser „Telekom hilft“.
  2. FRITZ!Box 5530 auf die neueste Version aktualisieren.
  3. Glasfaserkabel vom ONT entfernen.
  4. Bei der Telekom einen Rediscover anfordern. Funktioniert sporadisch via Hotline, daher besser „Telekom hilft“.
  5. Glasfaserkabel in das GPON-Modul der FRITZ!Box 5530 stecken und Zugangsdaten eintragen.

Ubiquiti UniFi Dream Machine Pro (UDM-PRO) – NAT deaktivieren

Ubiquiti Logo

Die Ubiquiti UniFi Dream Machine Pro (UDM-PRO) bietet ein gutes Preis-Leistungs-Verhältnis, weshalb sie oft im Privatgebrauch oder in kleinen Firmen zum Einsatz kommt. Idealerweise wird das Gerät direkt oder über ein Modem mit dem Internet verbunden. Hierfür stehen an der UDM-PRO die beiden WAN-Ports 9 (RJ45) und 10 (SFP) zur Verfügung. Auf beiden Ports ist die Network Address Translation (NAT) standardmäßig aktiviert. Innerhalb der Konfigurationsoberfläche besteht keine Möglichkeit NAT zu deaktivieren.

Falls die UDM-PRO unter bestimmten Voraussetzungen hinter einem Router, z.B. einer FRITZ!Box betrieben werden muss, dann hat man zwangsweise den Nachteil von doppeltem NAT. In vielen Fällen kann dieses Setup ohne weitere Einschränkungen genutzt werden. Doppeltes NAT führt aber oftmals bei Onlinespielen, Xbox, PlayStation und Co zu Problemen. Diese Probleme können jedoch behoben werden, indem die UDM-PRO in der FRITZ!Box als „Exposed Host“ konfiguriert wird. Das doppelte NAT ist dann aber trotzdem noch vorhanden.

Lange Rede kurzer Sinn: In diesem Artikel möchte ich euch zeigen, wie ihr NAT auf den WAN-Ports der UDM-PRO deaktivieren könnt.

SSH aktivieren und verbinden

Zunächst müsst ihr den SSH-Zugang aktivieren und ein Passwort setzen. Dies erfolgt über die Einstellungen der UDM-PRO unter dem Punkt „Adcanced“.

Anschließend könnt ihr euch z.B. mit PuTTY via SSH auf die UDM-PRO verbinden. Der Username ist „root“.

Mit folgendem Befehl können wir die aktuelle NAT-Konfiguration einsehen:

xtables-multi iptables -t nat -L UBIOS_POSTROUTING_USER_HOOK -v --line-number

Standardmäßig sieht die NAT-Konfiguration folgendermaßen aus:

Chain UBIOS_POSTROUTING_USER_HOOK (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 MASQUERADE all -- any eth8 anywhere anywhere /* 00000001095327760591 */
2 0 0 MASQUERADE all -- any eth9 anywhere anywhere /* 00000001095327760592 */

Hier ist ersichtlich, dass auf Port 9 (eth8) und Port 10 (eth9) NAT aktiviert ist.

„UDM / UDMPro Boot Script“ installieren

Voraussetzung für das Deaktivieren von NAT ist das „UDM / UDMPro Boot Script„, welches auch nach einem Neustart oder Firmwareupdate bestehen bleibt.

Für die Installation muss zunächst mit folgendem Befehl in die UnifiOS Shell gewechselt werden.

unifi-os shell

Anschließend wird das Boot Script heruntergeladen und installiert. Am Schluss muss die UnifiOS Shell verlassen werden.

curl -L https://github.com/boostchicken/udm-utilities/releases/download/1.0.5-fix/udm-boot_1.0.5_all.deb -o udm-boot_1.0.5_all.deb
dpkg -i udm-boot_1.0.5_all.deb
exit

NAT deaktivieren

Jetzt könnt ihr eigene Shell Scripte in „/mnt/data/on_boot.d“ hinterlegen, die bei jedem UDM-PRO Start bzw. Reboot ausgeführt werden.

cd /mnt/data/on_boot.d

Dort erstellt ihr euer Skript zur Deaktivierung von NAT:

touch /mnt/data/on_boot.d/delete-nat.sh

Das Skript bekommt folgenden Inhalt:

#!/bin/sh

# Check if script runs directly after boot. If so, wait for 10 seconds.
uptimeMinutes=`cat /proc/uptime | awk '{print $1}'`
if [ ${uptimeMinutes::-3} -lt 300 ]
	then
		logger NAT-Script: Script zum 1. Mal nach Boot ausgefuehrt
		sleep 10
	else
		logger NAT-Script: Script via Cron-Job ausgefuehrt
fi


# Check if default NAT rules exist
if iptables -t nat -S UBIOS_POSTROUTING_USER_HOOK | grep -e "UBIOS_POSTROUTING_USER_HOOK -o eth8 -m comment --comment 00" -e "UBIOS_POSTROUTING_USER_HOOK -o eth9 -m comment --comment 00" > /dev/null
	then
		xtables-multi iptables -t nat -D UBIOS_POSTROUTING_USER_HOOK 1
		if iptables -t nat -S UBIOS_POSTROUTING_USER_HOOK | grep -e "UBIOS_POSTROUTING_USER_HOOK -o eth8 -m comment --comment 00" -e "UBIOS_POSTROUTING_USER_HOOK -o eth9 -m comment --comment 00" > /dev/null
			then
				xtables-multi iptables -t nat -D UBIOS_POSTROUTING_USER_HOOK 1
				if iptables -t nat -S UBIOS_POSTROUTING_USER_HOOK | grep -e "UBIOS_POSTROUTING_USER_HOOK -o eth8 -m comment --comment 00" -e "UBIOS_POSTROUTING_USER_HOOK -o eth9 -m comment --comment 00" > /dev/null
					then
						logger NAT-Script: NAT-Regel gefunden, Loeschen nicht erfolgreich \(Fehler!\)
					else
						logger NAT-Script: NAT-Regel gefunden und geloescht
				fi
			else
				logger NAT-Script: NAT-Regel gefunden und geloescht
		fi
	else
		logger NAT-Script: Keine NAT-Regel vorhanden
fi


# Check if cron job exists
if ls /etc/cron.d/delete-nat > /dev/null 2>&1
	then 
		logger NAT-Script: Cron-Job vorhanden
	else
		echo "*/15 * * * * /mnt/data/on_boot.d/delete-nat.sh" > /etc/cron.d/delete-nat
		logger NAT-Script: Cron-Job nicht vorhanden und erstellt
		/etc/init.d/crond restart
fi
Das Skript ist eine leicht optimierte Version der ursprünglichen Variante aus dem Kommentar von Tobi.

Es überprüft, ob die standardmäßig gesetzten NAT-Regeln vorhanden sind und entfernt diese. Außerdem wird ein rudimentäres Logging geboten.

Bei jeder Änderung im Routing oder in den Firewall-Regeln der UDM-PRO werden die beiden NAT-Policies wiederhergestellt. Aus diesem Grund wird ein Cronjob erstellt, welcher dafür sorgt, dass das Skript alle 15 Minuten ausgeführt wird. Somit wird sichergestellt, dass die Standard-NAT-Regeln wieder entfernt werden, sofern diese automatisch generiert werden.

Das Skript muss anschließend noch ausführbar gemacht werden:

chmod +x delete-nat.sh

Bei Bedarf könnt ihr das Skript direkt starten und prüfen, ob es funktioniert.

sh delete-nat.sh

Eine Überprüfung mit

xtables-multi iptables -t nat -L UBIOS_POSTROUTING_USER_HOOK -v --line-number

zeigt, dass beide NAT-Regeln entfernt wurden:

Chain UBIOS_POSTROUTING_USER_HOOK (1 references)
num pkts bytes target prot opt in out source destination

Das Logging des Skripts könnt ihr folgendermaßen einsehen:

grep NAT /var/log/messages

Statische Route in der FRITZ!Box

Standardmäßig ist das FRITZ!Box Subnetz 192.168.178.0/24 und das Netz der UDM-PRO 192.168.1.0/24.

Damit Clients aus dem UDM-PRO-Subnetz auf das Internet oder die FRITZ!Box zugreifen können, wird noch eine statische Route auf der FRITZ!Box benötigt.

Diese könnt ihr unter „Heimnetz –> Netzwerke –> Netzwerkeinstellungen“ anlegen. Dazu ganz nach unten scrollen und auf den Button „IPv4-Routen“ klicken (siehe Bild).

Dort erstellt ihr eine neue Route und gebt folgende Daten ein:

  • Netzwerk: das Netz der UDM-PRO, standardmäßig 192.168.1.0
  • Subnetzmaske: die Subnetzmaske des vorher eingetragenen Netzes, standardmäßig 255.255.255.0
  • Gateway: die Adresse der UDM-PRO im FRITZ!Box Subnetz, diese kann unter „Heimnetzwerk“ in Erfahrung gebracht werden

Mit Klick auf „Übernehmen“ ist dieser Schritt erledigt.

Optional: Firewall-Regel in der UDM-PRO

Dieser Schritt ist nur notwendig, wenn ihr vom Subnetz der FRITZ!Box auf ein Subnetz „hinter“ der UniFi Dream Machine Pro zugreifen möchtet. Anders herum funktioniert es ohne weitere Konfiguration.

Die Kommunikation wird nämlich noch durch die Firewall der UDM-PRO blockiert. Um dies zu ändern, muss eine neue Regel erstellt werden. Zunächst muss der UniFi Network Controller auf der UDM-PRO geöffnet werden. Anschließend unter „Einstellungen –> Security –> Internet Threat Management –> Firewall“ auf den Button „Create new Rule“ klicken.

Exemplarisch habe ich jeglichen Traffic aus dem Subnetz der FRITZ!Box freigegeben. Sofern möglich solltet ihr die Freigabe jedoch spezifischer gestalten, z.B. auf einzelne IP-Adressen einschränken und nicht ganze Subnetze freigeben.

Raspberry Pi – Installation mit Raspberry Pi Imager

Raspberry Pi Imager

Es existieren verschiedene Möglichkeiten, um ein Betriebssystem für den Raspberry Pi auf eine microSD-Karte zu installieren. In der Vergangeheit habe ich dafür immer Etcher verwendet. Seitens Raspberry Pi wurde aber mittlerweile der Raspberry Pi Imager ins Rennen geschickt, welchen ich euch absolut ans Herz legen kann. Dieser steht auf der offiziellen Webseite zum Download bereit. Das Open-Source-Tool ist für Windows, macOS und Ubuntu verfügbar. Den Quellcode findet ihr bei GitHub.

Ein großer Vorteil des Raspberry Pi Imager ist, dass dieser automatisch alle unterstützten Betriebssysteme auflistet und direkt on-the-fly während dem Download auf die microSD-Karte schiebt. Nachfolgend eine kurze Übersicht, wie die einzelnen der Schritte der Installation aussehen.

  1. Nach der Installation von Raspberry Pi Imager könnt ihr das Tool direkt starten.
    Raspberry Pi Imager
  2. Als erstes wählt ihr das gewünschte Betriebssystem aus. Ich empfehle grundsätzlich immer Raspberry Pi OS Lite, sofern nichts dagegen spricht.
    Raspberry Pi Imager
    Raspberry Pi Imager
  3. Anschließend muss die microSD-Karte für die Installation gewählt werden. Bei mir habe ich das Image testweise auf einen USB-Stick installiert, also nicht wundern.
    Raspberry Pi Imager
  4. Vor dem Start erscheint eine Warnung dass alle Daten gelöscht werden, die ihr mit „JA“ bestätigen müsst.
    Raspberry Pi Imager
  5. Anschließend beginnt der Download des gewählten Images, welches on-the-fly auf die microSD-Karte geschrieben wird.
    Raspberry Pi Imager
  6. Sobald der Schreibvorgang beendet ist, erhaltet ihr eine Bestätigung.
    Raspberry Pi Imager

Cyberpunk 2077: Erste Tests und und ein Performance-Preview

In zwei Tagen ist es soweit: Nach mehreren Verschiebungen erscheint Cyberpunk 2077. Mittlerweile sind die ersten Reviews online und es gibt erste Performancemessungen. Nachfolgend ein Überblick über die bisherigen Erkenntnisse.

Das erste Performance-Preview bei Tom’s Hardware zieht viel Aufmerksamkeit auf sich. Getestet wurde eine aktuelle Version des Spiels, allerdings ohne Day-1-Patch und ohne speziell angepasste Treiber von AMD und nVidia. Hier können sich die Werte also noch in die ein oder andere Richtung bewegen, aber für eine erste Einordnung der Performance ist das Preview ganz gut zu gebrauchen.

FHD @ Med.FHD @ UltraWQHD @ Med.WQHD @ Ultra4K @ Med.4K @ Ultra
GeForce RTX 3090106,7 fps104,0 fps105,5 fps85,2 fps67,8 fps46,0 fps
GeForce RTX 3080105,4 fps102,8 fps99,9 fps75,7 fps60,6 fps40,6 fps
GeForce RTX 3060 Ti104,6 fps77,4 fps73,7 fps51,1 fps38,4 fps25,7 fps
GeForce RTX 206078,2 fps54,1 fps50,0 fps32,9 fps23,6 fps15,2 fps
GeForce GTX 106037,4 fps24,9 fps23,4 fps15,8 fps11,2 fps6,9 fps
Radeon RX 6800 XT107,8 fps100,5 fps99,7 fps68,9 fps52,2 fps33,8 fps
Radeon RX 5600 XT71,6 fps47,5 fps42,5 fps28,9 fps22,6 fps13,7 fps
gemäß den Benchmarks von Tom’s Hardware, ohne RayTracing oder DLSS

Grundsätzlich ist zu erkennen, dass es sich bei Cyberpunk 2077 um ein echtes NextGen-Spiel handelt. Selbst die neue GeForce RTX 3080 kommt unter 4K-Auflösung mit Ultra-Details gerade so auf 40 fps. Beim Einsatz von RayTracing kann sich die Performance durchaus mehr als halbieren. Hier muss also vermutlich zwangsweise auf DLSS gesetzt werden, um unter 4K mit maximalen Details eine halbwegs spielbare Framerate zu erreichen. Alternativ können die Details reduziert werden. Generell bringt die Rückstufung auf Medium-Details einen beachtbaren Performanceschub, sodass auch ältere Grafikkarten wie z.B. die GeForce RTX 2060 oder gar die GeForce GTX 1060 mit gewissen Abstrichen bei der Auflösung oder Bildqualität auf flüssige Frameraten gebracht werden können.

Positive Bewertungen überwiegen

Der aktuelle Metacritic-Score von 91 (bei 100 möglichen Punkten) zeigt schon, dass die hohen Erwartungen an Cyberpunk 2077 durchaus erfüllt werden. Viele Reviews sprechen von Fehlern und Bugs, die aber laut einem Entwickler bereits jetzt gefixt wurden oder mit dem Day-1-Patch behoben werden sollen.

Gamestar vergibt 91/100 Punkte und liegt damit direkt im Schnitt. Das Spiel sei ein „Meisterwerk“ und gelobt werden die Story, Charaktere und die Synchronisation (sowohl die englischsprachige als auch die deutsche).

PC Games wertet 10/10 Punkte und bescheinigt dem Titel eine spannende Hauptstory. Kritik gibt es für mangelnden Interaktionsmöglichkeiten mit der Spielwelt und fehlende Minispiele bzw. Sammelaufgaben. Wobei ich persönlich froh darüber bin und auf beides gerne verzichten kann :)

Die US-Kollegen von IGN vergeben 9/10 und bemängeln die vielen Bugs. Auf der positiven Seite sind jedoch die vielen Freiheiten die das Spiel einem gibt, die tollen Nebenquests und die bombastische Grafik sowohl der Soundtrack.

Kategorien: Hardware Internet

AVM stellt FRITZ!Box 5530 Fiber vor

Zwischen der Vorstellung neuer Produkte bei AVM und dem Verkaufstart dauert es in der Regel mehrere Monate. Bei der FRITZ!Box 5530 Fiber ist es mittlerweile über ein Jahr, nachdem AVM den Router das erste Mal im September 2019 präsentiert hat. Die FRITZ!Box 5530 Fiber soll demnächst für 169 Euro verfügbar sein.

Die FRITZ!Box 5530 Fiber eignet sich für den direkten Einsatz am Glasfaseranschluss, was ein separates Glasfasermodem überflüssig macht. Unterstützt werden dabei alle Anschlüsse an aktive (AON) oder passive optische Netze (GPON, XGS-PON). AVM spricht davon, dass die Box für jeden Glasfaseranschluss in Deutschland einsatzbereit ist. Explizit genannt werden Envia Tel, Netcologne, Netkom Wemacom und Deutsche Telekom. Außerdem soll sie bei vielen weiteren Netzbetreibern auf städtischer oder regionaler Ebene einsetzbar sein. Des Weiteren hat die 5530 vom Broadband Forum (BBF) die Zertifizierung BBF.247 für die Glasfasertechnologie XGS-PON erhalten. Im Lieferumfang ist jeweils ein AON- und ein GPON-Modul enthalten.

Zur weiteren Ausstattung zählen Wi-Fi 6, ein 2,5-GBit/s-LAN-Port, zwei Gigabit-LAN-Ports, eine DECT-Basis und ein analoger Anschluss. Weitere Details könnt ihr der Auflistung weiter unten entnehmen.

Ich persönlich freue mich schon sehr darauf das Glasfasermodem von meinem FTTH-Hausanschluss zu entfernen. In letzter Zeit machte es vermehrt Probleme und ich musste es öfter neustarten.

FRITZ!Box 5530 Fiber

Die Highlights der FRITZ!Box 5530 Fiber im Überblick

  • Für alle gängigen Glasfaseranschlüsse in Europa: AON, GPON, XGS-PON, per SFP-Modul (Small Form-Factor), nach BBF.247 zertifiziert
  • Die für den Handel vorgesehene FRITZ!Box 5530 Fiber wird mit einem AON- und einem GPON-Modul ausgeliefert. Schließt der Anwender seine FRITZ!Box zuhause direkt an, wird automatisch erkannt, ob es sich um die richtige Verbindungsart handelt.
  • 2×2 Wi-Fi 6 (WLAN AX) mit bis zu 3 GBit/s; 5 GHz: 2.400 MBit/s (HE160) und 2,4 GHz: 600 MBit/s
  • Ein 2,5-Gigabit-LAN-Port (NBase-T)
  • Zwei Gigabit-LAN-Ports
  • DECT-Basis für bis zu 6 Telefone und Smart-Home-Anwendungen
  • Ein Anschluss für analoges Telefon oder Fax
  • FRITZ!OS: mit Firewall, Kindersicherung, WLAN-Gastzugang, MyFRITZ, VPN etc.
  • Mesh-Komfort: für optimale Verbindungen im WLAN, bei der Telefonie und im Smart Home
  • Verschiedene FRITZ!Repeater- und FRITZ!Powerline-Produkte erweitern das Heimnetz für jeden Bedarf
  • Strom – Wärme – Licht: Intelligente Steckdosen FRITZ!DECT 200/210, der Heizkörperregler FRITZ!DECT 301, die LED-Lampe FRITZ!DECT 500 und der Taster FRITZ!DECT 440 fürs smarte Wohnen
    FRITZ!App Fon, FRITZ!App WLAN, FRITZ!App Smart Home und MyFRITZ!App ergänzen den Komfort
  • Automatische Updates
  • Handliches Format: Höhe, Breite, Tiefe 208 x 150 x 37mm
  • 5 Jahre Herstellergarantie
  • Demnächst verfügbar, 169 Euro (UVP)

Kategorien: Hardware Internet

Raspberry Pi – Installation und Betrieb von WireGuard

WireGuard Logo

Obwohl die Bekanntheit von WireGuard in den letzten Monaten stark zugenommen hat, ist das VPN-Protokoll bzw, die VPN-Software immer noch verhältnismäßig unbekannt. Ich nutze WireGuard seit einigen Monaten und möchte es nicht mehr missen. Vor allem der schnelle Verbindungsaufbau, das exzellente Roaming-Verhalten und die gute Performance haben mich überzeugt.

Was sich genau hinter WireGuard verbirgt und wie die Software arbeitet, habe ich bereits in meinem Artikel „​WireGuard – neues VPN-Protokoll mit großer Zukunft“ beschrieben. Jetzt folgt sozusagen der zweite Teil, in dem ich detailliert auf die Einrichtung unter Raspbian Buster und Android eingehe.

WireGuard Installation

Update 13.05.2021: Artikel auf das aktuellste Raspberry Pi OS angepasst. Dieser nutzt den Linux-Kernel 5.10, in welchem das WireGuard Modul enthalten ist.
Die Installationsanleitung funktioniert nicht bei folgenden Raspberry Pi Modellen: 1, 2 (Ausnahme v1.2), Zero & Zero W. Bei diesen Modellen fehlen benötigte CPU-Features und WireGuard muss dort von Hand compiliert werden. Wie das geht habe ich relativ am Ende meines Artikels aufgezeigt. Davon abgesehen macht die Nutzung auf diesen Modellen aber nur eingeschränkt Spaß.

Zunächst bringen wir die Paketquellen und alle Pakete auf den aktuellen Stand.

sudo apt update
sudo apt upgrade

Nachdem dies erledigt ist, widmen wir uns der Installation von WireGuard.

sudo apt install wireguard

Die Installation an sich ist damit erledigt. Jetzt können wir mit der Konfiguration fortfahren.

Generierung der benötigten Schlüsselpaare

Zum Start benötigen wir jeweils einen privaten und öffentlichen Schlüssel für den Client und den Server.

Die Erstellung der Keys wird im Verzeichnis „/etc/wireguard“ durchgeführt. Damit alle Dateien bei der Erstellung direkt restriktive Berechtigungen haben, muss die umask auf 077 gesetzt werden.

sudo su
cd /etc/wireguard
umask 077
wg genkey | tee peer1_private.key | wg pubkey > peer1_public.key
wg genkey | tee server_private.key | wg pubkey > server_public.key

Mittels „ls“ prüfen wir, ob alle vier Dateien erstellt wurden:

ls
peer1_private.key  peer1_public.key  server_private.key  server_public.key

Zum Schluss können die Keys mittels „cat“ ausgegeben werden, da wir diese später sowieso benötigen.

exit
sudo cat /etc/wireguard/peer1_private.key
sudo cat /etc/wireguard/peer1_public.key
sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key

WireGuard Server Konfiguration erstellen

Im ersten Schritt aktivieren wir das IPv4 Forwarding in der Datei „/etc/sysctl.conf“. Dies kann entweder mit Entfernen der Auskommentierung der Zeile „net.ipv4.ip_forward = 1“ oder alternativ mit diesem Befehl erfolgen:

sudo perl -pi -e 's/#{1,}?net.ipv4.ip_forward ?= ?(0|1)/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf

Wer IPv6 nutzt, muss stattdessen entsprechend die Auskommentierung der Zeile „net.ipv6.conf.all.forwarding=1“ aufheben.

Anschließend muss der Raspberry Pi neugestartet werden.

sudo reboot

Wir überprüfen den Status mit folgendem Befehl:

sysctl net.ipv4.ip_forward

Wenn das IPv4 Forwarding aktiv ist muss als Ergebnis „net.ipv4.ip_forward = 1“ zurückgegeben werden.

Jetzt erstellen wir die WireGuard-Konfiguration „/etc/wireguard/wg0.conf“. Welchen Editor ihr bevorzugt, bleibt natürlich euch überlassen.

sudo vim /etc/wireguard/wg0.conf

Folgendes Template könnt ihr als Ausgangsbasis nutzen.

[Interface]
Address = 100.64.0.1/24
ListenPort = 51820
PrivateKey = <insert server_private.key>

#replace eth0 with the interface open to the internet (e.g might be wlan0)
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

#Client1 Smartphone
[Peer]
PublicKey = <insert peer1_public.key>
AllowedIPs = 100.64.0.2/32

Neben den IP-Adressen müsst ihr den privaten Schlüssel vom Server und den öffentlichen Schlüssel vom Client ergänzen. Außerdem müsst ihr bei den iptables-Regeln evtl. die Netzwerkschnittstelle anpassen. Optional könnt ihr zudem einen anderen Port definieren. Wenn alles erledigt ist, solltest ihr die Datei unbedingt speichern.

Die für den Tunnel verwendeten IP-Adressen, dürfen sich mit den lokal verwendeten, privaten IPv4-Blöcken (RFC 1918) nicht überschneiden. Beim Einsatz einer FRITZ!Box als Router wird lokal standardmäßig 192.168.178.0/24 verwendet, d.h. alle anderen Adressbereiche können ohne Probleme genutzt werden.

Eine elegante Alternative ist die Verwendung von IP-Adressen (100.64.0.0/10), die für Carrier-Grade-NAT (RFC 6598) reserviert sind. Damit ist sichergestellt, dass die Tunnel-IPs nie mit den privaten Adressbereichen kollidieren können.

WireGuard Client Konfiguration erstellen

Am besten erstellt ihr für jeden Client eine eigene Konfiguration.

sudo vim /etc/wireguard/peer1.conf

Folgendes Template könnt ihr als Ausgangsbasis nutzen.

[Interface]
Address = 100.64.0.2/32
DNS = 192.168.178.1
PrivateKey = <insert peer1_private.key>

#Server
[Peer]
PublicKey = <insert server_public.key>
Endpoint = t6bibneqwcjxplum.myfritz.net:51820
AllowedIPs = 0.0.0.0/0, ::/0
#PersistentkeepAlive = 25

Hier müsst ihr unter „[Interface]“ die IP-Adresse des Clients anpassen und den gewünschten DNS-Server eintragen. In meinem Beispiel verwende ich die private IP der FRITZ!Box. Wer daheim Pi-Hole im Einsatz hat, kann hier die Pi-Hole Adresse eintragen und kommt somit auch von unterwegs in den Genuss der Werbefreiheit.

Außerdem müsst ihr noch den privaten Schlüssel des Clients ergänzen.

Unter „[Peer]“ tragt ihr zunächst den öffentlichen Schlüssel des Servers ein.

Anschließend folgt die Internetadresse, unter welcher der WireGuard-Server erreichbar ist. Üblicherweise gibt es hier zwei Dinge zu beachten. Bei eurem Internetanschluss daheim, bekommt ihr mit großer Wahrscheinlichkeit eine dynamische IP-Adresse vom Provider zugewiesen. Der WireGuard-Client müsste die wechselnden IP-Adressen stets kennen, um sich zu verbinden. Als Hilfe kommt hier ein dynamischer DNS-Anbieter ins Spiel, der einen festen Domainnamen bereitstellt und dahinter automatisch die jweils aktuelle IP-Adresse zuweist. Bei Verwendung einer FRITZ!Box könnt ihr beispielsweise den Dienst „MyFRITZ!“ nutzen. Eine andere Alternative wäre FreeDNS. Der zweite Punkt ergibt sich, wenn der Raspberry Pi in eurem Heimnetzwerk steht. In diesem Fall müsst ihr an eurem Router ein Port-Forwarding einrichten (UDP 51820), sodass der WireGuard-Traffic des Clients auf den Server weitergeleitet wird.

Unter „AllowedIPs“ wird definiert, welche IP-Ranges über das WireGuard-VPN geroutet werden. Mit „0.0.0.0/0, ::/0“ wird der komplette IPv4- und IPv6-Traffic geroutet (full tunnel). Mit 192.168.178.0/24 könnt ihr z.B. nur euer Heimnetzwerk routen (split tunnel).

„PersistentKeepalive“ ist standardmäßig deaktiviert. Zunächst ein paar Hintergrundinfos um einzuordnen, ob ihr dieses Feature benötigt oder nicht. Normalerweise ist WireGuard nicht sehr gesprächig und sendet nur Daten, wenn etwas zu übertragen ist. Ansonsten verhält sich WireGuard ruhig. Wenn sich der Server hinter einem NAT oder einer Firewall befindet und der Client für eine bestimmte Zeit keine Daten zum Server sendet, entfernt der NAT-Router bzw. die Firewall den Host-Status aus der Verbindungstabelle. Falls jetzt der Server ein Paket zum Client sendet, kommt dieses nicht an, da der NAT-Router bzw. die Firewall nicht weiß, was mit dem Paket zu tun ist. Mit der Option „PersistentKeepalive“ sendet der Client alle x Sekunden ein leeres Paket, um die Verbindung aufrechtzuhalten. Ein Wert von 25 Sekunden hat sich in der Praxis bewährt und funktioniert mit einem Großteil von Firewalls und NAT-Routern.

Kurz zusammengefasst benötigt ihr dieses Feature also nur, wenn ihr vom Server euren Client erreichen möchtet, obwohl dieser seit längerer Zeit keine Pakete gesendet hat. Die meisten Benutzer werden dieses Feature nicht benötigen. Falls doch, einfach die Auskommentierung der Zeile rückgängig machen.

WireGuard Server starten

Nun können wir WireGuard auf dem Server starten. Anstatt alle einzelnen Schritte manuell mit dem „wg“-Tool durchzuführen, bedienen wir uns beim Tool „wg-quick“.

sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 100.64.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Danach prüfen wir den Status der wg0-Schnittstelle.

sudo wg
interface: wg0
  public key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxljP1wpITnI=
  private key: (hidden)
  listening port: 51820

peer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtJd9/esWN4=
  allowed ips: 100.64.0.2/32

Der Server läuft und ist für die Verbindung des Clients bereit.

WireGuard beenden funktioniert mit diesem Befehl:

sudo wg-quick down wg0

Wenn WireGuard beim Systemstart automatisch geladen werden soll, kann dies mit folgendem Befehl realisiert werden:

sudo systemctl enable wg-quick@wg0
Created symlink /etc/systemd/system/multi-user.target.wants/wg-quick@wg0.service → /lib/systemd/system/wg-quick@.service.

Der Daemon kann folgendermaßen gesteuert werden. Dabei müsst ihr allerdings darauf achten, dass ihr WireGuard zuerst beendet, sofern ihr es manuell gestartet habt.

sudo systemctl start wg-quick@wg0
sudo systemctl stop wg-quick@wg0
systemctl status wg-quick@wg0

Zum Schluss werden die Berechtigungen von „/etc/wireguard/“ und allen Dateien noch einmal korrigiert. Damit wird sichergestellt, dass nur root die entsprechenden Berechtigungen besitzt.

sudo chown -R root:root /etc/wireguard/
sudo chmod -R og-rwx /etc/wireguard/*

WireGuard Client unter Android einrichten

Die Einstellungen in der Android-App können manuell, mittels einer Datei oder mit einem QR-Code erfolgen. Die letzte Variante ist dabei am bequemsten. Hierfür muss auf dem Server der QR-Code erstellt werden.

sudo apt install qrencode

Nach dem Installieren von „qrencode“ kann der QR-Code von der Client-Konfiguration erstellt werden:

sudo cat /etc/wireguard/peer1.conf | qrencode -t ansiutf8

Auf dem Android-Gerät muss zunächst die WireGuard App via Google Play installiert werden. Daraufhin kann der erstellte QR-Code mit der App gescannt werden, um die Konfiguration zu importieren. Nachdem ein Name vergeben wurde, kann die Verbindung aktiviert werden.

Mit einem Klick auf den gerade erstellten Tunnel werden einige Infos angezeigt, unter anderem auch eine Trafficstatistik.

Auf dem Server kann ebenfalls der Status ausgegeben werden. Dort werden unter anderem alle verbundenen Clients angezeigt:

sudo wg
interface: wg0
  public key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxljP1wpITnI=
  private key: (hidden)
  listening port: 51820

peer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtJd9/esWN4=
  endpoint: 11.12.13.14:53019
  allowed ips: 100.64.0.2/32
  latest handshake: 56 seconds ago
  transfer: 927.04 KiB received, 64.85 MiB sent

Der Client kann nun auch via Ping erreicht werden:

ping 100.64.0.2
PING 100.64.0.2 (100.64.0.2) 56(84) bytes of data.
64 bytes from 100.64.0.2: icmp_seq=1 ttl=64 time=95.9 ms
64 bytes from 100.64.0.2: icmp_seq=2 ttl=64 time=112.4 ms
64 bytes from 100.64.0.2: icmp_seq=3 ttl=64 time=71.7 ms

Noch zwei kleine Tipps für die Android-App. Ich importieren die Konfig vom Server immer zweimal. Einmal als „full tunnel“ mit „0.0.0.0/0, ::/0“ und einmal als „split tunnel“, lediglich mit dem Heimnetzwerk eingetragen, z.B. 192.168.178.0/24. So habt ihr volle Kontrolle und könnt je nach Situation den richtigen Tunnel nutzen.

Beim Bearbeiten eines Tunnels (Tunnel Infos anzeigen und dann rechts oben auf das Stift-Icon) könnt ihr außerdem festlegen, welche Apps keinen Traffic über den Tunnel schicken dürfen.

Troubleshooting

WireGuard ist ein Kernel-Modul, das via DKMS automatisch installiert wird, sobald das System einen neuen Kernel benutzt. In seltenen Fällen kann es jedoch passieren, dass WireGuard nicht automatisch eingebunden wird und mit dem neuen Kernel nicht mehr funktioniert.

In diesem Fall sollte zunächst geprüft werden, ob das WireGuard Modul geladen wurde:

lsmod | grep wireguard

Falls nicht kann es hilfreich sein, das Kernel-Modul neu zu konfigurieren:

sudo dpkg-reconfigure wireguard-dkms
sudo modprobe wireguard

Wenn dies keine Abhilfe schafft, könnt ihr noch folgendes ausprobieren:

sudo apt remove wireguard
sudo apt install bc libncurses5-dev
sudo apt install wireguard

Sollte dies auch keine Besserung bringen, könnt ihr alternativ das WireGuard Kernel Module und das wg Tool selber kompilieren. Davor muss aber sichergestellt sein, dass alle installierten WireGuard-Pakete deinstalliert sind!

sudo apt remove wireguard
# Toolchain installieren
sudo apt install libmnl-dev raspberrypi-kernel-headers build-essential git pkg-config
#Code laden
git clone https://git.zx2c4.com/wireguard-linux-compat
git clone https://git.zx2c4.com/wireguard-tools
# Kernel Module und das wg Tool kompilieren und installieren
make -C wireguard-linux-compat/src -j$(nproc)
sudo make -C wireguard-linux-compat/src install
make -C wireguard-tools/src -j$(nproc)
sudo make -C wireguard-tools/src install
# Neustarten und fertig
sudo reboot

Die aktuell installierte Version könnt ihr am besten via „dmesg“ herausfinden:

dmesg | grep wireguard
[  466.479104] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[  466.479115] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.

Quellen

  • https://www.wireguard.com/install/
  • https://github.com/adrianmihalko/raspberrypiwireguard
  • https://www.reddit.com/r/pihole/comments/bnihyz/guide_how_to_install_wireguard_on_a_raspberry_pi/
  • https://emanuelduss.ch/2018/09/wireguard-vpn-road-warrior-setup/
  • https://www.bachmann-lan.de/raspberry-pi-mit-wireguard-als-vpn-server-mit-wireguard/

Samsung-Fernseher 2020 – Übersicht der neuen QLED- und TU-Serie

Samsung Q950T (Bild: Samsung)

Anfang März hat Samsung das komplette QLED- und UHD-TV-Sortiment inklusive der unverbindlichen Preise für 2020 vorgestellt. Neben den beiden 8K-Modellen Q950T und Q800T wurden auch die 4K-Modelle der QLED- und TU-Serie präsentiert. Die meisten Modelle sollen noch im März im Handel verfügbar sein.

8K QLED

Das neue Flaggschiff ist die bereits im Januar auf der CES gezeigte Q950T-Serie. Das fast rahmenlose Design, die nur 15 Millimeter tiefe Bauweise und der integrierte Sourround-Sound haben allerdings ihren Preis. Der Einstieg mit 65 Zoll kostet 5.999 Euro und dürfte daher für die wenigsten interessant sein.

Gleichzeitig schickt Samsung eine zweite 8K-Serie ins Rennen, die bei 65 Zoll und 3.799 Euro startet. Ebenso wie das Topmodell verfügt der Q800T Direct-LED-Backlight mit Local Dimming sowie HDMI 2.1. Für den geringeren Preis muss allerdings auf die One Invisible Connection verzichtet werden und es kommen weniger Dimming-Zonen zum Einsatz.

Features der QLED-Baureihen im Überblick (Bild: Samsung)

Features der QLED-Baureihen im Überblick (Bild: Samsung)

4K QLED

Die neuen QLED-Modelle sind im direkten Vergleich mit den Modellen aus dem Vorjahr deutlich günstiger. Allerdings ist hier Vorsicht geboten, da Samsung quasi alle Modelle abgespeckt hat. Die 4K-QLED-Topmodelle Q95T und Q90T bieten im Gegensatz zu den Vorgängern Q90R und Q85R weniger Zonen beim Full Array Local Dimming (FALD). Wieviel Zonen genau vorhanden sind, hat Samsung nicht verraten und muss wohl durch die ersten Reviews geklärt werden.

Generell setzt Samsung erst ab dem Q80T auf Direct-LED-Backlight nebst Local Dimming. Bei den 2019er-Modellen verfügte auch der Q70R über diese Ausstattung. Die beiden kleinsten Varianten Q70T und Q60T müssen sich mit Edge-LED-Backlight begnügen. Darüber hinaus verfügt der Q60T lediglich über ein 50-Hz-Panel. Selbst der RU8009 von letztem Jahr bietet ab 55 Zoll ein Panel mit 100 Hz.

Wie in letztem Jahr unterstützen alle QLED-TVs HDR10 und da dynamische HDR10+-Format. Dolby Vision wird weiterhin nicht geboten. Bei HDMI wird lediglich Version 2.0b unterstützt, HDMI 2.1 ist den teuren 8K-Modellen vorbehalten. Bis auf den Q60T verfügen alle QLED-TVs über einen Dual-Tuner mit DVB-T2/C/S2.

Die Änderungen machen einen direkten Vergleich mit den 2019-Modellen schwierig. Generell könnt ihr die neuen TVs aber immer eine Serie darunter einordnen:

  • Q95T –> Q90R
  • Q90T –> Q85R
  • Q80T –> Q70R
  • Q70T –> Q60R
  • Q90T –> RU8009

Übersicht

Nachfolgend eine Tabelle mit allen neuen Modellen und der unverbindlichen Preisempfehlung. Mit dabei sind auch die drei Lifestyle-Fernseher The Serif, The Frame und The Sero.

ModellnummerGrößePreis
Q950T (8K QLED)
GQ85Q950TSTXZG85 Zoll11.999 €
GQ75Q950TSTXZG75 Zoll7.999 €
GQ65Q950TSTXZG65 Zoll5.999 €
Q800T (8K QLED)
GQ82Q800TGTXZG82 Zoll6.799 €
GQ75Q800TGTXZG75 Zoll5.299 €
GQ65Q800TGTXZG65 Zoll3.799 €
Q95T (4K QLED)
GQ85Q95TGTXZG85 Zoll5.799 €
GQ75Q95TGTXZG75 Zoll4.499 €
GQ65Q95TGTXZG65 Zoll2.899 €
GQ55Q95TGTXZG55 Zoll2.199 €
Q90T (4K QLED)
GQ75Q90TGTXZG75 Zoll3.999 €
GQ65Q90TGTXZG65 Zoll2.699 €
GQ55Q90TGTXZG55 Zoll1.999 €
Q80T (4K QLED)
GQ85Q80TGTXZG85 Zoll4.799 €
GQ75Q80TGTXZG75 Zoll3.499 €
GQ65Q80TGTXZG65 Zoll2.199 €
GQ55Q80TGTXZG55 Zoll1.599 €
GQ49Q80TGTXZG49 Zoll1.399 €
Q70T (4K QLED)
GQ85Q70TGTXZG85 Zoll3.999 €
GQ75Q70TGTXZG75 Zoll2.699 €
GQ65Q70TGTXZG65 Zoll1.799 €
GQ55Q70TGTXZG55 Zoll1.299 €
Q60T (4K QLED)
GQ85Q60TGUXZG85 Zoll3.199 €
GQ75Q60TGUXZG75 Zoll2.199 €
GQ65Q60TGUXZG65 Zoll1.499 €
GQ58Q60TGUXZG58 Zoll1.199 €
GQ55Q60TGUXZG55 Zoll1.099 €
GQ50Q60TGUXZG50 Zoll899 €
GQ43Q60TGUXZG43 Zoll749 €
TU8509 (4K Crystal UHD)
GU65TU8509UXZG65 Zoll1.199 €
GU55TU8509UXZG55 Zoll849 €
GU50TU8509UXZG50 Zoll699 €
GU43TU8509UXZG43 Zoll579 €
TU8079 (4K Crystal UHD)
GU82TU8079UXZG82 Zoll2.799 €
GU75TU8079UXZG75 Zoll1.599 €
GU65TU8079UXZG65 Zoll999 €
GU55TU8079UXZG55 Zoll699 €
GU50TU8079UXZG50 Zoll599 €
GU43TU8079UXZG43 Zoll499 €
TU7199 (4K Crystal UHD)
GU75TU7199UXZG75 Zoll1.399 €
GU70TU7199UXZG70 Zoll1.099 €
GU65TU7199UXZG65 Zoll899 €
GU58TU7199UXZG58 Zoll749 €
GU55TU7199UXZG55 Zoll659 €
GU50TU7199UXZG50 Zoll549 €
GU43TU7199UXZG43 Zoll449 €
TU7079 (4K Crystal UHD)
GU75TU7079UXZG75 Zoll1.299 €
GU65TU7079UXZG65 Zoll799 €
GU55TU7079UXZG55 Zoll569 €
GU50TU7079UXZG50 Zoll469 €
GU43TU7079UXZG43 Zoll399 €
The Frame 2020 (4K QLED)
GQ75LS03TAUXZG75 Zoll3.499 €
GQ65LS03TAUXZG65 Zoll2.199 €
GQ55LS03TAUXZG55 Zoll1.599 €
GQ50LS03TAUXZG50 Zoll1.399 €
GQ43LS03TAUXZG43 Zoll1.199 €
GQ32LS03TAUXZG (FHD)32 Zoll549 €
The Sero (4K QLED – drehbar)
GQ43LS05TAUXZG43 Zoll1.599 €
The Serif (4K QLED)
GQ55LS01TAUXZG (weiß)55 Zoll1.399 €
GQ49LS01TAUXZG (weiß)49 Zoll1.199 €
GQ43LS01TAUXZG (weiß)43 Zoll1.099 €
GQ55LS01TBUXZG (blau)55 Zoll1.399 €
GQ49LS01TBUXZG (blau)49 Zoll1.199 €
GQ43LS01TBUXZG (blau)43 Zoll1.099 €

Kategorien: Hardware TV

Übersicht neue Convoy Taschenlampen

Die gängigsten Akkus für LED-Taschenlampen sind nach wie vor 18650 Lithiumionen-Akkus. Doch die Dominanz wackelt. Immer häufiger kommen modernere Bauformen wie 20700 oder 21700 zum Einsatz. Die fünfstellige Zahl bezieht sich dabei auf die Größe der zylindrischen Zellen. Die ersten beiden Ziffern geben den Durchmesser in Millimeter an, die dritte und vierte Stelle die Länge der Zelle.

Tesla setzt schon seit längerem auf 21700-Akkus und immer mehr Unternehmen ziehen mit. Neben vielen E-Bike-Herstellern verwendet auch Bosch 21700-Zellen in den neuen ProCore-Akkus. Zudem erscheinen immer mehr Taschenlampen mit den größeres Akkus. Kein Wunder, denn 21700 sind nur wenig größer als 18650, bieten aber eine wesentlich höhere Kapazität und können zudem eine höhere Stromstärke bei der Entladung liefern.

Auch der chinesische Hersteller Convoy hat in den letzten Monaten eine ansehnliche Palette von neuen LED-Taschenlampen mit größeren Akkus auf den Markt gebracht. Die Taschenlampen von Convoy gelten durch ihr herausragendes Preis-Leistungs-Verhältnis seit Jahren als Geheimtipp. Ich besitze mittlerweile mehrere Lampen von Convoy: eine C8, eine M2, zwei S2+ (einmal mit Cree XM-L2 und einmal Nichia 365UV) und seit einigen Wochen eine M21B. Demnächst wird sich noch eine M21C mit XHP70.2 und Biscotti Firmware dazugesellen.

NameS11S12M3S21AM21AL21AM21BM21CM26C
LEDXHP50.2
SST-40
3x SST-20
3x Nichia 219C
XHP70.2SST-40SST-40SST-40
XHP50.2
SST-40SST-40
XHP70.2
SST-40
XHP70.2
Akku1x 266501x 217001x 266501x 217001x 217001x 217001x 217001x 217001x 26650
Lumen2.4002.3004.3002.3002.3002.3002.3002.300
4.000
2.300
4.000
LVPWarnungWarnungWarnungWarnungWarnungWarnungWarnungWarnungWarnung
Ø Head
Ø Body
Ø Tail
33,0
33,0
33,0
34,6
27,4
27,4
48,1
35,6
38,1
25,9
25,9
25,9
44,5
27,3
31,3
64,5
31,3
?
35,7
27,1
27,1
55,0
28,0
28,0
55,0
33,5
33,5
Länge mm
139134149122,5155,8179141,5163155
Gewicht g
17112429075168365120275264
Preis20 €
23 €
24 €33 €16 €20 €33 €
37 €
20 €27 €
34 €
27 €
34 €

Kategorien: Hardware

Xiaomi eröffnet ersten Mi Store in Deutschland

Xiaomi Logo

Der chinesische Hersteller Xiaomi hat innerhalb der letzten Jahre in Europa Fuß gefasst. Auch in Deutschland erlangt Xiaomi immer größere Beliebtheit. Ich setze beispielsweise seit geraumer Zeit nur noch auf Smartphones von Xiaomi, allerdings nicht mit dem hauseigenen Betriebssystem MIUI sondern mit Custom ROM.

Offensichtlich nimmt die Expansion nach Deutschland dieses Jahr mehr Fahrt auf. Xiaomi hat bekannt gegeben, dass im 2. Quartal dieses Jahr der erste Mi Store in Deutschland eröffnet werden soll. In einem Tweet wurde auch der Standort bekannt gegeben: Es ist Düsseldorf.

Weitere Details wie der genaue Eröffnungstermin und das geplante Sortiment wurden bislang allerdings nicht verraten. Bei LinkedIn sind aktuell zwei Stellen in Vollzeit ausgeschrieben, zum einen die Position als Sales Manager bei der Xiaomi Technology sowie einen Office Administrator.

Darüber hinaus startet Xiaomi ebenfalls im Q2 2020 mit dem Direktvertrieb via https://mi.com/de. Diese Neuigkeit ist zwar weniger interessant, da Produkte von Xiaomi bereits auf Amazon und diversen anderen deutschen Webseiten zu erwerben sind, aber dennoch erwähnenswert.

Kategorien: Hardware Smartphones

Raspberry Pi – SSH Hardening

Raspberry Pi Logo

Die wohl am häufigsten genutzte Methode zur Administration eines Raspberry Pis ist Secure Shell (SSH). In den aktuellen Raspbian Versionen ist SSH bereits integriert und muss lediglich aktiviert werden.

Im aktuellen Raspbian Buster (basiert auf Debian 10 Stable) kommt OpenSSH in Version 7.9p1 zum Einsatz. Die Standard-Konfiguration ist in puncto Sicherheit zwar in Ordnung, aber mit einigen Handgriffen lässt sich die Administrationsschnittstelle deutlich besser absichern. Damit steigt die Hürde für potenzielle Angreifer deutlich. Dies ist vor allem wichtig, wenn euer Pi aus dem Internet erreichbar ist.

Mein Artikel bezieht sich auf Raspbian Buster mit OpenSSH 7.9, ist aber größtenteils auch für andere Distributionen und OpenSSH-Versionen anwendbar.

Grundlagen und hilfreiche Befehle

OpenSSH besteht aus zwei Teilen: Dem Server Daemon (sshd) und dem Client (ssh). In diesem Tutorial widme ich mich ausschließlich sshd. Die Konfigurationsdatei des Servers befindet sich hier:

/etc/ssh/sshd_config

Der Status des sshd-Daemons kann mit folgendem Befehl abgefragt werden:

systemctl status ssh.service
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-11-02 08:44:33 GMT; 2 weeks 3 days ago

Damit könnt ihr sicherstellen, dass sshd automatisch startet (enabled) und gerade läuft (active (running)). Des Weiteren seht ihr auch die 10 letzten Logeinträge.

Mit folgendem Befehl könnt ihr die aktiven SSH-Sessions einsehen:

ss -n -o state established '( dport = :22 or sport = :22 )'

Bei Änderungen an der Server-Konfiguration empfehle ich diese vor dem Neustart des Dienstes zu prüfen. Damit könnt ihr Syntaxfehler und Probleme mit ungültigen Einstellungen in „/etc/ssh/sshd_config“ verhindern:

sudo sshd -t

Zum Anwenden der Änderungen empfehle ich sshd folgendermaßen neuzustarten. Mit dieser Variante besteht die größte Chance, dass offene Remote-Sessions nicht geschlossen werden.

sudo systemctl reload ssh.service

SSH-Server: Einstellungen

Wie oben bereits erwähnt lassen sich die Einstellungen in der Datei „/etc/ssh/sshd_config“ anpassen und sind nach einem Neustart von sshd aktiv. Einige Einstellungen sind bereits standardmäßig deaktiviert. Diese sind in der Config-Datei auskommentiert. Es schadet jedoch nicht diese noch einmal zu überprüfen.
Über die Protokoll-Version müssen wir uns keine Sorgen machen, da ab OpenSSH 7.0 SSH Version  1 bereits beim Kompilieren deaktiviert wird.
Standardmäßig hört der Server auf Port 22. Dieser kann geändert werden, um beispielsweise die Anzahl der Angriffe zu verringern. Einen Sicherheitsgewinn gibt es meiner Meinung nach nicht.
Wenn der Server mehrere IP-Adressen besitzt, kann über „ListenAdress“ eingeschränkt werden, auf welcher IP eine Verbindung akzeptiert werden soll.

Port22
ListenAddress 192.168.10.10
#ListenAddress ::

Da wir auf unserem Raspberry keine grafische Benutzeroberfläche haben, können wir das X11-Protokoll getrost deaktivieren. Davon abgesehen wird vom Server ein Rückkanal zum Client geöffnet, was sicherheitstechnisch nicht ganz unbedenklich ist.

X11Forwarding no

Mittels .rhosts-Datei kann der Zugriff von fremden Systemen lediglich anhand der IP-Adresse erlaubt werden. Dieser Zugriff ist heutzutage nicht mehr üblich und daher standardmäßig deaktiviert.

IgnoreRhosts yes

Useraccounts ohne Passwort dürfen sich nicht via SSH anmelden. Auch diese Option ist per Default deaktiviert.

PermitEmptyPasswords no

Eine direkte Anmeldung mit dem Account „root“ sollte in der Regel nicht erlaubt werden (PermitRootLogin no). Falls dies aus bestimmten Gründen dennoch notwendig sein sollte, ist die Option „prohibit-password“ in Ordnung. Diese ist standardmäßig gesetzt und erlaubt nur eine Public-Key-Authentifizierung mit dem root Account.

PermitRootLogin prohibit-password

Die maximale Zahl der Anmeldeversuche pro User sind standardmäßig auf 6 gesetzt. Ich würde empfehlen den Wert weiter zu verringern, beispielsweise auf 3.

MaxAuthTries 3

Inaktive Sessions können nach einer bestimmten Zeit automatisch beendet werden. Mit „ClientAliveInterval“ wird festgelegt, nach wie vielen Sekunden Inaktivität der Server eine Nachricht an den Client sendet. „ClientAliveCountMax“ ist die Anzahl, wie oft dies der Server wiederholt, bis der Client getrennt wird. In meinem Beispiel oben wird der Client nach 15 Minuten getrennt.

ClientAliveInterval 300
ClientAliveCountMax 3

Normalerweise erfolgt die Anmeldung am Server mit Username und Passwort. Eine bessere Alternative ist die Public-Key-Authentifizierung. Diese ist bereits standardmäßig erlaubt.

PubkeyAuthentication yes

Zur Einrichtung muss auf dem Client zunächst ein neues Schlüsselpaar generiert werden. Wählt hier „Ed25519“, sofern nichts gravierendes dagegenspricht. Unter Windows könnt ihr dies prima mit PuTTYGen erledigen. Ab Windows 10 1809 kann dies auch direkt via PowerShell oder der Eingabeaufforderung erledigt werden. Unter Linux nutzt ihr ssh-keygen. Der Einsatz einer Passphrase ist zwar optional, aber ich empfehle ein starkes Passwort zu verwenden, um den Key vor Missbrauch zu schützen.

ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519

Im nächsten Schritt muss der Public Key auf dem Server eingetragen werden. PuTTYGen stellt euch den String bereit, den ihr in die „authorized_keys“ kopieren müsst.

ssh pi@192.168.10.10
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Unter Linux geht dies mit „ssh-copy-id“ etwas einfacher.

ssh-copy-id -i ~/.ssh/id_ed25519.pub pi@192.168.10.10

Abschließend solltet ihr prüfen, ob die Anmeldung via Public-Key-Authentifizierung funktioniert. Falls ja, könnt ihr nun die Passwort-Anmeldung an eurem SSH-Server deaktivieren.

PasswordAuthentication no
ChallengeResponseAuthentication no

SSH-Server: Cipher-Suites und Verschlüsselungsalgorithmen

Zur Prüfung, welche Cipher-Suites und Verschlüsselungsalgorithmen euer OpenSSH-Server anbietet, eignet sich das Python-Script „ssh-audit“:

cd ~
wget https://github.com/jtesta/ssh-audit/releases/download/v2.4.0/ssh-audit-2.4.0.tar.gz
tar -xvzf ssh-audit-2.4.0.tar.gz
~/ssh-audit-2.4.0/ssh-audit.py 192.168.10.10

Alternativ könnt ihr auch Nmap dazu verwenden:

nmap -p22 -n -sV --script ssh2-enum-algos 192.168.10.10

Schauen wir uns zunächst die Algorithmen für den Schlüsseltausch an. Falls Curve25519 nicht ausreichend ist, könnt ihr noch „diffie-hellman-group-exchange-sha256“ hinzufügen.

# Allow only secure key exchange algorithms
KexAlgorithms curve25519-sha256@libssh.org

Danach folgen die Schlüssel bzw. Algorithmen für die Authentifizierung. Hier solltet ihr alle vorhandenen Host-Schlüssel löschen und neu generieren.

cd /etc/ssh
sudo rm ssh_host_*key*
sudo ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N "" < /dev/null
sudo ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key -N "" < /dev/null

Anschließend könnt ihr in eure „sshd_config“ folgendes eintragen:

# Allow only secure server authentication algorithms
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKeyAlgorithms ssh-ed25519,ssh-rsa

Als nächstes nehmen wir uns den symmetrischen kryptographischen (Ciphers) sowie MAC (Message Authentication Code) Algorithmen an. Folgendes gilt aktuell als sicher:

# Allow only secure symmetric ciphers
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com

# Allow only secure message authentication codes
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com

Prüft zur Sicherheit, dass ihr vor dem Neustart von sshd eine Verbindung habt, damit ihr euch im Notfall nicht den Zugang zu eurem Raspberry absägt.

Einen guten Artikel mit weiteren Details über die einzelnen Cipher-Suites und Verschlüsselungsalgorithmen findet ihr hier: https://stribika.github.io/2015/01/04/secure-secure-shell.html

Cisco und der Verpackungswahn

Cisco Logo

Cisco bietet die Möglichkeit nur wenige Monate oder Wochen benutzte Hardware zu signifikant günstigeren Preisen zu erwerben. Diese Cisco Refresh Produkte sind generalüberholt, vollständig zertifiziert und von neuer Hardware quasi nicht zu unterscheiden. Auch bei der Garantie und Lizenzierung gibt es keine Nachteile. Gute Gründe, um bei Neuanschaffungen über entsprechende Produkte nachzudenken.

Anhand einiger SFP-Module (GLC-LH-SMD), die via Cisco Refresh bezogen wurden, möchte ich euch gerne den Verpackungswahn bei Cisco zeigen. Die SFPs werden einzeln verpackt geliefert. Im größeren Karton befindet sich zunächst ein kleinerer Karton. Dort ist das Modul in einer antistatischen Verpackung enthalten. Das letzte Bild zeigt 20 ausgepackte SFPs und den entstandenen Kartonabfall. Den Plastikabfall habe ich dabei noch gar nicht berücksichtigt.

Ich stelle mir gerade vor, wie viel Verpackungs- und Transportkosten sich einsparen ließen. Geschweige denn von der unnötig verbrauchten Arbeitszeit während dem Auspacken ;-)

Custom ROM auf Xiaomi Smartphones installieren

Xiaomi Logo

Nach rund einem Jahr mit dem Xiaomi Redmi Note 5 stand bei mir ein Smartphone-Wechsel an. Da ich unbedingt ein kompakteres Smartphone haben wollte, bin ich schlussendlich beim Xiaomi Mi 9 SE gelandet. Zähneknirschend habe ich den relativ kleinen Akku (3.070 mAh) und die fehlende Benachrichtigungs-LED akzeptiert. Ein Smartphone, welches zu 100 Prozent alle gewünschten Features beinhaltet und gleichzeitig noch halbwegs erschwinglich ist, existiert sowieso nicht ;-)

In den letzten Wochen wurden die ersten Custom ROMs für das Xiaomi Mi 9 SE veröffentlicht und die gravierendsten Probleme behoben. Nachdem beim Remi Note 5 der Support für LineageOS eingestellt wurde, habe ich mich kurzerhand dazu entschlossen, anderen ROMs eine Chance zu geben. Für das Mi 9 SE existieren aktuell sowieso noch nicht viele Alternativen, weshalb ich mich für crDroid entschieden habe. crDroid basiert auf AOSP bzw. LineageOS , bringt aber zusätzliche Anpassungsmöglichkeiten aus einigen anderen ROMs mit.

Nachfolgend möchte ich kurz das Vorgehen beschreiben, wie ihr auf ein neues Smartphone von Xiaomi eine beliebige Custom ROM bekommt. Wie oben bereits erwähnt, beziehe ich mich dabei auf crDroid und das Mi 9 SE. Das Vorgehen sollte aber bis auf kleine Anpassungen für alle neuen Xiaomi-Smartphones und für viele andere Custom ROMs gültig sein.

Bootloader entsperren

Zunächst muss der Bootloader eures Xiaomi-Smartphones entsperrt werden. Denkt daran, dass dabei all eure Daten auf dem Smartphone gelöscht werden. Wer das Gerät also bereits genutzt hat, sollte vorher dem Entsperren des Bootloaders ein Backup anfertigen.

Hier die einzelnen Schritte zum Bootloader Entsperren in einer kurzen Übersicht:

  1. Voraussetzung ist ein funktionierendes „adb“ und „fastboot“. Empfehlen kann ich den 15 seconds ADB Installer.
  2. Mi-Account erstellen und mit diesem auf dem Smartphone anmelden. Unter MIUI 10 funktioniert das folgendermaßen:
    1. Einstellungen -> Mein Gerät
    2. Mehrmals auf den Punkt „MIUI-Version“ klicken, bis die Entwickleroptionen freigeschaltet werden.
    3. Dann zu „Einstellungen“ -> „Kategorie System & Gerät -> Weitere Einstellungen“ -> „Entwickleroptionen“.
    4. Unter „Mi Entsperr-Status“mit eurem Mi-Account einloggen.
  3. Ab diesem Zeitpunkt beginnt die Wartezeit, welche bis zu 360 Stunden (15 Tage) betragen kann. Bei mir waren es erfreulicherweise nur 7 Tage. Wie lange es bei euch dauert, seht ihr im nächsten Schritt.
  4. Mi Unlock Tool downloaden (neueste Version direkt von Xiaomi).
  5. Mi Unlock Tool starten. Anschließend mit eurem Mi-Account anmelden.
  6. Smartphone ausschalten, per USB mit eurem PC verbinden und in den Fastboot-Modus starten (volume down und Power-Taste gleichzeitig drücken).
  7. Versuchen das Smartphone zu entsperren. Jetzt sollte euch die Wartezeit angezeigt werden.
  8. Nach der Wartezeit erneut mit Schritt 5 beginnen. Solltet ihr einen Fehler bekommen, könnt ihr evtl. auch eine ältere Version des Mi Unlock Tools probieren. Bei mir hatte die neueste Version nicht funktioniert, Version 2.3.803.10 aber problemlos.

    Mi Unlock

Custom Recovery (TWRP) installieren

Sobald der Bootloader entsperrt ist, muss im zweiten Schritt das Custom Recovery TWRP (Team Win Recovery Project) installiert werden. Die aktuelle TWRP-Version für euer Gerät findet ihr entweder direkt auf der TWRP-Homepage oder im xda-Forum.

  1. Smartphone im Fastboot-Modus starten (volume down und Power-Taste gleichzeitig drücken) und via USB mit eurem PC verbinden.
  2. Prüfen ob das Gerät korrekt erkannt wird:
    fastboot devices
  3. TWRP-Recovery flashen. Der erste Befehl ist nur notwendig, wenn euer TWRP in einem separaten Ordner liegt.
    cd C:\Users\USERNAME\Desktop
    fastboot flash recovery twrp-3.3.1-7a-Mi9SE.img

    Auf keinen Fall „fastboot boot …“ nutzen, da ansonsten die Verschlüsselung beschädigt wird und ihr zur Reparatur „data“ neu formatieren müsstet.
  4. TWRP-Recovery booten (volume up und Power-Taste gleichzeitig drücken) und warten bis TWRP geladen ist.
  5. Modifizierung des Dateisystems erlauben.

Custom ROM installieren

Zwei Drittel sind schon geschafft, jetzt folgt das Flashen der Custom ROM (in meinem Fall crDroid) und Co. Zunächst müsst ihr ein paar Downloads tätigen und die Dateien auf das Smartphone legen. Das Kopieren auf das Smartphone sollte auch direkt unter TWRP funktionieren.

Jetzt könnt ihr loslegen.
  1. In TWRP Recovery booten (volume up und Power-Taste gleichzeitig drücken).
  2. Im Recovery den Punkt „Wipe“ aufrufen, dann den Button „Format Data“ klicken. Anschließend „Swipe to Factory Reset ausführen“ und erneut in TWRP Recovery booten.
  3. Neue Firmware installieren, dabei müsst ihr auf eine kompatible Version achten, Stichwort Anti-Rollback. Wenn das Custom ROM keine vendor.img enthält, müsst ihr diese zusätzlich installieren.
  4. Custom ROM (crDroid) installieren.
  5. Open GApps installieren.
  6. Smartphone neustarten (Reboot –> System).*
  7. ROM einrichten.
  8. Erneut in TWRP Recovery booten.
  9. Root (Magisk) und ggf. Kernel installieren.
  10. Smartphone neustarten (Reboot –> System).
  11. (optional) Magisk Manager einrichten.

*Bei einem Boot-Loop muss eine weitere Datei (vbmeta.img) via Fastboot geflasht werden, um den Loop zu beheben.

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img