Serieller Konsolen-Server
Remote Access auf die serielle Konsole von Netzwerkkomponenten
Motivation
Auch heute noch erfolgt die zumindest die initiale Konfiguration von Netzwerkkomponenten über eine serielle Schnittstelle. Das hat mehrere Nachteile:
- Aktuelle Notebooks haben keine serielle Schnittstelle mehr. Man benötigt also einen zusätzlichen Adapter, üblicherweise von USB auf sieriell (RS-232). Deren Nutzung ist nicht immer unproblematisch: So muß man unter Windows manchmal noch Treiber installieren. Es kann auch passieren, daß keine Verbindung mit dem zu konfigurierenden Gerät aufgebaut wird. Daran kann der Typ des Adapters schuld sein, oder ganz allgemein Inkompatibilitäten.
- Die zu konfigurierenden Netzwerkkomponenten befinden sich meist in einem ungemütlichen Rechenzentrum. Oft gibt es da in Reichweite der seriellen Kabel nicht einmal Tisch und Stuhl.
Es wäre also von Vorteil, wenn man eine universelle Lösung zum "Verlängern" der seriellen Ports hätte. Dazu dient die im Folgenden beschriebene Lösung.
Verwendete Komponenten
Software
Die Wahl fiel auf ConsolePi, einem "Serial Console Server" basierend auf einem Raspberry Pi. Damit ist die drahtlose Anbindung per WLAN und Bluetooth möglich, mittels Adapter auch der Zugriff über ein vorhandenes Ethernet.
Hardware
Für einen möglichst universellen Einsatz an den verschiedensten Netzwerkkomponenten wurde die folgende Hardware beschafft:
- Raspberry Pi Zero 2 WH
Ein Raspberry Pi ist Voraussetzung zur Nitzung von ConsolePi. Die Wahl viel auf den Raspberry Pi Zero 2 WH, weil dieser im Verleich zu den anderen Modellen die geringste Stromaufnahme hat. Somit kann er meist über einen an vielen Netzwerkkomponenten zusätzlich vorhandenen USB-Anschluß mit Strom versorgt werden. Die geringe Größe ist außerdem von Vorteil.
- Gehäuse für Raspberry Pi Zero (eb5883)
Das offizielle Gehäuse für Raspberry Pi Zero, rot/weiß.
- MicroSD-Karte 32GB
Es wurde die offizielle MicroSD-Karte für den RaspBerry Pi verwendet. Jede andere MicroSD-Karte sollte auch funktionieren, eine Kapazität vom 8GB würde auch genügen.
- USB-Kabel: USB-A-Stecker -> micro-USB-Stecker, 0,5 m
Zur Stromversorgung des Raspberry Pi über eine USB-A-Buchse oder ein Netzteil mit USB-A-Buchse
- Sertronic USB-Hub mit Ethernet
Dieser USB-Hub kann über seinen Micro-USB-Stecker direkt mit dem Raspberry Pi Zero verbunden werden und bietet neben 3 USB-Ports zum gleichzeitigen Anschluß von 3 zu konfigurierenden Netzwerkgeräten auch noch einen 100Mbit Ethernet-Port.
- USB-Adapter: Micro-USB-Stecker -> USB-A-Buchse
Zum Anschluß von USB-Kabeln bzw. -Adaptern mit USB-A-Steckern an den USB-Port des Raspberry Pi Zero.
- USB-Kabel: USB-A-Stecker -> Mini-USB-Stecker
Zum Anschluß an Netzwerkkomponenten mit Mini-USB-Port. Verbindung zum Raspberry Pi Zero mittels des o.g. USB-Hubs oder des Adapters Micro-USB-Stecker -> USB-A-Buchse.
- USB-Seriell-Adapter
USB Typ-A Stecker -> Seriell RS-232, RJ45, 1,8 m zum Anschluß an ein Netzwerkgerät mit seriellen RJ45-Port (wie z.B. bei Cisco üblich)
- Adapter DB9 Buchse / RJ45 Buchse
Montagesatz zur Herstellung eines Adapters zum Anschluß des USB-Seriell-Adapters an ein Netzwerkgerät mit seriellem 9poligem Sub-D-Port.
Installation
Von den zur Auswahl stehenden Installationsmöglichkeiten wurde der Weg über das offizielle Raspberry Pi OS und anschließender Installation von ConsolePi gewählt. Das geschieht in folgenden Schritten:
Raspberry Pi OS
- Installation des Raspberry Pi Imagers
Z.B. unter Debian mittels:cd /tmp
curl -L https://downloads.raspberrypi.org/imager/imager_latest_amd64.deb -o imager_latest_amd64.deb
sudo apt install ./imager_latest_amd64.deb
- MicroSD-Karte am Computer anschließen (an SD-Card-Slot oder mit entsprechendem USB-Adapter)
- rpi-imager starten
- Auswahl treffen:
- Raspberry Pi Modell: Raspberry Pi Zero 2 W
- Betriebssystem (OS): Raspberry Pi OS (Other) / Raspberry Pi OS Lite (64-bit)
- SD-Karte: die Micro-SD-Karte wählen
- Einstellungen bearbeiten:
- Allgemein:
- hostname: cpi-1
- Benutzername: <wie gewünscht>
- Passwort: <wie gewünscht>
- Wifi SSID: <wie gewünscht>
- Wifi Passwort:
- Wifi-Land: DE
- Zeitzone: Europe/Berlin
- Tastaturlayout: de
- Dienste:
- SSH aktivieren
- Authentifizierung via Public-Key: SSH-Key eintragen
(notfalls auch "Passwort zur Authentifizierung verwenden)
- Optionen: alles abwählen
- Speichern
- Anpassungen anwenden: Ja
- Sicherheitsabfrage bestätigen, OS wird installiert
- MicroSD-Karte in Raspberry Pi einsetzen, Stromversorgung anschließen
- Rasbberry Pi sollte sich mit dem WLAN verbinden
- IP-Adresse am Accesspoint, WLAN-Controller oder DHCP-Server ermitteln
- mit SSH auf Raspberry Pi zugreifen
Zum Zeitpunkt der Erstellung dieses Artikels gab es ein Problem beim Aufbau einer WLAN-Verbindung beim Raspberry Pi Zero 2 W mit aktuellem Raspberry OS. Abhilfe schaffen die folgenden Befehle:
sudo -i
echo "options brcmfmac feature_disable=0x2000" > /etc/modprobe.d/brcmfmac.conf
reboot
ConsolePi
Es wird entsprechend der "Automated Installation" verfahren:
Anwendung
Die zahlreichenden Anwendungsmöglichkeiten werden in der ConsolePi-Dokumentation ausführlich beschrieben. Die wichtigsten werden hier zu einem späteren Zeitpunkt vorgestellt.