Одним из эффективных способов организации дистанционного доступа и контроля удаленной рабочей станции является технология VNC (Virtual Network Computing), разработанная в лаборатории Olivetti & Oracle Research Lab, ставшей впоследствии частью AT&T. Исходная реализация VNC была выпущена с открытыми исходниками под лицензией GPL, а среди его современных вариаций есть как коммерческие, так и бесплатные.
Отличительные черты VNC — это в первую очередь впечатляющая платформонезависимость, включающая реализации для десятков операционных систем, сравнительная простота используемого протокола RFB (Remote Frame Buffer — удаленная видеопамять), а также хорошая совместимость различных реализаций серверов и клиентов.
Первые open source-реализации VNC стали доступны начиная с 1998 года. В 2002 году в Великобритании изобретателями VNC-технологии была основана компания RealVNC (realvnc.com), развивающая коммерческие реализации VNC.
В настоящее время на сайте компании-разработчика предлагается три варианта поставки продукта — Free Edition, Personal Edition и Enterprise Edition, для двух последних возможно 30-дневное Trial-использование. RealVNC является поистине кроссплатформной системой: на download-странице сайта можно найти версии под Windows, Linux, Solaris, HP-UX и Mac OS. Разработчики также обещают поддержку Microsoft PocketPC, которая в данный момент находится в бета-тестировании. Реализуются соединения и через HTTP с использованием Java-апплетов.
RealVNC-сервер допускает запуск в режимах приложения и сервиса, два способа аутентификации — обычную с паролем и на основе учетных записей NT, а также имеет функцию шифрования трафика на основе 128-битного AES алгоритма (в платных версиях). Free Edition шифрование не поддерживает, а сам по себе VNC не считается безопасным протоколом, поэтому соединения по нему рекомендуется устанавливать поверх SSH— или VPN-туннелей.
Скорость обновления изображения в клиентской части системы удаленного контроля во многом определяется эффективностью видеозахвата на сервере. Сервер RealVNC может использовать три метода: обычный, когда регистрируется изменение содержимого всего экрана, метод с применением hook-техники, предусматривающей перехват сообщений к окнам, и захват с помощью mirror-драйвера. Бесплатная и пробные платные версии сервера допускают только первый, самый медленный тип захвата.
Клиент (вьюер) представляет собой простое окно без инструментальной панели — все опции программы доступны из контекстного меню, в частности, метод кодирования и количество цветов, используемых для отображения в окне клиента. Впрочем, последний параметр, как показывает практика, почти не влияет на время отклика.
В целом интерфейсы как сервера, так и клиента довольно аскетичны и имеют небольшое количество настроек. Интересно, что для передачи файлов между машинами не предусмотрено отдельного диалога, а используются стандартные средства Copy/ Paste (копирование — из окна вьюера, а вставка — уже в локальные папки). При первом запуске непонятно, есть ли эта функция вообще, если бы не малозаметный checkbox «Enable file transfer» в опциях вьюера.
Лицензионная версия RealVNC-сервера доступна в двух вариантах: Enterprise ($50), и Personal ($30).
TightVNC и Ultr@VNC являются открытыми вариантами систем удаленного контроля на основе VNC. TightVNC (рис. 1) так же как и RealVNC представляет собой кроссплатформный продукт, хоть и с гораздо более скромным списком поддерживаемых ОС — для скачивания доступны версии только под Windows и Linux. На момент написания статьи на сайте разработчика помимо стабильной предлагалась еще и development-версия, наделенная рядом новых свойств, в частности, поддержкой многомониторных конфигураций.
Наверное, каждая программа в чем-то проигрывает другим, но в то же время содержит полезные функции, присущие только ей. Так и TightVNC — не поддерживает NT-аутентификацию и шифрование данных, зато имеет весьма любопытную особенность — возможность трансляции клиенту не всего пространства рабочего стола, а лишь определенного окна или произвольно выбранной прямоугольной области. Такая функция может быть полезной, например, для задач дистанционного обучения, когда нужно сосредоточить внимание учащихся на каком-то определенном приложении, или же в целях безопасности.
Ultr@VNC (рис. 2) немного отличается по функциональности от предыдущих продуктов. В частности, в нем реализован текстовый чат и возможность отправки на удаленную машину любой комбинации клавиш, которые могут быть перехвачены ОС (а не только специфических предопределенных Ctrl+ Alt +Del, Ctrl+Esc и т. д.). Шифрование трафика при передаче возможно с использованием плагинов. Ultr@VNC реализована только для Windows-систем, но благодаря встроенному Java-вьюеру возможен доступ из любых других ОС через браузер.
Ultr@VNC — единственная из рассматриваемых VNC-систем, которая оказалась способна передавать с удаленного экрана видеоизображение. А вот у остальных программ способ захвата картинки не позволяет увидеть в окне «Универсального проигрывателя» ничего, кроме черного квадрата. Стоит отметить также, что программа имеет самый приятный пользовательский интерфейс.
Среди VNC-систем TightVNC явно остается немного позади, в вот из двух других выделить лидера трудно — обе программы находятся примерно на одном уровне, и существенных функциональных преимуществ даже у коммерческого RealVNC перед его бесплатным собратом не видно (разве что многоплатформность).
Famatech RAdmin (radmin.com, radmin.ru) давно завоевал право считаться одним из лучших «друзей» системных администраторов Windows, которые по достоинству оценили его качества.
На сайте разработчика лежит бета-версия нового RAdmin 3.0, который существенно отличается от предыдущих: в «тройке», в частности, реализована новая система безопасности, встроены текстовый и голосовой чаты, обновлены элементы интерфейса.
Кардинальным отличием нового RAdmin’а от предыдущих версий является наличие нового драйвера видеозахвата (Video Hook Driver), что, по словам разработчиков, значительно оптимизирует работу программы по скорости. Видимо, именно благодаря ему в новой версии стал возможен нормальный захват видеоизображения.
Для удобства дистрибутив разделен на серверную и клиентскую части, которые можно устанавливать отдельно. Клиентская часть RAdmin 3.0 почти полностью совместима с серверной частью Radmin 2.х, а вот наоборот, получить доступ к третьему серверу со старого клиента, не удастся.
Клиентская часть системы предоставляет удобный способ хранения профилей удаленных рабочих станций, позволяет использовать отдельные функции доступа (управление через текстовый интерфейс telnet, передача файлов) без предварительной загрузки изображения удаленного десктопа, либо активировать их поочередно уже в процессе работы, а сервер дает возможность гибко настраивать разрешения на включение определенных функций каждому из пользователей отдельно.
Особенно приятно, что в клиенте RAdmin можно изменять не только цветовую глубину изображения, но также регулировать частоту обновлений удаленного экрана, что позволяет подстраиваться под полосу пропускания конкретного канала и гибко регулировать нагрузку на сервер.
Перечисленные программы относятся к легковесным и «бюджетным» решениям. О более дорогих и навороченных корпоративных продуктах речь пойдет во второй части статьи.
Продолжение следует.