fragen stichworte

Wie kann der serielle Port von einem Remote-Computer aus getunnelt werden

Ich versuche, auf eine serielle Remote-Konsole (einen tty-Port auf einem Remote-Computer) zuzugreifen, als wäre sie auf einem lokalen Computer. Dies ist erforderlich, damit eine Anwendung nur für die serielle Schnittstelle auf meinem Computer funktioniert. Die Fernbedienung ist nicht direkt erreichbar. Es liegt hinter einem OpenGear und ich kann mich nur mit Telnet mit dem tatsächlichen tty verbinden. Wenn nötig, könnte ich den OpenGear fallen lassen, nur um zu bestätigen, dass die Dinge ohne es in der Mitte funktionieren.

Ich möchte meiner Anwendung mitteilen, dass sie ein lokales Gerät wie/tmp/my_virtual_tty verwenden und eine transparente Verbindung zum OpenGear Telnet-Port herstellen soll.

Was funktioniert:

$ telnet remote_telnet remote_port

$ socat TCP:remote_telnet:remote_port TCP-LISTEN:10023
$ telnet localhost 10023

Was nicht funktioniert (nichts scheint ausgetauscht zu werden), aber ich wünschte, es würde:

$ socat tcp-connect:remote_telnet:remote_port PTY,link=$HOME/dev/vmodem0
$ screen $HOME/dev/vmodem0

Dasselbe mit remrialial:

$ remserial -d -r remote_telnet -p remote_port -l $HOME/dev/vmodem0/dev/ptmx
$ screen $HOME/dev/vmodem0 .... # doesn't work either

Das funktioniert auch nicht, aber da ich nirgendwo eine tty-Geschwindigkeit angegeben habe, könnte dies sinnvoll sein:

$ screen $HOME/dev/vmodem0 115200

Ich habe Raw-/Rawer-Optionen mit Socat ausprobiert und mit RawGear-Optionen von OpenGear ohne Erfolg gespielt. Meine Fragen sind: Was sehe ich nicht und was ist die tatsächliche Lösung für das Weiterleiten/Tunneln von seriellen Remote-Ports?

antworten

Dies funktioniert nahtlos, jedoch nur mit einem Raw-Server (auf dem Opengear) und nicht mit einem Telnet-Server:

$ socat -d TCP:server:port PTY,link=$HOME/dev/vmodem0,rawer,b115200,sane
$ screen ~/dev/vmodem0

Das war's. Remserial funktioniert genauso, so dass kein proprietärer Treiber erforderlich ist, es sei denn, Sie sind unter Windows und wahrscheinlich auch dann nicht.

In der Tat bietet OpenGear "portshare" -Treiber für Windows und Linux an, diese sind jedoch sehr veraltet und fehlerhaft: http://ftp.opengear.com/download/portshare/

!! Ein sekundäres Problem in meinem Fall war, dass die Firewall den Port blockierte, obwohl der Raw-Server aktiv war (Hinweis: In Opengear wird das Festlegen der Zugriffs-Port-Rechte von einer anderen Webseite als der Firewall vorgenommen)

Nicht eine direkte Antwort für Ihre Frage, eine remserial oder solche Software zu verwenden, aber für Unternehmen brauchen, dass ich ein virtuelles Portprodukt verwende, das für solch eine Notwendigkeit geschaffen wird. Es ist in einem großen RJ45-Seriell-Adapter. Auf diese Weise können Sie leicht jede VM oder Ausrüstung, die auf diese serielle Schnittstelle zugreifen, haben.

Ich kenne ein Produkt, das es macht, Perle iOLAN, aber ich denke, es gibt eine Menge mehr solcher Produkte.

In meinem Fall war es eine VM, die mit einem seriellen Modem über einen ESX-Cluster sprach, so dass die VM sie überall sehen kann, wo sie ausgeführt wird.