Schlagwort-Archive: Netzwerk

BitBastelei #245f – Haussteuerung mit CAN und Arduino: IO-Module

Die vermutlich komplexeste, aber auch leistungsfähigste Variante in aSysBus: IO-Module. Hierbei werden nicht mehr separate Funktionen geschrieben, sondern nur noch Konfigurationen für Adressen und Pins vergeben. Diese werden im EEPROM abgelegt und können – ganz ohne dem Arduino neu zu programmieren – im Betrieb geändert werden.

CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus

BitBastelei #245e – Haussteuerung mit CAN und Arduino: Eigene Funktionen anbinden

Über „Hooks“ kann man in aSysBus eigene Funktionen mit einem Filter verbinden. Statt selbst das aussortieren der Pakete programmieren zu müssen kann man hier diese Aufgabe der Library übertragen. Trifft später ein Paket ein, welches den angegebenen Daten entspricht, wird die eigene Funktion aufgerufen.

CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus

BitBastelei #245d – Haussteuerung mit CAN und Arduino: Einfacher Knoten

Jetzt geht es ans programmieren: Die Variante „simple“ beschränkt sich auf das nötigste: Den Knoten online bringen, Pakete senden und Empfangen. Programmlogik kann man mit wenigen Befehlen in Arduino selbst entwickeln. Diese Methode eignet sich daher für alle, welche individuelle Steuerungen bauen.

CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus

BitBastelei #245c – Haussteuerung mit CAN und Arduino: Installation & Hardware

Selbst eine Haussteuerung mit Arduino bauen? Kein Problem. Hier schauen wir wie wir die nötigen Libraries installieren und für wenig Geld passende Hardware zusammenstecken können.

CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus

BitBastelei #245b – Haussteuerung mit CAN und Arduino: Der aSysBus

Nach langem Gebastel ist er da: Der Arduino System Bus (aSysBus). Schauen wir mal, was dahinter steckt, wie die Library aufgebaut ist und was alles unterstützt wird.

CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus

BitBastelei #245a – Haussteuerung mit CAN und Arduino: Was ist Haussteuerung?

Nach langer Zeit geht es mal wieder um Haussteuerung: Ich habe mein System nun soweit auf Arduino portiert und online gestellt. Aber schauen wir erst mal was überhaupt Haussteuerung ist, warum man eine solche haben möchte, was dagegen spricht und welche Konzepte es gibt.

HTTPS mit signierten Zertifikaten auf HP/HPE/Procurve/Aruba/Procurve-Switchen

HTTPS, vorzugsweise mit gültigen Zertifikaten, sollte heute eigentlich Standard sein – erst recht wenn man mehr oder weniger kritische Infrastrukturen darüber verwalten möchte. Auch wenn ich eher ein Verfechter von SSH bei der Konfiguration von Switchen bin, so wird doch oft auch ein Webinterface gefordert. Bei HP/HPE/Aruba/Procurve ist dies in der Standardkonfiguration unverschlüsselt per HTTP erreichbar. HTTPS lässt sich aktivieren, die Einrichtung von etwas anderem als self-signed ist jedoch leider nicht so intuitiv wie ich das gerne hätte. Also gehen wir die Schritte mal durch. Im CLI natürlich.

Erst muss ein „Trust Anchor“ erstellt werden. Dies ist sozusagen die Zertifikatsdatenbank des Switches. Da mehrere vorhanden sein können wird er mit einem aussagekräftigem Namen (her „MEINNETZ„) versehen.

Anschließend wird das Zertifikat der Zertifizierungsstelle (CA) importiert. Leider ist dies bei vielen  Geräten nur per TFTP und nicht über USB-Stick, Terminal  o.Ä. möglich. Auch dieses bekommt zur besseren Auffindbarkeit einen Namen (hier „MYCA„). Die angegebene IP entspricht der des TFTP-Servers, unter Windows lässt sich hierzu z.B. TFTPD32 nutzen. Der Switch selbst muss hierfür natürlich bereits eine passende Netzwerkkonfiguration besitzen und den PC erreichen können, ohne passende Konfiguration sucht er sich eine Adresse per DHCP auf dem Standard-VLAN.

Im Anschluss kann die Zertifikatsunterschriftanfrage (CSR) generiert werden. Wichtig für ein gültiges Zertifikat ist hierbei im Feld „common-name“ den späteren Hostname oder die IP-Adresse des Switches anzugeben, welche letztendlich für das Management verwendet werden soll..

Zu beachten ist, dass je nach Modellgeneration die Verfügbaren Cryptomethoden limitiert sein können. Das hier genutzte Modell unterstützt so leiglich RSA-Schlüssel mit bis zu 2048 Bit. Die verfügbaren Optionen lassen sich wie immer durch „?“ abrufen. Das Erstellen kann je nach verbautem Managementprozessor einige Zeit in Anspruch nehmen, im Anschluss erscheint die Anfrage als Text.

Diese Anfrage kopiert man aus dem Terminal und reicht sie als .csr-Datei an die gewünschte Zertifizierungsstelle weiter bzw. signiert diesen selbst mit seiner lokalen CA. Als Ergebnis erhält man ein Zertifikat, üblicherweise im PEM-Format (meist .pem oder .crt), welches im Switch importiert werden muss. Erhält man stattdessen eine DER oder P7B-Datei kann diese an einem PC z.B. mit openssl konvertiert werden. Nach Eingabe des Importbefehls erwartet der Switch den Inhalt der PEM-Datei als Texteingabe. Unter Windows mit PuTTy kann mit einem Rechtsklick eingefügt werden.

Mit Erkennen der „END CERTIFICATE„-Zeile kehrt der Switch automatisch zur Konfigurationsoberfläche zurück.  Das Zertifikat sollte nun in der Liste der installierten Zertifikate zu sehen sein.

Zuletzt wird HTTPS ein- und HTTP ausgeschaltet. Das zuvor installierte und somit einzige Zertifikat sollte automatisch verwendet werden.

Somit ist der Switch nicht mehr unverschlüsselt verwaltbar und die zuständigen „Administratoren“ teilen ihr Passwort nicht mehr zwangsläufig allen Lauschern im Netz servierfertig mit. Mit etwas Glück spart das Ganze am Ende mehr Arbeit als das turnusmäßige Auffrischen der Zertifikate verursacht. Wenn nicht schont der nicht mehr vorhandene HTTP-Login  immerhin meine Nerven.

BitBasics – Netzwerk – VLAN

Netzwerke trennen kann aus Sicherheits- oder Verwaltungsgründen hilfreich sein, doch dutzende einzelne Switche zu verwenden ist spätestens bei größeren Netzwerken keine Option. Mit VLAN kann man in einer physikalischen Infrastruktur mehrere virtuelle Netzwerke schaffen und so Geräte voneinander abschotten – auch über mehrere Switche. Die Einrichtung ist dabei auf den meisten Systemen schnell erledigt.

Foto „T-Mobile“ von „WhisperToMe“ · CC0
https://commons.wikimedia.org/wiki/File:TMobileHoustonTX.jpg

Foto „Ethernet switch“ von „Open Grid Scheduler / Grid Engine“ · CC0
https://flic.kr/p/r7jBEn

Foto „Hotspot“ von „Stefano Brivio“ · CC-BY
https://flic.kr/p/52trGy

Foto „Data Center“ von „Sean Ellis“ · CC-BY
https://flic.kr/p/6UDnWP

Foto „carter-111022-network-rack-cropped-dsc04727“ von „Patrick Finnegan“ · CC-BY
https://flic.kr/p/e4uJn5

Foto „Göteborg (Gothenburg), Västergötland, Sweden“ von „Swedish National Heritage Board“ · CC0
https://flic.kr/p/pgHdvg

Foto „More Cables“ von „Alan Levine“ · CC0
https://flic.kr/p/6h9ez

Foto „Cables“ von „Kansir“ · CC-BY
https://flic.kr/p/axzQ2

Screenshot Wikipedia 802.1Q · CC-BY-SA
http://de.wikipedia.org/wiki/IEEE_802.1q

Screenshot OpenWRT LuCI Switch Config
System: http://www.openwrt.org
Bild: https://blog.doenselmann.com/dmz-fuer-cloudserver-mit-openwrt/ CC-BY-SA

BitBasics – Crashkurs Netzwerkprotokolle

PC-Netzwerke sind heutzutage überall. Alleine beim lesen dieses Artikels oder schauen des Videos sind vermutlich dutzende Netzwerke aktiv.

In diesem extrakompakten Crashkurs schauen wir uns an, welche Protokolle in einem einfachen Heimnetzwerk ineinandergreifen und welche Aufgaben sie Übernehmen.

Korrekturen / Ergänzungen

  • 15:32 DNS ist ein eigenständiges Protokoll, dessen Anfrage fängt also selbst wieder bei der Anwendungsschicht an
  • 16:20 LinkLocal, MAC, NDP und ARP werden zwar vom verwendeten Protokoll der Vermittlungsschicht ausgewählt, zählen selbst aber schon zur Übertragung
  • 21:42 Bei Switchen oder Hubs bezeichnet ein Port einen Anschluss – diese haben nichts mit den Ports auf der Transportschicht zu tun.

Grafiken

TCP-Modell: Aufgaben der Protokollschichten

ISO/OSI-Schichten

Weiterführende Erlkärungen

Ressourcen: