Ostatnio spotkałem się z dość prostym problemem: otóż mam kilka urządzeń, do których mam dostęp także przez konsole szeregowe. Zwyczajowo do konsol szeregowych łączyłem się przez program minicom ale w takim przypadku, gdy chce kolegom umożliwić zdalny dostęp do maszyn oznacza to iż musze utworzyć lokalne konta na serwerze. Najlepiej byłoby tego unikąć. Moim rozwiązaniem okazało się udostępnienie portu szeregowego przez port TCP przypomocy ser2net.
Program instalujemy w standardowy sposób, jest dostępny w pakietach w dystrybucji:
apt-get install ser2net
Wpisujemy konfigurację dotyczącą portów:
root@server:/etc# egrep -v "^#|^\s*$" /etc/ser2net.conf BANNER:banner:\r\nser2net port \p device \d [\s] \r\nPlease press Enter to see the output from connection \r\nTo end telnet connection write Control+] and press Enter \r\n\r\n 2010:telnet:600:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner 2011:telnet:600:/dev/ttyUSB1:9600 8DATABITS NONE 1STOPBIT banner 2012:telnet:600:/dev/ttyUSB2:9600 8DATABITS NONE 1STOPBIT banner 2013:telnet:600:/dev/ttyUSB3:9600 8DATABITS NONE 1STOPBIT banner 2014:telnet:600:/dev/ttyUSB3:9600 8DATABITS NONE 1STOPBIT banner 2015:telnet:600:/dev/ttyS0:9600 8DATABITS NONE 1STOPBIT banner
Restartujemy usługę:
root@server:/etc# /etc/init.d/ser2net restart * Restarting Serial port to network proxy ser2net [ OK ]
I na koniec mamy:
ziutus@server:~$ telnet 127.0.0.1 2015 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. ser2net port 2015 device /dev/ttyS0 [9600 N81] Please press Enter to see the output from connection To end telnet connection write Control+] and press Enter Only authorized users from unix4you.net are allowed If you are not authorized, please disconnect User Access Verification Username: