Який порт 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 або у вигляді шістнадцяткового дампа.
NetworkTrafficViewNetworkTrafficView - утиліта збору статистичних даних про мережний трафік для обраного адаптера. Виводиться статистика за адресами джерела та приймача, портами, протоколами, максимальною швидкістю передачі даних, тривалістю з'єднань, ідентифікаторами та іменами програм, що виконували обмін даними за протоколом 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 можливе зворотне підключення від сервера до клієнта через порт 5500 TCP.

Багато безкоштовних продажів 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 методзадає режим обробки зображення робочого столу під час передачі даних від сервера до клієнта та обробку прозорих вікон (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 кольорів)

Налаштування вкладки 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 software libre basado en una estructura cliente servidor que 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 software libre basado en una estructura cliente servidor el que nos permet tomar el control de l'ordinador servidor remotamente a través de … Enciclopedia Universal

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

      VNC- Typische VNC Sitzung in einem Fenster Virtual Network Computing (VNC) є eine Software, die den Bildschirminhalt instruments entfernten Rechners (Server) auf einem localed Rechner (Client) anzeigt und im Gegenzug Tastatur und Mausbewe

    Оригінал: 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 Ви повинні знати password для доступу до ваших робочих місць. Password: Verify: xauth: створення нового файлу авторитету /root/.Xauthority Новий "RHELv4u3.localdomain:2 (root)" desktop is RHELv4u3.localdomain:2 Creating default startup script /root/.vnc/xstartup Starting applications /.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-сервер supports protocol version 3.8 (viewer 3.3) Password: VNC authentication succeeded Desktop name "RHELv4u3.localdomain:2 (root)" Connected to VNC server, використовуючи 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 Новий "RHELv4u3.localdomain:2 (root)" desktop is RHELv4u3.localdomain:2 Starting applications specified in /root/.vnc/xstartup Log fileis .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 = 590

    Цей запис визначає кілька параметрів 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. У разі використання цього методу необхідно розглянути питання безпеки. Будьте готові налаштувати правила міжмережевого екрану для обмеження небажаного доступу ззовні та використовуйте шифрування, якщо дані передаються через ненадійну мережу.