Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste


C - Programmierung am Raspberry  Schaltpläne und Bauteilbeschreibungen  Adapterkabel  Mechanik  EDV-Literatur deutsch 



    FIAN Österreich     Marktplatz Natur    
    Bäckerei Freitag

rpi_term

Raspberry Pi als Terminalserver

V 1.00

Voraussetzung ist ein funktionierend aufgesetzter RPi und ser2net . Für den Anschluss an die Firewall (in meinem Fall eine Cisco ASA 5505) wird ein USB nach Seriell Adapter von LogiLink (AU0048) verwendet, da er von Linux unterstützt wird. Falls mehrere Geräte angeschlossen werden sollen, kann auch beispielsweise der KÖNIG USB nach 4x Seriell Adapter verwendet werden. Die Installation ist gleich, lediglich die /etc/ser2net.conf ist anzupassen.

ser2net ermöglicht den Zugriff auf serielle Ports über TCP, wodurch der Pi zu einem Terminalserver wird. Die ser2net befindet sich in den Repositorys. Die ser2net wird heruntergeladen und kompiliert. Nachsehen, ob es eventuell eine neuere Version gibt.

sudo wget http://downloads.sourceforge.net/project/ser2net/ser2net/ser2net-3.5.tar.gz

Tarball extrahieren:

sudo tar -xzvf ser2net-3.5.tar.gz

und installieren:

cd ser2net-3.5/
./configure
make
sudo make install

Nach dem Installierendie Überbleibsel löschen:

make clean

Bevor die ser2net.conf editiert werden kann, muss nachgesehen werden, welchen Port, bzw. welche Ports bei Mehrfachkabel, verwendet wird oder werden. Das folgende Kommando verwenden:

$ dmesg | grep tty

[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=1024 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=d112e6c0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.000814] console [tty1] enabled
[    1.028899] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 4411.906281] usb 1-1.2: pl2303 converter now attached to ttyUSB0

Hier ist der Anschluss mit ttyUSB0 verbunden. Nun kann die ser2net.conf editiert, bzw. erstellt werden:

sudo nano /etc/ser2net.conf

Die folgenden zwei Zeilen einfügen:

BANNER:banner:Terminal Server TCP port 4001 CISCO ASA

4001:telnet:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner

Die erste Zeile zeigt ein Banner bei der Verbindung auf das angeschlossene Gerrät. Es wird nicht unbedingt benötigt, ist aber bei der Administration von mehreren Geräten hilfreich.
Die zweite Zeile beschreibt den TCP Port 4001 und die Verbindung zum Anschluss /dev/ttyUSB0. Die Baud rate von 9600, 8 databits, no parity and 1 stopbit wird vom Endgerät erwartet. Je nach angeschlossenem Gerät ist das anzupassen.

Am Raspberry ser2net starten:

ser2net -n

Nun kann eine Verbindung von einem am Netzwerk angeschlossenen Computer erfolgen.
Hier wird das Programm Putty verwendet.

Putty Telnet

Terminal Fenster

Start von ser2net beim booten des RPi:

$ sudo nano /etc/rc.local

In der letzten Zeile von /etc/rc.local steht der Eintrag exit 0. Vor diesem Eintrag die folgende Zeile einfügen:

/usr/local/sbin/ser2net -n

Beim nächsten Start wird der RPi ser2net automatisch starten. Nun ist der RPi als Terminalserver verwendbar.

Die Logging-Funktion von ser2net konfigurieren

Bevor das Logging konfiguriert wird, sollte die Uhrzeit auf die lokale Zeit eingestellt werden, da ein Zeitstempel in die Logfiles eingetragen wird. Die Zeitzone wird, wenn nicht schon geschehen, auf die mitteleuropäische Zeitzone (CEST - Central European Time) eingestellt.

$ sudo cp /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

Kontrollieren der Einstellung:

$ date
Fre Nov 16 01:23:51 CET 2018

Nun wird ein Ordner erstellt, in den die Log-Files geschrieben werden:

$ sudo mkdir /var/log/ser2net

Nun muss die /etc/ser2net.conf um die Zeile TRACEFILE:trace1:/var/log/ser2net/ser2net.log und den Eintrag
tr=trace1 timestamp ergänzt werden:

BANNER:banner:Terminal Server TCP port 4001 CISCO ASA

TRACEFILE:trace1:/var/log/ser2net/ser2net.log

4001:telnet:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner tr=trace1 timestamp

Dieser Zusatz erzeugt einen Eintrag mit Portnummer und Zeitstempel im Logfile. Das Verzeichnis    /var/log/ser2net/ muss über die nötigen Rechte verfügen. Im einfachsten Fall:

sudo chmod -R 777 /var/log/ser2net

Es wird dabei jeder Tastendruck protokolliert. Eventuell die Einstellungen ändern.

rpi_term.txt · Zuletzt geändert: 2019/01/25 14:06 von dokuwikiadmin