У меня две машины говорят A и B. Машина A является публичным шлюзом. машина B находится в моей сети и работает на сервере VNC на порту 6000. Я хочу, чтобы люди подключались к машине A через порт VNC, скажем, 5900 (незащищенный). после этого машина A должна настроить туннель от собственного порта 5900 до порта 6000 на машине B (защищенной). И люди могут видеть вывод vnc без подключения к фактическому хосту.
как это можно сделать? там в любом случае? дайте мне знать, если я где-то ошибаюсь. Спасибо
Вы должны проверить -via
вариант vncviewer
. Если вы настроили SSH-доступ к host-a
, вы можете открыть доступ к своему VNC-серверу следующим образом:
vncviewer -via host-a host-b:6000
Это откроет сеанс SSH для host-a
, вперед host-b:6000
на свой локальный компьютер и направьте средство просмотра VNC на этот перенаправленный порт одной командой. Трафик с вашего хоста на host-a
будет зашифрован, а трафик из host-a
к host-b
будет незашифрованным.
РЕДАКТИРОВАТЬ: перечитав ваш вопрос, я понял, что это не совсем то, о чем вы спрашивали. Я думаю, вы сможете достичь того, чего хотите, используя простой прокси TCP, такой как простой прокси или Rinetd установлен на хосте A. Настройте этот прокси для пересылки трафика с порта 5900 на хост B. Пример rinetd.conf
:
# bindadress bindport connectaddress connectport
0.0.0.0 5900 <ip-of-host-b> 6000
Хотя с точки зрения безопасности решение с использованием SSH было бы предпочтительнее ...
Это не будет работать так автоматически. Кроме того, наличие незащищенного VNC на общедоступном шлюзе - не лучший вариант.
Вам действительно стоит попробовать VPN, у вас может быть OpenVPN или даже сервер PPTP на A, тогда клиенты будут легко подключаться к VPN, а затем к серверу VNC на B.
Другой вариант - пересылка SSH, вы можете настроить SSH-сервер на B (или A, но B проще), перенаправить порт SSH на B, а затем подключиться через замазку или любой SSH-клиент, поддерживающий пересылку.
Из клиента linux или SSH на cygwin:
ssh [hostname] -l username -L 6000:localhost:6000
Инструкции по шпатлевке: http://oldsite.precedence.co.uk/nc/putty.html
После этого вы можете подключиться к любому клиенту VNC, используя localhost: 6000 (например: vncviewer localhost: 6000)