Какой порт vnc. Подключение к виртуальному серверу по VNC. Редактирование файла конфигурации XDMCP

Бесплатные сетевые утилиты от Nirsoft

    Краткое описание и ссылки для скачивания набора утилит с сайта nirsoft.net. Все программы распространяются бесплатно. Практически для всех утилит, имеется возможность скачать инсталляционный файл или переносимую версию программы, упакованную в zip-архив. В конце каждой страницы с описанием программы сайта nirsoft.net имеется ссылка для скачивания пакетов поддержки различных языков, включая русский. Процесс русификации очень прост - разархивируйте архив языковой поддержки и скопируйте полученный ini-файл в каталог с программой.

CurrPorts CurrPorts (cports.exe) - программа мониторинга сетевых соединений. Позволяет просматривать список активных соединений и открытых TCP/IP и UDP портов на данном компьютере. Для каждого порта выводится информация о процессе, открывшем порт, включая имя, путь к исполняемому файлу, версию и дополнительные сведения, время создания процесса и учетная запись пользователя, создавшего процесс.
Дополнительно, CurrPorts позволяет закрыть (close) нежелательное соединение и принудительно завершить процесс (kill process), создавший его. Также, имеется возможность сохранить данные мониторинга в формате HTML , XML, TXT.
SmartSniff SmartSniff позволяет перехватывать TCP/IP пакеты, следующие через выбранный сетевой адаптер и просматривать перехваченные данные в виде последовательности сессий обмена данными между клиентом и сервером. Данные могут быть представлены в виде текста ASCII или в виде шестнадцатеричного дампа.
NetworkTrafficView NetworkTrafficView - утилита сбора статистических данных о сетевом трафике для выбранного адаптера. Выводится статистика по адресам источника и приемника, портам, протоколам, максимальной скорости передачи данных, длительности соединений, идентификаторам и именам программ, выполнявших обмен данными по протоколу TCP.
HTTPNetworkSniffer v1.00 HTTPNetworkSniffer пакетный сниффер, выполняющий перехват всех данных обмена между браузером и веб-сервером по протоколу HTTP. Для каждого HTTP запроса отображается информация об имени узла (Host Name), методе HTTP (GET, POST, HEAD), пути URL , поля User Agent, коде ответа (Response Code), строке ответа (Response String), полей Content Type, Referer, Content Encoding, Transfer Encoding, Server Name, Content Length, Cookie String, и т.п.
Имеется возможность экспорта сессий в буфер обмена или text/html/xml/csv файл.
AdapterWatch AdapterWatch отображает общую информацию о сетевом адаптере - IP адрес, MAC адрес (Hardware address), WINS сервер, DNS сервер, значение MTU, число принятых /переданных байтов, текущую скорость передачи, статистику TCP/IP/UDP/ICMP.
DownTester DownTester - позволяет определить скорость скачивания для веб-серверов, список которых задается в виде URL вручную или в содержимом текстового файла. Результаты можно сохранить в формате html/xml/csv/text
Wireless Network Watcher Wireless Network Watcher - небольшая утилита для сканирования беспроводной сети и создания списка подключенных к ней компьютеров и устройств с отображением IP и MAC адресов, данных о сетевом адаптере и имени компьютера. Список можно экспортировать в html/xml/csv/text файл, или скопировать в буфер обмена для дальнейшей вставки в страницы Excel или другого приложения.
NetResView NetResView - небольшая программа для отображения списка сетевых ресурсов локальной сети, включая имена компьютеров, версии операционных систем, данные о сетевых принтерах и каталогах.
PingInfoView PingInfoView небольшая утилита для опроса узлов по именам или IP-адресам с возможностью задания количества и интервалов пинга. Аналог стандартной консольной программы ping.exe. Результаты можно сохранить в html/xml/csv/text файл.
FastResolver FastResolver небольшая утилита для быстрого определения имен узлов по IP -адресам. Для локальной сети позволяет быстро получить список IP и MAC адресов компьютеров.
BluetoothView BluetoothView - небольшая программа, выполняемая в фоновом режиме для мониторинга активности устройств Bluetooth . Для каждого обнаруженного устройства отображается имя (Device Name), адрес (Bluetooth Address), тип устройства, время первого и последнего обнаружения.
BluetoothView может оповещать пользователя при обнаружении нового Bluetooth-устройства с помощью короткого звукового сигнала и всплывающего окна.
WirelessNetView WirelessNetView - небольшая программа, выполняемая в фоновом режиме для обнаружения беспроводных сетей Wi-Fi в зоне доступности данного компьютера. Для каждого узла отображается имя, MAC-адрес, уровень сигнала, алгоритм аутентификации, количество каналов и т.п.
IPNetInfo IPNetInfo - программа, позволяющая быстро получить подробную информацию о конкретном IP-адресе. Отображаются данные о владельце, стране, диапазоне адресов подсети, контактной информации.
WhoisThisDomain WhoisThisDomain позволяет быстро получить информацию о зарегистрированном домене. Выполняет автоматическое подключение к WHOIS серверу, соответствующего домена и отображение записи WHOIS.
DNSDataView DNSDataView - альтернатива стандартной консольной утилите nslookup.exe. Позволяет получить записи DNS для заданного доменного имени. Результаты можно сохранить в text/xml/html/csv файл
NetRouteView NetRouteView - GUI-аналог стандартной консольной программы route.exe семейства ОС Windows. Отображает текущую таблицу маршрутизации и позволяет легко добавлять новые маршруты а также изменять и удалять существующие.

Бесплатные сетевые программы Virtual Network Computing (VNC).

    Virtual Network Computing (VNC) - система удалённого доступа к рабочему столу компьютера, использующая протокол прикладного уровня RFB (Remote FrameBuffer) . Управление удаленным компьютером осуществляется путём передачи нажатий клавиш на клавиатуре и перемещений указателя мыши с одного компьютера на другой через сеть. На управляемом компьютере используется серверная часть VNC (VNC server), на управляющем - клиентская (VNC viewer) . VNC не зависит от систем, в которых она функционирует и, например, клиент для Linux может подключаться к серверу VNC работающему в среде Windows. Также существуют и реализации VNC для Java, в том числе и для мобильных телефонов.

Протокол RFB был разработан относительно давно и первоначально использовал для передачи буфера экрана метод простого кодирования Raw Encoding - когда сервер передавал клиенту точки экрана в порядке слева на право и сверху вниз. После передачи первого буфера в дальнейшем, для минимизации трафика, передавались только изменившиеся пиксели. При таком способе кодирования и небольшой степени изменения изображения трафик минимален, однако, например, при просмотре видео - нагрузка на канал передачи резко возрастает, поскольку в буфере экрана будут изменяться практически все пиксели. Для минимизации обменного трафика, системы VNC стали использоваться различные методы кодирования и сжатия передаваемых данных. Не все методы являются стандартом для каждой реализации VNC. Если метод RAW Encoding может использоваться в любой VNC-системе, то специфические методы (CopyRect, Zlib, CoRRE и др.) зависят от используемого программного обеспечения и могут отличаться для разных версий VNC. Возможности по кодированию передаваемых данных клиент и сервер согласовывают при установлении соединения.

По умолчанию для обмена данными по протоколу RFB используется диапазон TCP-портов с 5900 до 5906. Каждому порту соответствует свой экран графического сервера (в Linux - терминалы 0 - 6 X-сервера, в Windows - рабочий стол с номером дисплея 0 и TCP порт 5900). В некоторых реализациях VNC возможно обратное подключение от сервера к клиенту через TCP порт 5500.

Многие бесплатные реализации VNC имеют коммерческий вариант, отличающийся дополнительными возможностями по обеспечению удобства использования, повышенной безопасности и производительности.

Одним из наиболее простых и удобных представителей семейства VNC является RealVNC . Продукт выпускается в 3-х вариантах:

- Free Edition - бесплатная версия с поддержкой базовых возможностей серверной и клиентской части.
- Personal Edition - платная версия для использования в домашних условиях и в малом бизнесе. Добавлены возможности шифрования данных, чат, удаленная печать.
- Enterprise Edition - коммерческая версия с улучшенной аутентификацией, шифрованием данных, удаленной печатью, чатом, передачей файлов.

Инсталлятор включает в себя и серверную, и клиентскую части. Сервер может быть сконфигурирован для запуска в пользовательском режиме (User-Mode) или в качестве системной службы (Service-Mode). В режиме системной службы запуск сервера выполняется автоматически в процессе загрузки Windows. В таком режиме VNC-сервер готов к приему входящих подключений без входа пользователя в систему и каких-либо его действий. В пользовательском режиме, сервер запускается вручную или через автозапуск, как обычная прикладная программа.

Конфигурирование VNC-сервера выполняется либо с помощью вызова контекстного меню щелчком правой кнопки мышки на иконке в панели задач Windows (пункт меню "Options"), либо запуском с использованием ярлыков в меню "Программы" -"RealVNC" - "VNC-Server: "- "Configure VNC Server" . В процессе конфигурирования сервера выполняются минимальные настройки - способ аутентификации и пароль для подключения (вкладка Authentication ):

No Authentication - запрос пароля при подключении клиента к серверу не выполняется.
VNC Password Authentication - подключение к серверу с проверкой пароля, заданного настройками сервера. Пароль задается при нажатии кнопки Configure . Во многих бесплатных версиях VNC используется пароль длиной в 8 символов. Если задать пароль большей длины, то для проверки все равно будут использоваться первые 8 символов, что делает такой сервер весьма уязвимым для взлома с использованием подбора пароля. Тем более, что количество попыток ввода пароля не проверяется. В платных версиях безопасность значительно улучшена, поскольку можно использовать длинные пароли, шифрование данных и проверку доступа с использованием средств Windows (режим NT Logon Authentication )

Настройки соединения выполняются на вкладке Connections :

Accept connection on port - принимать соединения на порт TCP 5900. Номер порта, при необходимости, можно изменить.
Disconnect idle client after (seconds) - время неактивности клиента в секундах, по истечении которого, соединение будет сброшено.
Serve Java viewer via HTTP on port - обслуживать подключения Java-клиента, подключающегося по протоколу HTTP на порт 5800. При использовании этого пункта конфигурации, подключение к VNC - серверу возможно в окне браузера с поддержкой Java.
В поле Access Control можно задать правила обработки подключений для отдельных IP-адресов или подсетей. Для каждой записи возможно 3 варианта предопределенного действия:

Allow - Разрешить подключение. В окне со списком адресов, отображается со знаком + перед адресом.
Deny - Запретить подключение. В окне со списком адресов, отображается со знаком - перед адресом.
Query - Выдать запрос на разрешение подключения.. В окне со списком адресов, отображается со знаком ? перед адресом.

Режимы обслуживания подключений клиентов настраиваются на вкладке Sharing :

Always treat new connection as shared - всегда трактовать новое соединение как разделяемое.
Never treat new connection as shared - никогда не трактовать новое соединение как разделяемое.
Use client"s preferred sharing settings - использовать установки клиента для определения разделяемого соединения.
Non shared connection replace existing ones - не разделяемое соединение заменяет существующее. При установке данного режима, подключение нового клиента с признаком неразделяемого соединения, сервер выполнит сброс всех остальных подключений. Для подключения множества клиентов к одному серверу флажок нужно снять.

Вкладка Desktop определяет параметры обработки буфера рабочего стола при подключении клиентов VNC, и выполняемые действия после отключения от сервера последнего из них. .

While connected - действия при подключении клиента к серверу VNC
Установка флажков для каждого из полей уменьшает трафик при обмене буфером рабочего стола, но немного упрощает его внешний вид. Желательно включать при низком быстродействии канала передачи данных.

When last client disconnects - когда последний клиент отключится.
- Do nothing - ничего не делать.
- Lock Workstation - запереть рабочий стол. Сеанс пользователя не завершается, но для продолжения работы с рабочим столом нужно ввести имя пользователя и пароль.
- Logoff user - выполнить выход пользователя из системы.

Режимы вкладки Inputs определяют взаимодействие между клиентом и сервером при обработке событий клавиатуры и мышки. Режим "Disable local inputs while server in use" отключает клавиатуру и мышь на удаленном компьютере при подключении к серверу VNC.

Вкладка Capture method задает режим обработки изображения рабочего стола при передаче данных от сервера к клиенту и обработку прозрачных окон (Alpha - blended windows). Изменение режимов влияет на объем трафика между клиентом и сервером, а также степень использования ресурсов центрального процессора при обработке буфера рабочего стола.

Настройки сервера RealVNC хранятся в разделе реестра HKLM\SOFTWARE\RealVNC\WinVNC4

Клиент Real VNC Viewer после запуска выдает на экран окно подключения к серверу. В поле ввода используется имя или IP-адрес удаленного компьютера, и при необходимости - номер порта, например 5909:

Кнопка Options позволяет настроить режимы для клиентской части RealVNC. В окне настрое имеется вкладка Load / Save с помощью которой можно сохранить текущие настройки в файл с расширением .vnc или загрузить ранее сохраненные настройки из файла. Это позволяет иметь несколько профилей настроек для подключения к разным серверам VNC. Настройки по умолчанию рассчитаны на среднюю производительность и среднее качество отображения рабочего стола.

Вкладка Color & Encoding позволяет выбрать режим кодирования данных при передаче буфера рабочего стола и глубину его цвета. Имеется возможность выбора одного из 3-х предпочитаемых типов кодирования или установить режим Auto Select - когда выбор выполняется автоматически при установлении соединения с сервером VNC.

Глубина цвета Color Level определяет качество отображения удаленного рабочего стола и объем передаваемых данных от сервера к клиенту. Минимальный трафик и наихудшее изображение соответствует режиму Very Low (8 colours

Настройки вкладки Inputs во многом сходны с настройками сервера и относятся к параметрам устройств ввода - клавиатуры и мыши

Поле Menu Key - определяет специальную клавишу для вызова меню взаимодействия клиента с удаленным рабочим столом. Используется для передачи специальных кодов клавиш (CTRL, ALT, CTRL-ALT-DEL:) По умолчанию в качестве клавиши меню используется F8 . Кроме передачи специальных кодов клавиш, нажатие F8 позволяет вызвать меню настроек клиента, перейти в полноэкранный режим, создать новое подключение и посмотреть информацию о текущем (Connection Info:) . Информация о текущем соединении включает IP-адрес и имя удаленного сервера, разрешение экрана, формат пикселей, метод кодирования, используемый протокол, приблизительную скорость обмена данными.

    Для установки серверной части на удаленном компьютере можно воспользоваться бесплатной утилитой pushVNC . Программа позволяет системным администраторам выполнять установку VNC сервера на удаленном компьютере по локальной сети без какого-либо вмешательства конечного пользователя.

Для подключения к удаленному компьютеру требуется учетная запись с правами администратора. Кроме того, на удаленном компьютере должны быть доступны скрытые сетевые ресурсы ADMIN$ и IPC$ и должна работать служба удаленного управления реестром. Программа копирует несколько своих файлов для создания VNC - сервера на удаленный компьютер, регистрирует в реестре новый сервис PushVNC и выполняет его запуск. Затем выполняется обычное клиентское подключение к удаленно созданному серверу. Если не установлен режим Leave Service , то после завершения сеанса созданный сервер и скопированные по сети файлы удаляются.

RealVNC - одна из простых и удобных бесплатных реализаций VNC. Кроме нее имеется еще несколько десятков, отличающихся в незначительной степени. Например, популярный пакет UltraVNC имеет практически такие же настройки, как и RealVNC, но позволяет использовать большее количество методов кодирования данных, шифрование даже в бесплатной версии, можно использовать специальный собственный драйвер для обработки буфера рабочего стола. И так же как RealVNC, сервер UltraVNC в бесплатной редакции выполняет усечение пароля до 8 символов. Ниже приведены ссылки и краткое описание бесплатных реализаций VNC на проекте SourceForge.

Программы семейства VNC проекта SourceForge.net

    SourceForge.net - один из самых больших в мире веб-сайтов для разработчиков открытого программного обеспечения, который обслуживается SourceForge, Inc. и использует собственническую систему SourceForge. На этом сайте разработчики могут размещать и совместно разрабатывать свои программные проекты. На SourceForge.net размещены более 230 тыс. проектов, а количество зарегистрированных пользователей составляет около 2 млн. человек.
Многие проекты, опубликованные на sourceforge.net имеют свой собственный сайт, ссылка на который размещена на странице с кратким описанием программного продукта.

TightVNC - наиболее популярный продукт семейства VNC, улучшенная реализация с кодировкой "Tight" обеспечивающей снижение трафика между клиентом и сервером, и возможностью передачи файлов.
TigerVNC - реализация VNC, основанная на доработке проектов TightVNC и TurboVNC . Отличается улучшенной компрессией JPEG .
EchoVNC - реализация клиента VNC с улучшенной защищенностью. Имеется поддержка подключений к серверам VNC, Remote Desktop, и RAdmin. Расширенная панель инструментов позволяет оптимизировать работу с выбранным сервером.
Flashlight-VNC - клиент (VNC Viewer), написанный на Flash.
Flashlight VNC Recorder - дополнение к проекту Flashlight VNC с возможностью записи сессии.
Delphi VNC Server VNC сервер, написанный на Delphi.
MultiVNC VNC клиент с поддержкой большого количества методов кодирования данных
LightVNC реализация сервера VNC только с поддержкой подключений по протоколам HTTP и HTTP(S). В качестве клиентского программного обеспечения используется веб-браузер. Позволяет подключаться к удаленному рабочему столу устройствам, не имеющим клиентской части VNC - смартфонам, игровым консолям, планшетным компьютерам.
ThinVNC - реализация VNC с использованием HTML5 и технологии AJAX. В качестве клиента должен использоваться браузер с поддержкой HTML5 - Mozilla FireFox, Chrome, Opera.
pushVNC7 - удаленная установка по локальной сети и запуск сервера VNC на рабочих станциях Windows 7. Реализация проекта pushVNC для Windows 7.
Простой набор инструментов для установки UltraVNC на удаленном компьютере без каких-либо действий пользователя и незаметно для него.

Virtual Network Computing (VNC ) система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть .

Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе , может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для J2ME). К одному VNC-серверу одновременно могут подключаться множественные клиенты. Наиболее популярные способы использования VNC - удалённая техническая поддержка и доступ к рабочему компьютеру из дома.

VNC была разработана компанией AT&T. Оригинальные исходные коды доступны на условиях лицензии GNU General Public License , как и многие варианты VNC, существующие на данный момент.

История

VNC была создана в Olivetti & Oracle Research Lab, которая в то время принадлежала Oracle Corporation. В 1999 году лаборатория была приобретена компанией AT&T, которая закрыла отдел разработок в 2002-м .

Название возникло из компьютерной сети тонких клиентов Videotile, которая представляла из себя LCD-панель с вводом пером и быстрым

Разработчики, работавшие над VNC в AT&T Research Lab:

  • Tristan Richardson
  • Quentin Stafford-Fraser
  • James Weatherall
  • Ken Wood
  • Andy Harter
  • Charlie McLachlan
  • Paul Webster

Устройство

VNC состоит из двух частей: клиента и сервера. Сервер - программа, предоставляющая доступ к экрану компьютера, на котором она запущена. Клиент (или viewer) - программа, получающая изображение экрана с сервера и взаимодействующая с ним.

VNC - очень простой протокол, основанный на графических примитивах: «Положить прямоугольник пиксельных данных на заданную координатами позицию». Сервер посылает небольшие прямоугольники клиенту. Такая схема в своей примитивной форме потребляет большую часть пропускной возможности канала. Для снижения нагрузки на канал используются различные методы. Существуют различные кодировки - методы определения наиболее эффективного способа передачи этих прямоугольников. Протокол VNC позволяет клиенту и серверу «договориться» о том, какая кодировка будет использована. Самый простой метод кодирования, поддерживаемый всеми клиентами и серверами - «raw encoding», при котором пиксели передаются в порядке слева-направо, сверху-вниз, и после передачи первоначального состояния экрана передаются только изменившиеся пиксели. Этот метод работает очень хорошо при незначительных изменениях изображения на экране (движения указателя мыши по рабочему столу, набор текста под курсором), но загрузка канала становится очень высокой при одновременном изменения большого количества пикселей, например, при просмотре видео в полноэкранном режиме.

По умолчанию VNC использует диапазон TCP-портов с 5900 до 5906. Каждый порт представляет собой соответствующий экран X-сервера (порты с 5900 по 5906 ассоциированы с экранами с:0 по:6). Java-клиенты, доступные во многих реализациях, использующих встроенный web-сервер для этой цели, например, в RealVNC, связаны с экранами таким же образом, но на диапазоне портов с 5800 до 5806. Многие компьютеры под управлением ОС Windows могут использовать лишь один порт из-за отсутствия многопользовательских свойств, присущих

Также существует возможность обратного подключения от сервера к клиенту. В этом случае клиент переводится в слушающий (Listening) режим и соединение инициируется сервером на 5500 TCP-порт клиента.

Порты могут быть изменены.

Безопасность

Изначально VNC не использует шифрование трафика, однако в процедуре аутентификации пароль не передается в открытом виде, а используется алгоритм "вызов-ответ" с и используется как при соединении через Интернет , так и в локальных сетях . SSH-клиенты позволяют создавать SSH-туннели как со всех основных платформ (Windows,

Также многие современные версии VNC поддерживают расширения стандартного протокола, которые реализуют шифрование и/или сжатие VNC-трафика, разграничения по спискам доступа (англ.) - официальная версия, поддерживаемая командой AT&T Laboratories

  • TightVNC (англ.) - альтернативная версия основанная на RealVNC
  • UltraVNC (англ.) - реализация VNC под Microsoft Windows
  • Vinagre (англ.) - VNC-клиент для рабочего окружения GNOME ОС Какое программное обеспечение VNC лучше?
  • Wikimedia Foundation . 2010 .

    Смотреть что такое "VNC" в других словарях:

      VNC - son las siglas en inglés de Virtual Network Computing (Computación Virtual en Red). VNC es un programa de software libre basado en una estructura cliente servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de … Wikipedia Español

      VNC - son las siglas en inglés de Virtual Network Computing (Computación en Red Virtual). VNC es un programa de software libre basado en una estructura cliente servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de … Enciclopedia Universal

      REDIRECT Virtual Network Computing … Википедия

      VNC - typische VNC Sitzung in einem Fenster Virtual Network Computing (VNC) ist eine Software, die den Bildschirminhalt eines entfernten Rechners (Server) auf einem lokalen Rechner (Client) anzeigt und im Gegenzug Tastatur und Mausbewegungen des… … Deutsch Wikipedia

    Оригинал: Introduction to VNC
    Автор: Paul Cobbaut
    Дата публикации: 12 марта 2015 г.
    Перевод: A. Панин
    Дата перевода: 2 апреля 2015 г.

    Приложение B. Краткая информация о протоколе VNC

    B.1. Информация о протоколе VNC

    Возможность доступа к рабочему столу по протоколу VNC может быть активирована в окружениях рабочего стола GNOME или KDE на странице настроек удаленного рабочего стола (Remote Desktop Preferences). Протокол VNC может использоваться для доступа к рабочему столу вашего компьютера с другого компьютера, причем вы также можете использовать данный протокол для доступа к рабочему столу другого пользователя. Последний вариант использования протокола может оказаться полезным для демонстрации пользователям методики выполнения тех или иных задач. Главным преимуществом протокола VNC является независимость от используемых операционных систем, причем имеется множество приложений, которые поддерживают данный протокол (realvnc, tightvnc, xvnc, ...) и предназначены для использования в операционных системах Solaris, Linux, BSD и других.

    B.2. Сервер VNC

    Методика первоначального запуска сервера VNC.

    # rpm -qa | grep -i vnc vnc-server-4.0-8.1 vnc-4.0-8.1 # vncserver:2 You will require a password to access your desktops. Password: Verify: xauth: creating new authority file /root/.Xauthority New "RHELv4u3.localdomain:2 (root)" desktop is RHELv4u3.localdomain:2 Creating default startup script /root/.vnc/xstartup Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/RHELv4u3.localdomain:2.log #

    B.3. Клиент VNC

    Теперь вы можете использовать клиент vncviewer с другой машины для соединения с вашим сервером VNC. По умолчанию будет использоваться простой графический интерфейс...

    Paul@laika:~$ vncviewer 192.168.1.49:2 VNC viewer version 3.3.7 - built Nov 20 2006 13:05:04 Copyright (C) 2002-2003 RealVNC Ltd. Copyright (C) 1994-2000 AT&T Laboratories Cambridge. See http://www.realvnc.com for information on VNC. VNC server supports protocol version 3.8 (viewer 3.3) Password: VNC authentication succeeded Desktop name "RHELv4u3.localdomain:2 (root)" Connected to VNC server, using protocol version 3.3 ...

    Если вы не желаете использовать простой оконный менеджер twm, вы можете закомментировать две последних строки файла ~/.vnc/xstartup и добавить строку gnome-session & для использования окружения рабочего стола GNOME по умолчанию при соединении с системой посредством протокола VNC.

    # cat .vnc/xstartup #!/bin/sh # Uncomment the following two lines for normal desktop: # (Раскомментируйте две следующие строки для использования полноценного окружения рабочего стола:) # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & # xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & # twm & gnome-session & #

    Не забудьте перезапустить ваш сервер VNC после модификации данного файла.

    # vncserver -kill:2 Killing Xvnc process ID 5785 # vncserver:2 New "RHELv4u3.localdomain:2 (root)" desktop is RHELv4u3.localdomain:2 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/RHELv4u3.localdomain:2.log

    B.4. Практическое задание: краткая информация о протоколе VNC

    1. Используйте протокол VNC для доступа к рабочему столу другой машины.

    VNC - это система удаленного управления десктопом компьютера. Пользователь VNC клиента видит изображение десктопа VNC сервера и управляет им мышью и клавиатурой так же, как своим собственным компьютером.

    VNC сервер можно запустить на рабочем комьютере, и по необходимости заходить на него из дома. Или наоборот. Для соединения надо убедиться, что TCP порт, используемый сервером (по умолчанию 5900) доступен для входящих соединений от клиента.

    UltraVNC берется на . Другие известные реализации VNC - RealVNC и TightVNC , еще варианты можно найти . Теоретически они все совместимы между собой, хотя некоторые специальные функции (clipboard или file transfer) могут между разными реализациями не работать.

    Помогаем новичкам

    Удобен VNC и для помощи другим пользователям. Помогать, видя происходящее на экране, гораздо проще.

    Однако у очень многих стоят раутеры и файерволы, и нереально требовать от новичка умения открыть для входящих соединений нужный порт. Нам на помощь приходит reverse connection (обратное соединение). В этом режиме соединение инициирует VNC сервер.

    Опытный пользователь запускает у себя VNC клиент в listening mode (режиме слушания порта) (vncviewer.exe /listen ) и делает у себя порт 5500 доступным снаружи. Новичку остается только скачать и запустить VNC сервер и соединиться с клиентом по указанному IP адресу.

    Вот специальная страница с инструкциями для новичка. Думаю, опытному пользователю подробные инструкции не нужны. Отмечу только, что во время соединения clipboard становится общим, и что если у новичка разрешение экрана больше вашего, то в клиенте можно масштабировать изображение до приемлемого размера.

    Дополнительно

    Достоинства VNC - многоплатформенность и бесплатность. Если у вас везде стоит Windows XP, то для удаленного доступа вам вероятно подойдут и встроенные средства - Remote Desktop или Remote Assistance. Вроде бы их тоже можно соединять через reverse connection.

    Если у вас динамический внешний IP адрес, удобно сделать себе (бесплатный) Dynamic DNS, например на dyndns.com . У вас на компьютере будет работать маленькая программка (а в некоторых раутерах есть такая встроенная функциональность), извещающая DynDNS сервис об изменениях вашего IP. Как результат, выбранный вами domain, к примеру pupkin.dyndns.org, будет всегда показывать на ваш текущий IP адрес

    Если вы профессионально занимаетесь технической поддержкой, то вам может быть особенно удобен . Это специальная облегченная версия VNC сервера, которая может делать только reverse connection и только на заранее сконфигурированные вами IP адреса. Конечно, тогда вы должны быть достаточно авторитетны для пользователя, чтобы он согласился скачать и запустить этот сконфигурированный VNC сервер с вашего собственного сайта.
    (А, кого я тут обманываю... Многие пользователи и так запустят все, что им предложат)

    Как помочь своим пользователям получить доступ к многопользовательской Linux-системе из любого места

    Архитектура VNC и X server

    В качестве графического интерфейса пользователя (GUI) в Linux®применяется X Window System (сокращенно X ). X - это необычный GUI в нескольких отношениях, в частности, это изначально сетевой интерфейс. X-сервер , по сути, представляет собой программу сетевого сервера. Программы сетевого сервера предоставляют клиентским программам доступ к локальным ресурсам, и это верно также для X-сервера. Особенность заключается в том, что в случае Х-сервера "локальные ресурсы" – это дисплей, клавиатура и мышь, с которыми работает пользователь. В самой распространенной конфигурации программы Х-клиента работают на том же компьютере, что и сервер. Таким образом, LibreOffice, GNU Image Manipulation Program (GIMP) или другие программы являются X-клиентами, использующими сетевые протоколы Х для приема данных от пользователя и отображения результатов на том же компьютере.

    Однако когда X используется в сети, пользователь сидит за компьютером X-сервера, а X-клиентами служат программы, которые нужно запускать на другом компьютере. Для этой конфигурации требуется второй сетевой протокол, устанавливающий соединение. Таким вторым протоколом может быть telnet, Secure Shell (SSH) или X Display Manager Control Protocol (XDMCP). Сервер этого протокола удаленного входа работает на компьютере X-клиента, а клиент удаленного входа ― на компьютере X-сервера. Сервер удаленного входа запускает X-клиенты, которые, в свою очередь, устанавливают соединение с X-сервером. иллюстрирует это взаимодействие. Пунктирными стрелками обозначено начало сеанса. (В случае XDMCP XDMCP-клиент встроен в программу X-сервера.)

    Рисунок 1. Для удаленного доступа X требуется клиент и сервер на обоих компьютерах

    Эта конфигурация прекрасно работает во многих локальных сетях, но не лишена недостатков. Например, для нее нужно инициировать двусторонний сетевой протокол, а этому может помешать межсетевой экран или маршрутизатор Network Address Translation (NAT). (SSH устраняет это препятствие, позволяя туннелировать X-сеансы.) Кроме того, хотя существуют X-серверы для большинства платформ, они обычно не устанавливаются на компьютерах под управлением Windows®. По этим и иным причинам многие предпочитают использовать другой протокол, Remote Frame Buffer (RFB), который реализован в семействе программ Virtual Network Computing (VNC).

    VNC - это кроссплатформенный инструмент, который обеспечивает удаленный доступ к Linux, UNIX®, Mac OS X, Windows и другим системам из клиента любого типа. Пользователь сидит за клиентским компьютером и обращается к удаленному серверному компьютеру. В Linux VNC-сервер либо зеркально отражает содержимое локального экрана Х-сервера на удаленный компьютер, либо содержит свой собственный X-сервер, способный работать независимо от того, что управляет локальным экраном. Результат показан на рисунке 2. Опять же, пунктирная стрелка указывает начало сеанса. Эта конфигурация устраняет необходимость в обратном сетевом соединении, а так как клиенты и серверы VNC имеются для многих операционных систем, одна и та же клиентская программа обеспечивает доступ к любому серверу.

    Рисунок 2. В состав VNC-сервера входит X-сервер, способный взаимодействовать с локальными программами через X-клиент

    Недостаток VNC заключается в том, что аутентификация RFB основана на паролях без имен пользователей. Таким образом, каждый пользователь должен запускать независимый сеанс VNC-сервера и устанавливать соединение с этим экземпляром VNC, указав правильный номер порта. Это требование терпимо для однопользовательской системы, но вызывает крайние неудобства при работе на многопользовательском компьютере.

    Для решения этой проблемы можно объединить эти два подхода: перенастроить локальный XDMCP-сервер так, чтобы он помогал X-серверу, встроенному в VNC, обеспечить недостающую многопользовательскую аутентификацию. (Результирующая конфигурация иллюстрируется на рисунке 3. Пунктирная стрелка указывает начало сеанса.) Теперь, когда удаленные пользователи VNC обращаются к компьютеру VNC-сервера, они могут вводить имена пользователей и пароли доступа к своим собственным уникальным сеансам VNC, так что с компьютером могут работать сколько угодно пользователей.

    Рисунок 3. Добавление XDMCP к конфигурации VNC обеспечивает повышенную гибкость

    Настройка VNC-сервера

    Существует несколько способов запуска VNC, включая использование сценариев, привязку VNC к среде рабочего стола с помощью настольных инструментов и использование xinetd для прослушивания VNC-соединений. Этот последний подход и описывается здесь, так как он позволяет запускать VNC так, что тот может использовать XDMCP-сервер. Прежде чем перейти к инструкциям по настройке VNC для запуска посредством xinetd , необходимо выбрать VNC-сервер.

    Выбор VNC-сервера

    Существует несколько программ VNC-сервера. (См. раздел ). Некоторые из наиболее популярных: TightVNC, TigerVNC и RealVNC. В этой статье в качестве примера используется TightVNC. К сожалению, детали конфигурации зависят как от сервера, так и от дистрибутива, поэтому приведенные здесь инструкции нужно будет адаптировать к своему программному обеспечению.

    Установка xinetd

    Многие дистрибутивы устанавливают суперсервер xinetd по умолчанию, но не все. Так как описанный здесь метод предполагает использование xinetd , необходимо установить xinetd , если он еще не установлен. В большинстве дистрибутивов xinetd можно установить с помощью менеджера пакетов, например, вызывав apt-get install xinetd в дистрибутивах на основе Debian или zypper install xinetd в openSUSE.

    Может также потребоваться настройка процесса запуска xinetd . Обычно для одноразового запуска можно использовать сценарий запуска System V (SysV):

    # /etc/init.d/xinetd start

    Для настройки автоматического запуска xinetd при загрузке компьютера требуется знание методов работы сценариев запуска своего дистрибутива. Как правило, это делается с помощью утилиты, такой как chkconfig (используется в Fedora, openSUSE и родственных дистрибутивах), update-rc.d (используется в Debian и родственных дистрибутивах) или rc-update (используется в Gentoo), примерно так:

    # chkconfig xinetd on # update-rc.d xinetd enable # rc-update add xinetd default

    Введите только одну из этих команд или найдите эквивалент для своего дистрибутива.

    Заметим, что xinetd может не запускаться, если он не настроен на выполнение каких-либо служб. Так что, возможно, придется отложить его запуск до тех пор, пока вы не настроете xinetd для управления своим VNC-сервером.

    Настройка xinetd

    Серверы, которыми должен управлять xinetd , помещают файлы конфигурации в каталог /etc/xinetd.d. Таким образом, чтобы настроить xinetd на управление VNC, нужно создать или отредактировать файл с именем типа /etc/xinetd.d/vnc. (В некоторых дистрибутивах, таких как openSUSE, пакет VNC-сервера устанавливает такой файл.) В листинге 1 приведен пример.

    Листинг 1. Пример настройки VNC для xinetd
    service vnc { disable = no socket_type = stream protocol = tcp wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -once -query localhost -geometry 1024x768 -depth 16 type = UNLISTED port = 5900 }

    Эта запись задает несколько параметров xinetd , большинство из которых нужно оставить как есть. Ниже перечислены те параметры, которые могут потребовать настройки.

    • service . VNC с разными параметрами можно запустить через несколько портов, но в этом случае в первой строке листинга 1 нужно присвоить VNC отдельное имя службы для каждого порта.
    • server . Этот параметр нужно изменить так, чтобы он указывал на главный двоичный файл VNC-сервера, который обычно называется Xvnc.
    • server_args . Некоторые из этих значений вы почти наверняка захотите изменить, как описано ниже.
    • port . VNC использует порты с номерами 5900 и выше. Можно запустить сервер с разными значениями параметров через разные порты. В этом случае каждому экземпляру нужно назначить свой номер порта.

    Самая каверзная часть настройки xinetd - это настройка аргументов сервера. В качестве модели можно использовать аргументы, приведенные в листинге 1, изменив некоторые из них.

    • -query localhost . Этот параметр указывает, что сервер VNC X должен проверять систему localhost на аутентификацию XDMCP. Его можно изменить, если вы хотите использовать один компьютер в качестве транслятора для доступа к программам другого.
    • -geometry 1024x768 . Этот параметр устанавливает виртуальное разрешение сеанса VNC. Заметим, что это разрешение не обязательно должно соответствовать разрешению обычного X-сервера, работающего на компьютере сервера. Можно создать несколько записей, работающих с разным разрешением, чтобы пользователи могли входить в VNC-сервер с тем разрешением, которое удобно для их локальных систем.
    • -depth 16 . Этот параметр задает глубину цвета. Чем ниже значение, тем быстрее обновляется дисплей, но на экране с большим количеством цветов могут появиться искажения. Диапазон допустимых значений от 2 до 32.

    Имеются многие другие параметры, и некоторые из них зависят от VNC-сервера. Обращайтесь к документации по своему серверу VNC.

    Настройка XDMCP-сервера

    Большинство дистрибутивов Linux настраивают свои XDMCP-серверы только для управления локальным дисплеем. Чтобы обеспечить удаленный доступ, нужно перенастроить XDMCP-сервер так, чтобы принимать запросы на доступ с VNC-сервера, работающего на том же компьютере. Детали зависят от XDMCP-сервера. Три наиболее часто используемых в Linux ― это GNOME Display Manager (GDM), Light Display Manager (LightDM) и KDE Display Manager (KDM). Для других XDMCP-серверов, таких как XDM, требуются настройки, отличные от описанных здесь. В любом случае после перенастройки XDMCP-сервера его придется перезапустить.

    Редактирование файла конфигурации XDMCP

    Если вы не уверены, какой XDMCP-сервер используется в вашей системе, это можно определить, просмотрев листинг процесса с помощью строки dm , например:

    $ ps ax | grep dm 929 ? Ss 0:00 /usr/bin/kdm 962 tty7 Ss+ 0:19 /usr/bin/Xorg -br:0 vt7 -nolisten tcp -auth \ /var/lib/xdm/authdir/authfiles/A:0-pp4shb 30157 pts/3 S+ 0:00 grep --color=auto dm

    В первой строке этой распечатки указано, что работает KDM, поэтому для того чтобы VNC мог использовать XDMCP, нужно отредактировать файл конфигурации этого сервера. Файлы конфигурации большинства программ XDMCP имеют один и тот же формат. Они содержат разделы с именами, указанными в квадратных скобках, например . Строки, следующие за именем раздела, задают параметры через знак равенства, например: enable=true . В таблице 1 перечислены имена файлов конфигурации, имена разделов и параметры, которые необходимо определить, чтобы XDMCP работал на нескольких распространенных XDMCP-серверах Linux.

    Таблица 1. Параметры, позволяющие XDMCP поддерживать VNC для разных XDMCP-серверов

    Раздел XDMCP в файле конфигурации может полностью отсутствовать. Если он присутствует, он может явно отключать поддержку XMDCP, содержать закомментированные параметры или быть пустым. Независимо от исходного состояния файла необходимо сделать так, чтобы раздел XDMCP присутствовал и чтобы поддержка была включена. В качестве примера рассмотрим настройку KDM для включения XDMCP:

    Enable=true

    Некоторые дистрибутивы позволяют включить дополнительные меры безопасности, которые потребуется ослабить. Одна из них ― межсетевой экран. Сценарии межсетевых экранов обычно зависят от дистрибутивов, поэтому за инструкциями по настройке межсетевого экрана обращайтесь к документации на свою систему. Нужно, чтобы localhost имел доступ к порту 177, а VNC-клиенты - к порту 5900 (или любым другим портам, которые используются для VNC).

    В OpenSUSE есть дополнительный файл конфигурации, который управляет некоторыми типами доступа, включая XDMCP-доступ: /etc/sysconfig/displaymanager. Откройте этот файл в текстовом редакторе и найдите следующую строку:

    DISPLAYMANAGER_REMOTE_ACCESS="no"

    Измените значение этого параметра на "yes" . Если оставить "no" , окно входа XDMCP-сервера при подключении к VNC-серверу отображаться не будет. В большинстве дистрибутивов такое изменение не требуется: этот файл использует только openSUSE.

    Перезапуск XDMCP-сервера

    Когда XDMCP-сервер настроен на поддержку удаленных соединений, его необходимо перезапустить. В дистрибутивах, которые запускают X посредством файла инициализации SysV, таких как Debian и Gentoo, это можно сделать с помощью параметра restart:

    # /etc/init.d/gdm restart

    В системе, которая для запуска X использует уровень runlevel, такой как Fedora или openSUSE, нужно перейти на уровень текстового режима (обычно 3), а затем вернуться на уровень GUI (обычно 5):

    # telinit 3 # telinit 5

    Имейте в виду, что при любом подходе производится выход из X, поэтому прежде чем продолжать, сохраните всю проделанную в сеансе X работу.

    Тестирование и отладка

    Теперь можно входить в систему с удаленного компьютера с помощью VNC-клиента. Большинство дистрибутивов Linux содержат команду vncviewer , так что можно ввести:

    vncviewer

    Чтобы войти в систему remotename через VNC. Если VNC настроена и работает правильно, результат будет примерно таким, как показано на рисунке 4. Если настроить несколько сеансов VNC через разные порты, можно указать номер сеанса VNC, передав его как часть имени хоста. Введите:

    vncviewer:3

    Чтобы войти в сеанс 3 (через порт 5903).

    Рисунок 4. При настройке на работу с XDMCP VNC обеспечивает обычное приглашение Linux

    Если при выполнении этого теста вы не видите экран входа в систему XDMCP, придется произвести отладку. Ниже приведены некоторые рекомендации.

    • Если vncviewer сообщает, что в соединении было отказано, это, скорее всего, означает, что суперсервер на компьютере сервера VNC не настроен должным образом. Проверьте конфигурацию xinetd и попробуйте перезапустить суперсервер. Возможно также, что межсетевой экран блокирует доступ к компьютеру VNC-сервера.
    • Если VNC-клиент запускается и подключается к серверу, но вы видите только серый экран с курсором, который можно перемещать, проблема, скорее всего, в настройке XDMCP-сервера. Проверьте описанные выше параметры и перезапустите XDMCP-сервер.
    • Просмотрите файлы журнала событий, как это обычно делается при отладке. Может потребоваться поиск всех файлов журнала в каталоге /var/log по ссылкам на ваши xinetd , XDMCP-сервер и VNC-сервер.

    Вопросы безопасности VNC

    RFB не является безопасным протоколом; большинство VNC-клиентов и серверов не шифруют свои данные. (VNC шифрует свои собственные пароли, но при описанном здесь подходе эти пароли не используются.) Будьте осторожны при выборе способа и места установки VNC. Если вы хотите использовать VNC в незащищенной сети, возможны три варианта:

    • использовать виртуальную частную сеть (VPN);
    • туннелировать протокол через SSH;
    • использовать вариант VNC, поддерживающий шифрование, такой как TigerVNC с возможностью шифрования Transport Layer Security.

    При включении окон входа VNC, как описано в этой статье, во внешний мир открываются, по крайней мере, два порта (VNC и XDMCP). Оба порта можно ограничить правилами межсетевого экрана, чтобы свести к минимуму риск злоупотреблений. Заметим, что порт XDMCP (UDP 177) должен быть открыт только для localhost, поэтому правило межсетевого экрана для него может быть весьма ограничивающим.

    Заключение

    В целом соединение VNC и XDMCP ― полезный метод обеспечения удаленного входа с графическим интерфейсом пользователя для многопользовательских Linux компьютеров. Этот метод имеет преимущества по сравнению с прямым применением XDMCP в кроссплатформенной среде или при наличии проблем, вызванных межсетевым экраном или NAT. На многопользовательских компьютерах он предпочтительнее более распространенных способов прямого подключения VNC. При использовании этого метода необходимо рассмотреть вопросы безопасности. Будьте готовы настроить правила межсетевого экрана для ограничения нежелательного доступа извне и используйте шифрование, если данные передаются по ненадежной сети.