Je procède au proxy d'un port de serveur TCP VNC avec netcat. La machine proxy exécute linux.
Voici la commande que j'utilise:
mkfifo backpipe
nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe
10.1.1.116 est la machine "distante" avec le service VNC d'origine exécuté sur le port 5902. Après cette commande, le service VNC est disponible sur localhost pour les autres machines.
Mais après chaque session VNC, le "serveur proxy" netcat s'arrête, c'est ainsi que fonctionne netcat.
Comment puis-je faire en sorte que netcat continue de faire fonctionner le "service proxy" après la fin d'une session VNC?
Pour contourner ce problème, je mets la ligne de commande netcat dans une boucle infinie:
mkfifo backpipe
while true; do nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe; done
Mais je préférerais une solution netcat "officielle" qui n'interrompt pas du tout le service.
J'ai lu sur le paramètre "-" mais je ne sais pas si cela correspond au cas et je n'ai pas encore pu l'appliquer correctement.
Remarque additionnelle:
Bien sûr, je peux le faire avec le tunneling ssh de différentes manières, mais je voulais une solution sans surcharge de chiffrement pour la rendre aussi réactive que possible pour le client VNC. Sinon, une autre solution proxy serait OK.
Le client doit être VNC, aucun autre protocole n'est possible.