RU.MODEM----------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 52 из 100
 От   : Nil A                               2:5015/46         27 сен 25 05:56:58
 К    : Dmitry Chernykh                                       27 сен 25 06:08:02
 Тема : Пробросить модем на удалённый хост, чтобы был там как /dev/tty...
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5015/46 68d754c8
@REPLY: 2:5023/24.4034 68d3c80e
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
* Originally in ru.modem
* Crossposted in ru.linux
Hello, Dmitry!

Wednesday September 24 2025 13:15, from Dmitry Chernykh -> All:

 DC> Есть допустим настоящая телефонная линия; К этой линии подключается
 DC> модем; Модем подключается к какой-то коробочке, которая передаёт весь
 DC> поток данных с модема на удалённый комп через интернет(через несколько
 DC> NAT-ов)? Hа удалённом компе допустим должен работать терминал по
 DC> телнет или удалённый модем должен видется как локальный подключенный
 DC> квиртуальному ком порту.

В теории, на Линуксе это можно сделать вот так.
 На стороне сервера, куда подключён модем: socat -d -d
TCP-LISTEN:7000,reuseaddr,fork FILE:/dev/ttyS0,raw,echo=0
 На клиенте, т.е. удалённом компе, куда мы ходим пробросить модем:
socat -d -d PTY,link=/dev/ttyV0,raw,echo=0 TCP:server_ip:7000
Фсё, на удалённом компе хоть mgetty вешай на /dev/ttyV0
Чтобы трафик был шифрованным, то обернуть в ssh-туннель
ssh -L 7000:localhost:7000 user@modem-host

Ещё ИИ подсказывает, что есть варианты - ser2net и какой-нибудь remserial/socat.
Конфиг /etc/ser2net.conf или /etc/ser2net.yaml
7000:raw:0:/dev/ttyS0:9600 8DATABITS NONE 1STOPBIT
На клиенте
socat -d -d PTY,link=/dev/ttyV0,raw,echo=0 TCP:server_ip:7000
или
remserial -r server_ip -p 7000 -l /dev/ttyV0

 Ещё ИИ подсказывает, что можно по-взрослому RFC 2217: Telnet Com
Port Control Option организовать, ser2net v3+ так умеет, ser2net.yaml
connection: &modem
  accepter: tcp,7000
  connector: serialdev,/dev/ttyS0,baud=9600,local
  options:
    rfc2217: true
 На клиенте socat или pyserial с поддержкой RFC2217.

 Ещё ИИ подсказывает, что есть ядерный модуль tty0tty или nserial,
чтобы создавать виртуальные компорты.
modprobe tty0tty
# Connect /dev/tnt0 to remote modem
socat /dev/tnt0 TCP:server_ip:7000

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20240306
 * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
SEEN-BY: 50/109 104/117 240/1120 301/1 341/66
455/19 460/58 463/68 4500/1
SEEN-BY: 5000/111 5001/100 5010/352 5015/42 46 255
5019/40 5020/101 113 715
SEEN-BY: 5020/830 846 848 1042 4441 12000 5030/49
115 1081 1474 5049/3
SEEN-BY: 5053/51 5058/104 5061/133 5083/1 444
@PATH: 5015/46 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх