• Пробросить модем на удалённый хост, чтобы был там как /dev/tty...

    From Nil A@2:5015/46 to Dmitry Chernykh on Sat Sep 27 05:56:58 2025
    * Originally in ru.modem
    * Crossposted in ru.linux
    Hello, Dmitry!

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

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

    В теории, на Линуксе это можно сделать вот так.
    а стороне сервера, куда подключён модем: 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)