VNC — это протокол передачи изображения экрана и ввода, а не законченный продукт. Он решает задачу «показать экран», но не решает задачу «дотянуться до машины через интернет»: сетевую доступность нужно обеспечить самому. В этом главное практическое отличие от программ удалённого доступа, которые берут обе задачи на себя.
Что даёт VNC?
- Открытый протокол с множеством независимых реализаций — вы не привязаны к одному вендору.
- Кроссплатформенность: клиенты и серверы есть практически для всего.
- Хорошая предсказуемость в локальной сети, где между машинами нет препятствий.
- Возможность встроить в собственную инфраструктуру, если у вас есть кому этим заниматься.
Чего он не делает
Не потому, что реализован плохо, а потому, что это вне его задачи.
- Не обходит NAT. Через интернет ему нужен белый IP с пробросом портов или туннель — а открытый наружу порт непрерывно сканируют.
- Не даёт готовой адресной книги и списка устройств. Список машин вы ведёте сами.
- Не даёт единой учётной записи, разграничения прав и журнала подключений из коробки.
- Не решает задачу масштаба: инвентаризация, метрики, массовые действия — это уже другой класс инструментов.
Почему проброс портов — не лучший способ дотянуться до машины, разобрано в определении проброса портов.
Когда VNC уместен?
Когда обе машины в одной сети и добавлять новый сервис не хочется. Когда нужен доступ к оборудованию, где кроме VNC ничего нет. Когда вы строите собственное решение и вам нужен именно протокол, а не продукт поверх него.
Во всех этих случаях выбор осознанный. Плохо, когда VNC берут «потому что бесплатно», а потом полгода строят вокруг него VPN, справочник машин и учёт доступов — то есть собирают вручную то, что в готовом решении есть сразу.
Как VNC соотносится с RDP и VPN — в статье о различиях RDP, VPN и VNC, а что вообще относится к программам удалённого доступа — на странице программы удалённого доступа.
Работает ли VNC через интернет без настройки роутера?
Нет. VNC ждёт входящее соединение на своём порту, и чтобы дотянуться до него снаружи, порт пробрасывают через роутер. При сером IP у провайдера проброс не сработает вовсе — входящее соединение до вашего роутера просто не дойдёт.
Можно ли использовать VNC и программу удалённого доступа одновременно?
Технически можно, они не конфликтуют, но смысла в этом мало. Два канала доступа к одной машине — это два места, где нужно следить за паролями и правами, и одно из них рано или поздно окажется забытым. Если VNC остаётся для локальных задач, стоит хотя бы ограничить его прослушивание локальной сетью.