Назад | Перейти на главную страницу

туннелирование порта VNC и перенаправление портов

У меня две машины говорят 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)