J'ai réussi à émuler une connexion série directe avec un client Windows (Windows 2000) avec un serveur dial-in CentOS 8 (mgetty+pppd) entre deux machines virtuelles (Windows 2000 est le client et CentOS 8 est le serveur), en utilisant libvirt dans Slackware Host.
Maintenant je veux émuler une ancienne connexion PPP avec un client Linux (Mandriva Linux) en utilisant kppp et le même serveur CentOS 8. Je n'ai pas de modem 56k, mais je sais qu'un projet existe pour émuler un modem et s'appelle tcpser Avec Windows, cela ne fonctionne pas car le port série est occupé par le programme tcpser, alors j'utilise Mandriva, sur Mandriva je lance le programme tcpser :
tcpser -d /dev/ttyS0 -n"010010101"
Sur Centos, je lance le programme tcpser
tcpser -d /dev/ttyS0 -n"010010102"
En utilisant kppp et en faisant le rapport "interrogation du modem" tout est ok (je vérifie avec minicom sur Centos) mais les chaînes de résultats sont toutes vides.
Lorsque j'essaie de me connecter depuis Mandriva vers le numéro, le modem est bloqué au niveau de la chaîne d'initialisation comme vous pouvez le voir sur cette sortie minicom et ne crée pas la connexion :
OK
OK
+++ATH
OK
OK
ATZ
Les deux machines virtuelles sont connectées directement par une fausse série (socket) : l'une est bind et l'autre connect. Ce sont les XML des séries des machines.
Mandriva
<serial type="unix">
<source mode="connect" path="/tmp/ppp.sock"/>
<target type="isa-serial" port="0">
<model name="isa-serial"/>
</target>
<alias name="serial0"/>
</serial>
CentOS
<serial type="unix">
<source mode="bind" path="/tmp/ppp.sock"/>
<target type="isa-serial" port="0">
<model name="isa-serial"/>
</target>
<alias name="serial0"/>
</serial>
MISE À JOUR 1 : Quelques progrès, tcpser fait simplement un "pont" d'une application série vers une application TCP, dans mon cas il est impossible de faire un pont de série vers mgetty (ce n'est pas TCP, il utilise la ligne série), mais il est possible de faire un pont de série vers telnet :
tcpser -d /dev/ttyS1 -s 38400 -l 7 -tsSiI -i "s0=1" -n"010010102=centos.domain.private:23"
J'ai essayé l'HyperTerminal à partir du client Windows et cela fonctionne bien, je peux me connecter à l'aide du bon vieux modem ptsn.
Malheureusement, la connexion PPP échoue avec "loopback error" "loopback detected" erreur 17 à la fois dans Mandriva et Windows client.
PSL Je sais que Windows 2000, Mandriva Linux ne sont pas supportés et qu'ils représentent un risque pour la sécurité, mais ce ne sont que des tests.