1

Каков наилучший способ установить соединение VNC с компьютером, расположенным за брандмауэром / маршрутизатором, к которому у вас нет доступа? У меня есть домашний компьютер Linux, подключенный к Comcast, который явно блокирует входящие запросы, поэтому я не могу подключиться к IP-адресу напрямую, но я бы хотел подключиться к нему через произвольное подключение к Интернету. Как бы я обойти это?

Я был свидетелем некоторых коммерческих продуктов, таких как продукт технической поддержки Dell, который, похоже, использует общедоступный веб-сервер, который вы посещаете с целевого компьютера, чтобы "выставить" его на входящее соединение VNC. Есть ли что-нибудь подобное бесплатно / дешево для личного использования?

5 ответов5

3

Вы можете попробовать туннелировать VNC через SSH, но производительность может быть немного медленной. Вы также можете захотеть взглянуть на freenx, который уже безопасен при работе по SSH и намного быстрее, чем VNC.

Если вы не возражаете против использования сторонних разработчиков, мне действительно нравится LogMeIn, потому что это безопасность и простота. Все, что мне нужно, это браузер для подключения к ПК дома. Вашей слабой ссылкой будет пароль, который вы используете для своей учетной записи, поэтому убедитесь, что он надежный.

2

Обычно вы можете просто перенаправить порт 5900 со своего брандмауэра на компьютер, на который вы хотите подключиться к VNC, а затем подключиться к внешнему IP-адресу или получить поставщика DDNS , если ваш маршрутизатор / брандмауэр поддерживает это.

1

Предполагая для простоты, что у вас есть только один клиент (но у которого могут быть произвольные IP-адреса), что VNC-сервер работает за брандмауэром, где вы не можете открыть порты, но у клиента нет таких проблем, обходной путь должен был бы сделать это введите в сценарий загрузки на сервере:

while sleep 100; do ssh vnc_user@$client -R 5900:127.0.0.1:5900; done

Это открывает обратный туннель от сервера к клиенту. Это возможно из-за брандмауэра.

Убедитесь, что вы создали на сервере ssh-ключ без пароля (ssh-keygen и пару раз нажмите return), чтобы вы могли поместить его в загрузочный скрипт.

Теперь, чтобы сделать это из "произвольного подключения к Интернету", просто получите бесплатную учетную запись на dyndns.org и обменяйте $ client в приведенной выше команде на этот адрес dyndns (например, myvpnclient.dyndsn.org). На клиенте запустите sshd и создайте пользователя с очень небольшим доступом:

sudo useradd -m -s /bin/false vnc_user

Скопируйте файл-сервер:~/.ssh/id_rsa.pub в клиент:~ vnc_user/.ssh/authorized_keys, чтобы у сервера vnc был ssh-доступ к клиенту (-ам) vnc. (/Bin /false гарантирует, что сервер vnc на самом деле не может запускать команды на клиенте, только открыть порт; если вы не доверяете серверу, вы можете усилить защиту в sshd_config.)

Теперь, пока вы запускаете на клиенте демон dyndns (или обновляете свой IP-адрес вручную на dyndns.org), вы можете подключаться к серверу. Если ваш клиент меняет IP-адрес, соединение ssh должно прерваться, и сервер попытается восстановить соединение.

(Если клиент также находится за брандмауэром, я думаю, что и клиент, и сервер могут открыть туннели к третьей машине, у которой нет проблем с брандмауэром, но в любом случае вам нужен хотя бы один сервер, который может запускать sshd в открытом Интернете.)

1

... посетить с целевого компьютера, чтобы "выставить" его на входящее соединение VNC. Есть ли что-нибудь подобное бесплатно / дешево для личного использования?

TeamViewer. Вы бы запустили модуль быстрой поддержки (или полный) на своей цели и взяли с собой код сеанса и пароль, которые он предоставляет. Введите их в полный телевизионный модуль на выездной машине, чтобы подключиться к цели.

0

Вы можете использовать Hamachi (который был куплен logmein). Вы устанавливаете клиент на всех машинах, которыми хотите поделиться, затем создаете новую защищенную паролем сеть и присоединяете к ней все машины. Это совершенно безопасно. Даже Стив Гибсон рекомендовал это пару лет назад. Я использовал это много раз и работает как шарм.

У них есть бесплатная не коммерческая версия. https://secure.logmein.com/products/hamachi2/licensing.aspx

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .