Я прокси-сервер VNC TCP-порт с Netcat. Прокси-машина работает под управлением Linux.
Это команда, которую я использую:
mkfifo backpipe
nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe
10.1.1.116 - это «удаленный» компьютер с исходной службой VNC, работающей через порт 5902. После этой команды служба VNC доступна на локальном хосте для других машин.
Но после каждого сеанса VNC «прокси-сервер» netcat останавливается, как работает netcat.
Как я могу заставить netcat поддерживать «прокси-сервис» работающим после завершения сеанса VNC?
В качестве обходного пути я помещаю командную строку netcat в бесконечный цикл:
mkfifo backpipe
while true; do nc -l 5902 0<backpipe | nc 10.1.1.116 5902 1>backpipe; done
Но я бы предпочел «официальное» решение netcat, которое вообще не прерывает обслуживание.
Я читал о параметре "-", но я не уверен, подходит ли он для случая, и я еще не смог применить его правильно.
Дополнительные замечания:
Конечно, я могу сделать это с ssh-туннелированием по-разному, но я хотел найти решение без издержек на шифрование, чтобы сделать его максимально отзывчивым для клиента VNC. В противном случае было бы нормально использовать другой прокси-сервер
Клиент должен быть VNC, другие протоколы невозможны.