So benutzt man eine serielle Konsole unter Linux

Die Verwendung einer seriellen Konsole unter Linux ähnelt stark der Benutzung eines Modems. Die Technologie ist praktisch dieselbe. Der Artikel erklärt, wie zwei Rechner über ein Nullmodem-Kabel problemlos verbunden werden können.

Die meisten modernen Desktops und Laptops sind nicht mehr mit seriellen Anschlüssen ausgestattet. Doch praktisch alle Systeme der Server-Klasse verfügen immer noch über diese Anschlussart. Um zwei Linux-Systeme über eine serielle Schnittstelle zu verbinden, braucht man ein Nullmodem-Kabel.

Das erste System wird so eingerichtet, dass es an einem Ende des Kabels auf eine Verbindung wartet. Das zweite wird am anderen Ende dafür eingesetzt, sich als Client in das System einzuloggen. Dabei kann diese Rollenverteilung leicht umgekehrt werden, denn schließlich funktioniert ein Nullmodem-Kabel in beide Richtungen.

Warum sollte man eine serielle Konsole verwenden? Einmal kann das sehr nützlich für Debugging-Zwecke sein, besonders wenn das Netzwerk ausgefallen ist und eines der Systeme weder Monitor noch Tastatur hat, also „headless“ ist. Zum anderen kann man diese Methode zur Umgehung von Sicherheitsrichtlinien verwenden. Ein Netzwerk lässt sich mit einem anderen verbinden – rein zu Einlogzwecken und nicht etwa zum Kopieren von Dateien -, um einen Shell-Zugriff auf das andere System zu haben.

Wenn beispielsweise ein Server in einer Demilitarized Zone (DMZ) liegt, lassen sich so möglicherweise komplizierte Netzwerkanforderungen für einen Shell-Zugriff auf den Server vom LAN aus umgehen. Das heißt auch, dass man keinen von außen zugänglichen sshd-Dienst mehr auf dem DMZ-Server laufen lassen muss.

Um loszulegen, sind nur das Nullmodem-Kabel und zwei Rechner mit seriellem Anschluss vonnöten, wobei es darauf zu achten gilt, dass die seriellen Anschlüsse im BIOS aktiviert sind. Auf dem Server wird dann die Datei /etc/inittab geöffnet und folgende Zeile hinzugefügt:


S0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt102

Damit wird dem init-Prozess mitgeteilt, agetty zu starten und auf eine Verbindung mit /dev/ttyS0 (dem ersten seriellen Anschluss) bei einer Baudrate von 115.200 Bit/s zu warten sowie die Terminalemulation vt102 zu verwenden. Auf dem Client gibt man nach Anschluss des Nullmodem-Kabels und dem Starten von agetty den Befehl screen ein, damit eine Verbindung aufgebaut wird.


$ screen /dev/ttyS0 115200

Betätigt man die Eingabetaste, sobald der screen-Befehl ausgeführt wird, erscheint der vertraute Log-in-Prompt auf dem entfernten System. Um die Verbindung zu trennen, muss einfach [Strg-A]+K in screen eingegeben werden, nachdem man sich abgemeldet hat.

Wer will, kann syslog dazu gebrauchen, alle Logmeldungen auch an den seriellen Anschluss zu senden, um die Meldungen darüber zu verfolgen. Das lässt sich durch Modifizieren der Datei /etc/syslog.conf erreichen, indem man die folgende Zeile hinzufügt:


*.* /dev/ttyS0

Sollte man also einmal in die Verlegenheit kommen, eine Verbindung zu einem Hardwaregerät über die Konsole herstellen zu müssen, etwa zu einem Netzwerk-Router oder einem Switch, dann ist es eine hervorragende und einfache Möglichkeit, hierzu eine serielle Verbindung und screen zu verwenden. Praktisch alle Linux-Distributionen bringen screen von Haus aus mit. Ansonsten lässt es sich einfach per apt-get, urpmi oder yum nachinstallieren. Und bei den meisten Linux-Distributionen ist agetty übrigens bereits vorinstalliert.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu So benutzt man eine serielle Konsole unter Linux

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *