Я пытаюсь получить доступ к удаленной последовательной консоли (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, так что виртуальная машина может видеть его везде, где она запущена.