Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
Эта заметка доступна на: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

[Фото автора]
автор Georges Tarbouriech

Об авторе:

Джордж давно использует ОС Unix (коммерческие и бесплатные). VNC изменила его жизнь :-).

Содержание:

Виртуальная сетевая система ( VNC )

[Иллюстрация]

Резюме:

То, о чем мечтали сетевые администраторы стало реальностью благодаря VNC.
Можно сказать, что это удаленное отображение системы, но на самом деле это нечто большее.
Посетив http://www.uk.research.att.com, вы сможете получить это приложение БЕСПЛАТНО. VNC распространяется по GPL и существует для множества платформ.
Давайте посмотрим на возможности, предоставляемые этим приложением.



 

Введение

В начале 1999 компания AT&T продолжила работу над VNC совместно с Olivetti Research Laboratory.
Из объяснения на сайте AT&T следует, что название VNC происходит из разработки "тонкого" клиента сетевых компьютеров ATM и из-за предоставления VNC-вьювером рабочих станций, которые могут быть созданы или удалены по желанию.
Для использования VNC необходимо TCP/IP соединение, vncserver и vncviewer для подключения к компьютеру с vncserver.
VNCserver работает согласно архитектуре клиент - сервер и состоит из двух серверов : X - сервер и VNC - сервер. Это позволяет использовать один и тот же номер терминала для обоих серверов. Для подключения к VNC - серверу необходимо указать имя компьютера и номер терминала, например :

vncviewer machinename:2.

Другими словами - если X - сервер использует терминал под номером 2, то и VNC - сервер использует терминал с тем же номером. И при подключении клиента к серверу используется тот же номер терминала. Пользователь, работающий на терминале под номером 1 не заметит вашей работы на компьютере, если вы будете использовать терминал под номером 2.
VNC может использовать любой свободный номер терминала и информировать об этом пользователя, что не исключает возможности выбора пользователем другого номера. Например : если vncserver информирует об использовании терминала под номером 2, пользователь может задать как используемый 3, 4 и др. при подключении к серверу.
По другому обстоит дело с компьютерами использующими ОС Windows. Если рассмотрим предыдущий пример, то пользователь работающий за компьютером увидит всю вашу работу на его компьютере на экране, как будто компьютер сам работает!
Номер терминала по умолчанию 0. Если вы связываете два компьютера с ОС Windows NT - указывать этот номер не надо.
VNC существует для многих ОС, но иногда только в клиентском исполнении. Например нет VNC - сервера для BeOS. Информация о поддерживаемых платформах находится на http://www.uk.research.att.com/vnc/platforms.html.
В зависимости от платформы VNC распространяется скомпилированным или в исходных текстах. Процесс установки достаточно прост и приложение не занимает много места.
Рассмотрим теперь как работает VNC.

 

Представление

Сервер

Текущая версия vnc - 3.3.3 (с небольшими отличиями в номере выпуска в зависимости от платформы).
Для использования на компьютерах с ОС Unix необходимы следующие программы : vncserver и Xvnc. vncserver является Perl скриптом и может быть изменен при необходимости для конкретного случая. Он запускает Xvnc. Не рекомендуется запускать программу Xvnc отдельно.
Эти программы можно инсталлировать в любой каталог при условии указания этого каталога в переменной "path".
Для работы используют любой менеджер окон, указываемый в xstartup (в каталоге .vnc).
Запустив первый раз vncserver необходимо указать пароль для дальнейших соединений с сервером.
Vncserver предоставляет множество опций для использования, как любой X - сервер. Команда Xvnc --help выводит список всех доступных.
Этого достаточно для запуска VNC - сервера!
Для компьютеров, использующих ОС Windows : для Windows NT 4.0 необходимо запустить vncserver как сервисную программу, для Windows 95 или 98 запустить из меню или с помощью пиктограммы.
Что касается X - серверов - можно определить множество опций с помощью предусмотренного меню.
Не будем здесь рассматривать возможности VNC - сервера специфичные для различных платформ.

Клиент

Клиент - это отдельная программа vncviewer.
Для связи с VNC - сервером используется эта программа и номер терминала. Например: для соединения с сервером с именем linux по терминалу номер 2 выполняется команда vncviewer linux:2. Затем требуется ввести пароль и можно работать. При входе в систему с привилегией root можно ее полностью администрировать. Будьте осторожны, вы лучше знаете что вы делаете!
Так работают клиенты на любой платформе. Фантастика!


 

Занимательно

В локальной сети (из соображений скорости) с помощью VNC можно выполнять довольно необычные задачи.
Например : можно выполнить любое приложение на любой ОС. В связке Windows NT (в качестве сервера) и BeOS (в качестве клиента) - любое приложение на компьютере, выступающим в роли сервера доступно для выполнения на клиенте.
Если на компьютере с Windows NT есть приложение Photoshop - вы можете запустить его со своего компьютера с BeOS, как будто работаете на компьютере с Windows NT. Это значит, что на вашем компьютере открывается окно представляющее рабочий стол Windows NT.

bewin.jpg
Photoshop на BeOS!

winlin.jpg
Или Gimp на Windows?

Повторю еще раз - это можно делать на любом компьютере, использующим VNCviewer.
Другой пример : компьютер без доступа в Internet может установить связь с VNC - сервером, имеющем доступ и использовать его браузер для работы в сети. Конечно можно использовать и почтовую программу для проверки почты и отправления сообщений.

linsgi.jpg
У vncviewer нет доступа в Internet, тем не менее...

Еще пример : можно установить соединение с vncserver и получить доступ к любому компьютеру в сети, а также запустить vncviewer на удаленном компьютере и установить соединение с другим vncserver и т.д.!
Использование vncserver на компьютере с ОС Unix позволяет многим компьютерам с vncviewer устанавливать с ним соединение на разных терминалах. На компьютере с ОС Windows это невозможно если используется один дисплей.

 

Серьезно

Это не значит, что все о чем мы говорили выше не серьезно!
Любой системный администратор может оценить по достоинству администрирование Windows NT: вы не знаете кто подключен к компьютеру и что он делает пока не приобретете дополнительное программное обеспечение позволяющее получить список выполняемых процессов на сервере (но без возможности уничтожить большинство из них). Без комментариев!
Vnc переворачивает представление о подобных "особенностях".
Например :
Предположим вы разрабатываете и поддерживаете Windows - приложения (мой приятель Javi говорит : у бедняков нет выбора). Новая версия приложения требует обновления как на серверной так и на клиентской стороне. Компьютеры находятся на том или ином расстоянии от офиса.
Очевидно, что вы не можете обновлять выполняющиеся в данный момент приложения.
С помощью vnc вы можете остановить выполнение приложения на любом компьютере, обновить его и проверить ... не покидая своего офиса. Конечно лучше всего это делать когда никто не работает, но бывают ситуации, когда пользователь после работы с приложением не закрыл его и вам приходиться проверять выполняется приложение или нет.
Так как VNC устанавливается как сервисное приложение на рабочих станциях у вас есть возможность запустить vncserver удаленно с сервера Windows NT, затем установить связь с ними и выполнить свою работу : остановить работающее приложение, обновить (даже с другого сервера Windows NT, имеющего связь с vncserver) и проверить его работу. После этого можно остановить vncserver на удаленном компьютере и перейти к другому.

Важно : VNC позволяет разблокировать удаленную рабочую станцию Windows NT посылкой Ctrl-Alt-Del(такой возможности не было в предыдущих версиях).
Пример, рассмотренный выше, предполагает работу на сервере Windows NT. То же самое можно сделать использовав vncviewer на рабочей станции Unix для подключения к vncserver на сервере Windows NT.
Таким образом можно администрировать всю сеть (конечно имея достаточные привилегии) - используя удаленные команды для запуска vncserver на удаленных компьютерах.
"Удаленные" - значит расположенные где угодно. Следовательно, можно выполнять эту работу прямо из дома!
Здесь мы подходим к вопросам безопасности.

 

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

Любая задача выполняемая в сети может рассматриваться как потенциально опасная с точки зрения безопасности информации.
Это факт! Единственное, что можно предпринять - уменьшить риск. Никогда не верьте тому, кто говорит, что его сеть защищена на 100%! Другой факт - хакеры намного умнее, чем это представляют себе люди.
Поэтому, чтобы защитить VNC необходимо защитить сеть. Для этого можно использовать брандмауэры, SSL, SSH.
Протоколы SSL и SSH используются для передачи информации в закодированном виде. Но мы не будем здесь рассматривать эти протоколы потому, что это совершенно другая тема. Подробнее о протоколе SSH можно посмотреть на http://www.ssh.fi или о протоколе SSL на http://www.openssl.org
Различные патчи и дополнения по безопасности находятся на веб сайте AT&T. Там вы найдете способ доступа к серверу, расположенному за брандмауэром.
Также доступна версия VNC, использующая SSLeay.
Ограничение доступа по IP-адресам - еще одна возможность обеспечения безопасности.
Мы перечислили лишь малую часть существующих возможностей. Подробнее можно посмотреть на http://www.uk.research.att.com/vnc/extras.html
Существует также Java реализация для VNC. Это значит, что в качестве вьювера можно применять Java-совместимый веб-браузер, используя верный порт (58**, **-номер терминала : пример - 5802 - использование терминала 2). Это требует объяснения, что ужасно долго. Тем не менее это заслуживает внимания.
Чтобы завершить раздел, посвященный безопасности скажем, что использование VNC не опаснее, чем использование telnet или rlogin.

 

Заключение

Если вы не знакомы с VNC - стоит попробовать. Мы надеемся, что данная заметка привлечет ваше внимание к VNC. На самом деле это одно из лучших приложений в своей категории.
Это приложение небольшое по размеру, достаточно быстрое (конечно все зависит от сети или типа используемого соединения) и БЕСПЛАТНОЕ!
VNC достаточно надежное приложение, я заметил только одну проблему в последней версии для Windows : если пользователь на удаленной рабочей станции Windows NT оставил нажатой клавишу CapsLock - кажется не работает посылка Ctrl-Alt-Del(один сотрудник посоветовал мне набрать пароль, скопировать его и вставить в поле ... и это работает!). Это все, что я обнаружил. Я использую VNC на Solaris Sparc, Irix, Linux, BeOS, AmigaOS и NT.
Все, что вы сейчас прочитали - лишь малая часть возможностей VNC.
VNC начинают включать в некоторые дистрибутивы Linux - это знак увеличивающегося интереса к приложению.
Попробуйте VNC в маленькой домашней сети или в большой сети на работе. Это действительно стоит того!


Webpages maintained by the LinuxFocus Editor team
© Georges Tarbouriech
LinuxFocus.org 2000

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Georges Tarbouriech
en -> ru Kirill Poukhliakov

2000-07-04, generated by lfparser version 1.5