Что такое VNC
VNC — это технология удалённого управления компьютером, которая передаёт по сети изображение экрана, а обратно — нажатия клавиш и движения мыши. Аббревиатура расшифровывается как Virtual Network Computing, виртуальные сетевые вычисления. Работает она по протоколу RFB и не зависит от операционной системы: с Linux можно подключиться к Windows, а с Windows — к macOS.
Содержание
Разделы идут от общего определения к устройству протокола, сравнению с RDP и вопросам безопасности.
- Что такое VNC простыми словами
- Как работает VNC
- Протокол RFB
- VNC-сервер и VNC-клиент
- Чем VNC отличается от RDP
- Где применяют VNC
- Безопасность VNC
- Плюсы и минусы
- VNC и российские решения
- Вопросы и ответы
Начнём с определения, а затем разберём, что происходит на экране и в сети.
Что такое VNC простыми словами
VNC превращает экран одного компьютера в изображение, которое можно смотреть на другом. Пользователь видит рабочий стол удалённой машины в окне программы и управляет им своей мышью и клавиатурой.
Технология появилась как средство для тонких клиентов, но прижилась шире. Сегодня VNC используют для администрирования серверов, поддержки пользователей и доступа к компьютеру без монитора.
Ключевая особенность в том, что VNC передаёт не команды отрисовки, а готовые пиксели. Удалённая система не знает, что её экран кто-то смотрит: она просто работает как обычно.
Важно! VNC — не одна программа, а протокол. Совместимые серверы и клиенты выпускают разные разработчики, поэтому клиент от одного проекта обычно подключается к серверу другого.
Как работает VNC
На компьютере, к которому подключаются, запускают VNC-сервер. Он захватывает содержимое видеопамяти и следит за изменениями на экране.
На стороне пользователя работает VNC-клиент, который называют ещё viewer. Он получает прямоугольные области с изменившимися пикселями и рисует их в своём окне.
Обратный поток состоит из событий ввода: нажатий клавиш, движения мыши, нажатий кнопок. Сервер применяет их к удалённой системе так, будто их ввёл человек за её клавиатурой.
- Сервер захватывает изображение экрана.
- Клиент отправляет события клавиатуры и мыши.
- Сервер передаёт только изменившиеся участки.
- Клиент восстанавливает картинку в своём окне.
Чтобы снизить нагрузку на канал, применяют сжатие и разные способы кодирования. Чем сильнее сжатие, тем меньше трафик и тем заметнее артефакты на мелком тексте.
Протокол RFB
VNC работает по протоколу RFB, Remote Framebuffer. Название прямо описывает суть: удалённый буфер кадра, то есть область памяти с пикселями экрана.
RFB работает поверх TCP и не привязан к операционной системе. Клиент и сервер договариваются о глубине цвета и способе кодирования, после чего обмениваются обновлениями экрана.
Протокол простой, поэтому его реализации есть почти для всех платформ, включая веб-клиенты. Обратная сторона простоты — скромные возможности по шифрованию и сжатию по сравнению с современными протоколами удалённого доступа.
Важно! Сам по себе RFB не шифрует трафик. Пароль при классической аутентификации тоже передаётся в уязвимом виде, поэтому VNC без туннеля допустим только в доверенной сети.
VNC-сервер и VNC-клиент
Для подключения нужны две части. Сервер устанавливают на машину, к которой нужен доступ, клиент — на устройство, с которого смотрят экран.
Серверы различаются по способу работы. Одни создают отдельный виртуальный сеанс, другие подключаются к уже открытому рабочему столу. Для администрирования сервера чаще нужен второй вариант, чтобы видеть то же, что и локальный пользователь.
Популярные реализации известны давно: TightVNC, RealVNC, TigerVNC, UltraVNC и x11vnc. Клиенты выпускают те же проекты, а для браузера существует noVNC.
Выбор зависит от платформы и задачи. Для Windows с уже открытой сессией удобны серверы, работающие как служба. Для Linux с графической оболочкой часто берут x11vnc, а для отдельного виртуального дисплея — TigerVNC.
Чем VNC отличается от RDP
Оба протокола решают похожую задачу, но устроены по-разному. Разница заметна при работе на медленном канале и при подключении к занятому компьютеру.
| Параметр | VNC | RDP |
|---|---|---|
| Что передаётся | пиксели экрана | команды отрисовки интерфейса |
| Сеанс | подключается к существующему экрану | создаёт отдельный сеанс пользователя |
| Платформы | любые, протокол открытый | в основном Windows |
| Трафик | выше, зависит от картинки | ниже на слабом канале |
| Порт по умолчанию | 5900 и далее | 3389 |
Из таблицы следует практический вывод. RDP экономнее и лучше подходит для работы в интерфейсе, VNC — универсальнее и точнее показывает именно тот экран, который открыт на машине.
Где применяют VNC
Технология остаётся рабочей в нескольких типовых сценариях. Все они объединены одним: нужен доступ к экрану, а не к отдельному приложению.
- Администрирование серверов Linux с графической оболочкой.
- Поддержка сотрудников, когда нужно увидеть их рабочий стол.
- Доступ к компьютеру без монитора: терминалы, киоски, стенды.
- Помощь коллеге на другой операционной системе.
- Демонстрация экрана на нескольких клиентах одновременно.
В организациях VNC чаще берут для отдельных задач, а не как основной канал поддержки: в базовых реализациях мало средств контроля доступа.
Безопасность VNC
Безопасность зависит от реализации и настроек. Встроенных средств у классического VNC немного, поэтому защиту строят вокруг протокола.
Первый уровень — пароль на сервере. В классической схеме аутентификации его длина ограничена восемью символами, что снижает стойкость. Пароль стоит делать сложным настолько, насколько позволяет реализация, и менять его после смены подрядчика.
Второй уровень — шифрование канала. Трафик VNC заворачивают в SSH-туннель или пропускают через VPN. Тогда изображение и события ввода идут внутри защищённого соединения.
Третий уровень — ограничение доступа по сети. Порт VNC не публикуют в интернет, а открывают только для нужных адресов через брандмауэр.
Важно! Открытый в интернет VNC-сервер со слабым паролем находят сканеры за считаные часы. Подключение через туннель или VPN — не перестраховка, а обязательное условие.
Плюсы и минусы
У технологии есть сильные стороны, ради которых её до сих пор используют, и ограничения, о которых стоит знать заранее.
| Плюсы | Минусы |
|---|---|
| открытый протокол и много совместимых программ | нет шифрования в базовой версии |
| работает на любых платформах | высокий трафик при активной работе |
| показывает реальный экран машины | скромный контроль прав и журналы |
| бесплатные реализации | настройка сети на стороне пользователя |
Минусы объясняют, почему в компаниях рядом с VNC часто работает отдельная программа удалённого доступа с ролями и журналом.
VNC и российские решения
VNC удобен как открытый стандарт, но корпоративные требования к контролю он закрывает частично. Здесь появляются отдельные продукты, в том числе российские.
PCDesk — российское ПО из Единого реестра российского программного обеспечения. Программа работает через собственный протокол, а не через RFB, и использует порт 443 по TCP и UDP, поэтому подключение проходит в сетях с фильтрацией нестандартных портов.
Отличия от VNC проявляются в управлении доступом. В PCDesk есть роли, группы и матрица разрешений: удалённое управление, передача файлов, буфер обмена, звук, запись сессий, терминал и печать включаются отдельно. Журнал фиксирует подключения, а записи сеансов хранятся на серверах в России.
Содержимое сессии шифруется сквозным образом, поэтому промежуточный сервер пересылает уже зашифрованные данные. Для VNC такую защиту приходится строить отдельно — через SSH-туннель или VPN.
Вопросы и ответы
Ниже — короткие ответы на частые вопросы.
Что означает аббревиатура VNC?
Virtual Network Computing, виртуальные сетевые вычисления. Название подчёркивает идею: вычислительная среда остаётся на удалённой машине, а пользователь работает с её изображением.
VNC и RDP — это одно и то же?
Нет. RDP передаёт команды отрисовки интерфейса и создаёт отдельный сеанс, а VNC передаёт пиксели экрана и подключается к уже существующему рабочему столу.
Нужен ли VNC, если есть RDP?
RDP удобнее для работы в Windows, но не подходит для Linux-серверов с графической оболочкой и не показывает уже открытый экран другого пользователя. В этих случаях VNC полезнее.
Можно ли подключиться к VNC из браузера?
Да, для этого есть веб-клиенты, например noVNC. Они работают через браузер, но требуют настроенного сервера и защищённого канала.
Шифрует ли VNC трафик?
Базовая версия протокола RFB не шифрует данные. Защиту обеспечивают SSH-туннель, VPN или шифрование в конкретной реализации сервера.
Сколько человек может смотреть один экран?
Многие серверы допускают несколько одновременных клиентов. Точное число зависит от реализации и настроек, а при активной работе нескольких пользователей нагрузка на канал растёт.
Чем VNC отличается от программы удалённого доступа?
VNC — протокол, а программы удалённого доступа добавляют к передаче экрана роли, журналы, запись сессий и обход ограничений сети. Выбор зависит от того, нужен разовый доступ или управляемый парк компьютеров.