Назад | Перейти на главную страницу

Как туннелировать последовательный порт с удаленной машины?

Я пытаюсь получить доступ к удаленной последовательной консоли (tty-порт на удаленном компьютере), как если бы он находился на локальной машине. Это необходимо для того, чтобы приложение, работающее только с последовательным портом, работало на моей машине. Удаленный tty недоступен напрямую. Он находится за OpenGear, и я могу подключиться к настоящему tty только с помощью telnet. При необходимости я мог бы отказаться от OpenGear, чтобы убедиться, что все работает без него в середине.

Я хочу указать своему приложению использовать локальное устройство, например / tmp / my_virtual_tty, и прозрачно подключаться к порту Telnet OpenGear.

Что работает:

$ telnet remote_telnet remote_port

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

Что не работает (вроде ничего не меняется), но я бы хотел:

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

То же самое и с повторное судебное разбирательство:

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

Это тоже не работает, но поскольку я нигде не указывал скорость tty, это может иметь смысл:

$ screen $HOME/dev/vmodem0 115200

Я пробовал сырые / rawer варианты с socat и безуспешно играл с необработанными вариантами OpenGear. Мои вопросы: что я не вижу и каково реальное решение для удаленной переадресации / туннелирования последовательного порта?

Это будет работать без проблем, но только с сырым сервером (на Opengear), а не с telnet:

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

Вот и все. Remserial будет работать точно так же, поэтому нет необходимости в проприетарном драйвере, если вы не работаете в Windows, и, вероятно, даже тогда.

Фактически, OpenGear предоставляет драйверы с совместным доступом к портам как для Windows, так и для Linux, но они очень устарели и содержат ошибки: http://ftp.opengear.com/download/portshare/

!! Вторичной проблемой в моем случае было то, что, хотя необработанный сервер был активен, брандмауэр блокировал порт (NB: в Opengear настройка прав доступа к портам осуществляется с другой веб-страницы, чем брандмауэр :)

Это не прямой ответ на ваш вопрос об использовании remserial или подобного программного обеспечения, но для корпоративных нужд я использую некоторые продукты виртуального порта, созданные для таких нужд. Это большой переходник с RJ45 на последовательный. Таким образом, вы можете легко получить любую виртуальную машину или любое оборудование, имеющее доступ к этому последовательному порту / tty.

Я знаю один продукт, который это делает, Perle iOLAN, но, думаю, таких товаров намного больше.

В моем случае это была виртуальная машина, которая использовалась для связи с последовательным модемом через кластер ESX, так что виртуальная машина может видеть его везде, где она запущена.