UltraVNC и обратные подключения. VNC Viewer: как пользоваться, установка и настройки

UltraVNC и обратные подключения. VNC Viewer: как пользоваться, установка и настройки

14.07.2019

Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC.

Зачем вообще нужны такие заморочки, ведь Teamviewer такой офигенный? В моем случае это обусловлено несколькими причинами. В работе была нужна система удаленного управления серверами и рабочими станциями пользователей, а их у нас на поддержке >1000. Teamviewer контролируется сторонней компанией и неизвестно, что она делает с трафиком. Teamviewer не пользуется доверием у некоторых наших клиентов. Нам нужны были уникальные ID для всех пользователей. Ну и его стоимость для достаточно большой инфраструктуры очень приличная, что тоже повлияло на решение. При этом у нас достаточно широкие каналы связи и нет жестких требований к скорости отклика, что нивелировало основной недостаток UltraVNC, а именно - более низкую скорость работы.

Как это работает

Исходная архитектура VNC протокола слабо предназначена для работы через глобальные сети. Для этого есть несколько причин.
  • Отсутствие шифрования передаваемых данных.
  • Короткие пароли (8 символов в современном мире? Вы серьезно?)
  • Отсутствие сквозной нумерации серверов, подключение по IP.
  • Невозможность работы из-за NAT.
Я, конечно, перечислил не все. Но это основные недостатки, которые мешали нам рассматривать данное решение всерьез. В итоге, все они были тем или иным образом преодолены. Текущая схема работы выглядит примерно так:

Клиентский UltraVNC сервер подключается к нашему репитеру, который одним своим портом (нестандартным) смотрит в интернет и принимает подключения. А мы подключаемся к этому же серверу по внутреннему адресу изнутри и уже оттуда - к клиенту. Соединения шифруются RSA2048/AES256. Так как серверы и клиенты цепляются на разные порты, можно гибко ограничить, у кого и откуда есть право подключения, не трогая возможность UltraVNC-серверов подключаться к репитеру.

Установка UltraVNC репитера

Так как репитер будет единственным публичным сервисом, его настройке надо уделить максимум внимания. Использовать нестандартные порты, блокировать подозрительную активность, например сканирование портов и жестко определять, откуда можно будет подключаться Viewer-ам. Но начнем с самого простого – установки и настройки. Сервер настраивается во втором режиме, третий (через SSL) требует специальных сборок просмотрщиков и серверов, поэтому его решили не использовать.

Итак, заходим на сервер, которому предначертано стать будущим репитером и начинаем колдунство. Установка будет описана для Ubuntu 16.04. Ставим необходимые зависимости.

Sudo apt-get install build-essential
Создаем пользователя для запуска репитера.

Sudo useradd -c "UltraVNC Repeater User" -M -s /sbin/nologin uvncrep
Скачиваем исходники репитера.

Wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz
Распаковываем репитер и заходим внутрь папки.

Tar -xzvf uvncrep017-ws.tar.gz && cd uvncrep017-ws
Собираем репитер.

Make
Устанавливаем репитер в систему.

Sudo ./install.sh
У нас все готово к успешному запуску, но надо немного изменить файл настроек. Поэтому открываем в любимом редакторе /etc/uvnc/uvncrepeater.ini и приводим настройки к следующему виду:

Viewerport = 5900
По странной прихоти автора номер порта отличается от стандартного. У себя нестандартный порт мы выставим на файрволе.

Logginglevel = 2
Немного повышаем уровень логирования, чтобы видеть информацию о бинде портов и подключениях в логе.

Allowedmodes = 2
Запрещаем оба режима, оставляем только 2, потому что первый работает по другому принципу и может создавать для нас уязвимость.

Useeventinterface = false
Отключаем отправку сообщений. Пока мы никому ничего отправлять не будем. Может быть потом…

Сохраняем файл и тестируем корректность его настроек.

Sudo uvncrepeatersvc /etc/uvnc/uvncrepeater.ini
UltraVnc Linux Repeater version 0.17 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): viewerPort: 5900 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): serverPort: 5500 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): maxSessions: 100 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): loggingLevel: 2 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): ownIpAddress (0.0.0.0 = listen all interfaces) : 0.0.0.0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): runAsUser (if started as root) : uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 connections allowed: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 connections allowed: Yes UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 allowed server port (0=All) : 0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 requires listed addresses: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 requires listed ID numbers: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useEventInterface: false UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerHost: localhost UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerPort: 2002 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useHttpForEventListener: true UltraVnc Sat Feb 11 16:48:29 2017 > dropRootPrivileges(): privileges successfully dropped, now running as user uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > routeConnections(): starting select() loop, terminate with ctrl+c
Все в порядке, можно запускать как стандартную службу. Останавливаем репитер с помощью Ctrl+C и запускаем уже как сервис.

Sudo systemctl start uvncrepeater
Проверяем, что служба запустилась.

$ ps ax | grep uvnc 11168 ? S 0:00 /usr/sbin/uvncrepeatersvc /etc/uvnc/uvncrepeater.ini 11170 pts/0 S+ 0:00 grep --color=auto uvnc
Файл лога можно посмотреть по адресу /var/log/uvncrepeater.log.

Установка и настройка UltraVNC сервера

Итак, первое препятствие между нами и нирваной рухнуло с треском. Теперь мы можем подключаться к клиентам за NAT. На очереди два следующих – отсутствие сквозной нумерации и шифрования. Настраиваем тестовый UltraVNC-сервер. Так как у нас основной парк управляемых машин – это Windows, установка сервера и клиента будет расписана для них.
  • SecureVNC Plugin:

Запускаем установщик UltraVNC сервер. Принимаем условия соглашения и нажимаем Next > .

Вчитываемся с интересом и Next > .

Выбираем установку только UltraVNC Server и нажимаем Next > .

Жмем Next > и никаких гвоздей.

Ставим указанные галочки, чтобы установить UltraVNC сервер как системную службу и запустить его сразу после установки. Жмем Next > .

Смотрим на этот экран с умным видом, потом нажимаем Install .

Здесь есть только одна кнопка для нажима. Жмем на нее.

Снимаем галочку, чтобы не смотреть какие-то последние версии, и жмем Finish .

Кнопконажимательная часть миссии закончена. Теперь надо доустановить необходимые компоненты и настроить сервер. Копируем плагин безопасности в папку UltraVNC.

Распаковываем папку с драйвером.

Заходим в папку с соответствующим драйвером и устанавливаем его путем запуска install.bat.

Внимание! Установку драйвера надо производить с административными правами. Причем запустить от имени администратора только install.bat не получится, потому что он запускает еще одну программу и она будет работать уже не от администратора. Поэтому запускаете консоль от администратора, идете в папку установки драйвера и запускаете install.bat оттуда.

Я выполнял тестовую сборку по XP с правами администратора, потому мне это не потребовалось.

Запускаем настройки VNC сервера – uvnc_settings.exe.

Переходим на вкладку Security .

  • В разделе Authentication выставляем два пароля. Пароли должны быть одинаковыми, состоять из цифр и больших и малых латинских букв, не более 8 символов длиной .
  • В разделе Encryption ставим галочку Use , выбираем из выпадающего списка наш плагин, и жмем на кнопку Configuration .

Галочки должны стоять так, как показано на скриншоте. Если все правильно, закрываем окно нажатием кнопки Close .

Переходим на вкладку Connection .

  • В разделе Multiple connections выбираем Keep existing connections .
  • В разделе Disconnect выбираем Do Nothing .

Переходим на вкладку Screen Capture .

  • В разделе Advanced выбираем Use system hookdll, Use mirror driver, Remove Aero while connected и Remove wallpaper while connected .

Переходим на вкладку Misc/logging .

  • В поле Service command line вбиваем самую главную строку. Эта строка содержит ID и адрес и данные репитера для подключения. Выглядит она так:
-autoreconnect ID:XXXXXXXX -connect :
ID получается с помощью скрипта по методике приведенной ниже.

После всех проделанных действий нажимаем ОК для сохранения настроек. Потом запускаете настройки еще раз и переходите на вкладку Service . На ней нажатием соответствующих кнопок сначала останавливаете, потом запускаете сервис.

Генерация уникального ID

Скрипт получения 8-значного номера ID. Написан на php, потому что это было проще всего. В качестве источника вдохновения использовались комментарии вот к . Как работает, думаю, пояснять не надо. Почему именно скрипт генерации и почему именно по MAC? Потому что репитер не даст подключиться двум серверам с одинаковым ID, а вести журналы со списками ID было предельно лень. А так как MAC-адреса и так уникальны, то почти гарантированно получаем уникальный номер с достаточно низкой вероятностью коллизии.


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

Установка и настройка UltraVNC Viewer

Скачиваем необходимые компоненты по ссылкам. Компоненты должны иметь архитектуру (x86 и x64), соответствующую архитектуре компьютера, на который происходит установка Viewer.
  • Finish .

    Устанавливаем все настройки так же, как и на скрине. ID сервера для подключения вводится именно в таком формате, то есть ID:XXXXXXXX . IP и порт репитера вводятся такими, какими были назначены при установке репитера.

    Все, можно подключаться и радоваться жизни.

    Замечания по использованию

    • Не забывайте при подключении устанавливать security плагин . Если его не будет, соединение все равно произойдет, только без шифрования. Заставить UltraVNC Server требовать шифрования мне пока не удалось.
    • Донастройте сервис при установке UltraVNC сервера . В процессе использования было отмечено, что сервис сервера иногда падает. Для того, чтобы в нужный момент не потерять связь с машиной рекомендуется в настройках сервиса установить его автоматический перезапуск при падениях.
Добавить метки

В повседневной жизни довольно часто возникает ситуация, когда необходимо установить или настроить программы на компьютерах который находиться в соседнем кабинете, офисе или в другом городе. Бегать по кабинетам и по офисам конечно полезно для здоровья, особенно если приходится обслуживать свысше 30 компов:)) но мы не будем так над собой измываться, организуем и настроим удаленный доступ к ПК. Программ для удаленного доступа очень много и каждая по своему выделяется.

Для более продвинутых пользователей

Рассмотрим UltraVNC . Почему выбрал именно это прогу?:

  • Бесплатная,
  • Поддерживает Клиент Серверный режим работы.
  • Поддерживает передачу файлов
  • Многоклиентный режим
  • Работает под windows, Linux, Mac OS X
  • Реализовано шифрование
  • Возможность развертования в домене через политики.

Установка и настройка UltraVNC

Ниже опишу настройки для особо любопытных

Incoming Connections — входящие подключения

  • Accept Socket Connections — разрешить входящие подключения.
  • Display: номер дисплея.
  • Ports — используемые порты программой.
  • Main : порт для UltraVNC клиента по умолчанию 5900.
  • Http : порт подключаться через веб интерфейс, При первоначальном подключении прога предложит скачать плагин java, он необходим что бы подключаться через web форму.
  • Enable Java Viewer (Http Connect) разрешить подключения по Http.
  • Allow Loopback Connections - разрешить подключения в обратку, оставляем галочку да.
  • Loopback Only - разрешить только обратные подключения.

When Last Client Disconnects Когда последний клиент отключается, действия

  • Do Nothing - переводится как, ничего не делать. Пускай галочка стоит на нем:)
  • Lock Workstation (W2K) - Блокировка рабочей станции для (W2K).
  • Logoff Workstation - выход рабочих станций .

Query On Incoming Connection Запрос входящих подключений

  • Display Query Window — показать окно запроса.
  • Timeout — Тайм-аут .
  • Default action — действие по умолчанию. Refuse — отклонить, Accept - принять.

Keyboard & Mouse - клавиатура и мышь.

  • Disable Viewers Inputs - отключить управление компом, будет разрешен тока просмотр.
  • Disable Local Inputs - оключить локальный ввод.

Multi Viewer Connections — действия при подключение нескольких пользователей.

  • Disconnect all existing connections разрешает только одному пользователю подключаться, а всех остальных клиентов отключает .
  • Keep existing connections — держать текущее соединение. Одновременно может быть подсоединено несколько клиентов.
  • Refuse the new connection — запретить новые соединения
  • Refuse all new connections — отказаться от новых соединений.

Authentication - аутентификация.

  • VNC Password — пароль для входа. После установки необходимо придумать новый пароль, иначе подключиться не получится.
  • Require MS Logon — если комп в домене то можно исползовать логин и пас винды

Misc — дополнительно

  • Remove Aero (Vista) — отключить визуальные эффекты Vista. Оставляем галочку.
  • Remove Wallpaper for Viewers — отключить обои. Для беспалевного входа на ПК, лучше убрать галочку, так как при подключении к ползователю у него будут исчезать обои. Но если нам нужна высокая производительностьвключаем эту настройку.
  • Capture Alpha-Blending — позволяем просматривать видео на сторене клиента. Хотя и не всегда эта опция работает.
  • Disable Tray icon - убрать иконку.
  • Forbid the user to close down WinVNC - запретить закрывать UltraVnc сервак.
  • Default Server Screen Scale - масштаб экрана по умолчанию.

File Transfer — управление файлами.

  • Enable — разрешить передавать файлы.

Подключение к UltraVnc server

Запускаем UlnraVnc viewer (vncviewer.exe) появляется окно с настройками:

  • VNC Server: — адрес компа к которому мы подключаемся
  • AUTO, ULTRA, LAN, MEDIUM, MODEM, SLOW, MANUAL — режим подключения, выбираем в зависимости от скорости подключения. Оставляйте AUTO
  • View Only — разрешает тока просмотр
  • Auto Scaling — автоподгонка масштаба
  • Confirm Exit — подтверждаем если мы хотим закрыть сеанс
  • Use DSMPlugin -выбор и использование дополнительных плагинов
  • Proxy/Repeater — указываем прокси или репитер, если они у нас есть.
  • Save connection settings as default — сохраняем текущие настроийки и используем их по дефолту.

  • Track remote cursor locally — отображать курсора мыши
  • Don’t show remote cursor — не отображать курсор мыши
  • Show button’s bar — показать/скрыть панель инструментов
  • Full-screen mode — открыться на весь экран
  • Viewer Scale — открыться на % экрана
  • Disable clipboard transfer — отключить общий буфер обмена
  • Number of times the reconnect is attempted Количество раз, когда предпринимается попытка восстановить соединение

Исходя из названия приложения VNC Viewer, многие пользователи сразу могут догадаться, к какому классу программного обеспечения оно относится, например, проведя аналогию с известным пакетом TeamViewer. Однако рядовые пользователи могут столкнуться с такой утилитой впервые, поэтому стоит отдельно остановиться на некоторых вопросах, связанных с тем, как и какую модификацию программы лучше установить, как настроить приложение для оптимального режима работы, как пользоваться VNC Viewer, «выжав» из приложения максимум его возможностей.

Общие сведения о программе VNC Viewer

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

То есть данную программу можно отнести к классу RDP-приложений, предназначенных для подключения к удаленному «Рабочему столу». Однако только доступом к удаленным компьютерам дело не ограничивается, поскольку в самой программе имеется еще немало дополнительных возможностей:

  • Полное управление настройками без ограничений в полноэкранном или оконном режиме.
  • Трансфер файлов.
  • Возможность отсылки сообщений через встроенный чат.
  • Блокирование периферийных устройств, если это необходимо (мыши, клавиатуры и т. д.).
  • Возможность доступа к подключенным ПК через браузер.
  • Организация подключения с несколькими терминалами одновременно.

Сразу же стоит отметить, что технология Virtual Network Computing (VNC)имеет и еще одно неоспоримое преимущество, если сравнивать с аналогами. Дело в том, что в ней есть возможность установки серверной и клиентской части (в зависимости от того, какой именно тип подключения будет использоваться в дальнейшем), плюс, тонкая настройка ПО для каждого варианта установки с целью обеспечения максимальной производительности.

Особенности выбора инсталляционного дистрибутива

Прежде чем приступать к установке, необходимо определиться с выбором модификации VNC-клиента, который предполагается установить. Во-первых, сама программа является кроссплатформенной, может инсталлироваться практически во все известные стационарные и мобильные операционные системы. Во-вторых, для тех же ОС Windows можно найти версии программы RealVNC, TightVNC, UltraVNC и облегченную модификацию UltraVNC SC (все версии совместимы между собой, однако некоторые функции могут оказаться недоступными), для Mac OS X - Chicken и JollysFastVNC. В-третьих, следует определиться с типом устанавливаемого клиента (серверная часть используется для организации подключения с центральной машины к дочерним терминалам, а клиентская - для подключения с дочерних машин к центральному серверу).

В-четвертых, непосредственно на официальном ресурсе разработчика можно выбрать предпочитаемый формат файла установщика VNC Viewer для Windows (EXE, MSI) или загрузить дистрибутив в виде запакованного архива ZIP. Последний пункт - по желанию пользователя.

Установка VNC Viewer

Теперь перейдем непосредственно к инсталляции выбранного программного продукта. Заметим, что практически для всех модификаций процесс установки выглядит одинаково.

Для старта инсталляции в Windows версий 7 и выше файл установщика VNC-клиента запускается исключительно с администраторскими привилегиями (в меню ПКМ выбирается пункт запуска от имени администратора). В самом процессе инсталляции нет ничего необычного.

Пользователю нужно выбрать предпочитаемый язык, принять условия лицензионного соглашения, указать путь установки (его можно не менять), на одной из стадий добавить значок на «Рабочий стол», а затем просто нажать кнопку старта установки.

Первый запуск приложения

Предположим, что программа инсталлирована, а пользователь производит ее первый запуск. Изначально настройки VNC Viewer не очень сложные. При первом старте будет показано окно, в котором можно выбрать желаемое действие. Но будем исходить из того, что нам нужно осуществить подключение самостоятельно.

Как пользоваться VNC Viewer?

Сначала через файловое меню выбираете пункт нового подключения (New Connection), а затем в новом окне вводите IP-адрес удаленного терминала или полное название компьютера (адрес можно узнать на подключаемой машине, воспользовавшись свойствами интернет-соединения или командной строкой с вводом команды ipconfig, а имя компьютера можно просмотреть в свойствах системы). После этого появится окошко запроса пароля, в котором нужно ввести искомую комбинацию. При соответствии комбинации установленному на удаленном компьютере паролю появится удаленный «Рабочий стол».

Как пользоваться VNC Viewer для создания подключения, мы разобрались. Теперь несколько слов по поводу предпочитаемых настроек.

Если внимательно посмотреть на окно создания соединения, в нем можно обнаружить вкладку для экспертов. Если в этих настройках выбрать, например, предпочитаемые алгоритмы сжатия передаваемых и принимаемых данных, то можно существенно снизить нагрузку на центральный процессор и оптимизировать применение технологии Virtual Network Computing даже для сетей с пропускной способностью на уровне 256 кбит/с. Для графики рекомендуется устанавливать высокий уровень компрессии (Compression Level) с минимальным качеством (JPEG Quality), а в качестве дополнительной оптимизации активировать уменьшение количества цветов (Restricted Colors или bgr233).

Кроме того, стоит обратить внимание, что на одном терминале может использоваться подключение к нескольким машинам на основе базового порта 5900 через параметр дисплея. По умолчанию основной дисплей имеет значение «0», а для всех остальных оно увеличивается («1», «2» и т. д.). Соответственно, изменятся порт (5901, 5902 и т. д.), который нужно будет указывать после адреса через двоеточие (например, 192.168.0.5:5901). В случае с динамическими (а не статическими) адресами, дополнительно можно воспользоваться получением динамического DNS, например, на основе DynDNS. Можно выставить такую настройку на маршрутизаторе или зарегистрироваться на портале сервиса в интернете. В этом случае служба будет передавать установленному клиенту все сведения, связанные с изменением IP подключаемого компьютера.

Возможные сбои в работе программы

В основном сбои могут быть связаны только с тем, что в данный момент на компьютере попросту отсутствует интернет-подключение или занят соответствующий порт, используемый программой по умолчанию. Иногда можно заметить блокировку со стороны антивирусов и файрволов. Но решаются эти проблемы достаточно просто.

Некоторые распространенные методы устранения проблем

Среди основных методов устранения возможных сбоев при попытке установки подключения можно порекомендовать следующие:

  • Внесите установленную программу в список приложений, которым разрешено использовать интернет-соединение в брандмауэре Windows.
  • Создайте новые правила для порта 5900 исходящего и входящего подключений.
  • Если предыдущее решение не поможет, выполните проброс порта 5900 на маршрутизаторе.
  • Внесите программу в список исключений антивируса.
  • Проверьте правильность указания статического адреса и пароля доступа к удаленному терминалу.

Итоги

Вот кратко и все, что касается вопроса, как пользоваться VNC Viewer. Как видим, ничего особо сложного тут нет. В завершение стоит отметить, что в некоторых случаях целесообразно использовать не пароли, устанавливаемые непосредственно в операционных системах, а заранее выполнять вход в регистрационную запись в самом клиенте, предварительно создав ее на специальном ресурсе. В этом случае вы не будете зависеть от учетных записей на Windows.

  • Системное администрирование
  • Предупреждение: все прилетевшие тапочки будут проданы, помидоры – съедены, яйца – пожарены, испорченные – выброшены. Те, кто думают, что мы маемся фигней – вы угадали, возьмите с полки пирожок. Автор не призывает бросать мешки грудью на амбразуры. Он вообще ни к чему не призывает – он же не политик и не гражданин с активной гражданской позицией. А вот желающих подискутировать – милости просим. Сегодня я буду рассказывать вам занимательную историю о замене Teamviewer на UltraVNC.

    Зачем вообще нужны такие заморочки, ведь Teamviewer такой офигенный? В моем случае это обусловлено несколькими причинами. В работе была нужна система удаленного управления серверами и рабочими станциями пользователей, а их у нас на поддержке >1000. Teamviewer контролируется сторонней компанией и неизвестно, что она делает с трафиком. Teamviewer не пользуется доверием у некоторых наших клиентов. Нам нужны были уникальные ID для всех пользователей. Ну и его стоимость для достаточно большой инфраструктуры очень приличная, что тоже повлияло на решение. При этом у нас достаточно широкие каналы связи и нет жестких требований к скорости отклика, что нивелировало основной недостаток UltraVNC, а именно - более низкую скорость работы.

    Как это работает

    Исходная архитектура VNC протокола слабо предназначена для работы через глобальные сети. Для этого есть несколько причин.
    • Отсутствие шифрования передаваемых данных.
    • Короткие пароли (8 символов в современном мире? Вы серьезно?)
    • Отсутствие сквозной нумерации серверов, подключение по IP.
    • Невозможность работы из-за NAT.
    Я, конечно, перечислил не все. Но это основные недостатки, которые мешали нам рассматривать данное решение всерьез. В итоге, все они были тем или иным образом преодолены. Текущая схема работы выглядит примерно так:

    Клиентский UltraVNC сервер подключается к нашему репитеру, который одним своим портом (нестандартным) смотрит в интернет и принимает подключения. А мы подключаемся к этому же серверу по внутреннему адресу изнутри и уже оттуда - к клиенту. Соединения шифруются RSA2048/AES256. Так как серверы и клиенты цепляются на разные порты, можно гибко ограничить, у кого и откуда есть право подключения, не трогая возможность UltraVNC-серверов подключаться к репитеру.

    Установка UltraVNC репитера

    Так как репитер будет единственным публичным сервисом, его настройке надо уделить максимум внимания. Использовать нестандартные порты, блокировать подозрительную активность, например сканирование портов и жестко определять, откуда можно будет подключаться Viewer-ам. Но начнем с самого простого – установки и настройки. Сервер настраивается во втором режиме, третий (через SSL) требует специальных сборок просмотрщиков и серверов, поэтому его решили не использовать.

    Итак, заходим на сервер, которому предначертано стать будущим репитером и начинаем колдунство. Установка будет описана для Ubuntu 16.04. Ставим необходимые зависимости.

    Sudo apt-get install build-essential
    Создаем пользователя для запуска репитера.

    Sudo useradd -c "UltraVNC Repeater User" -M -s /sbin/nologin uvncrep
    Скачиваем исходники репитера.

    Wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz
    Распаковываем репитер и заходим внутрь папки.

    Tar -xzvf uvncrep017-ws.tar.gz && cd uvncrep017-ws
    Собираем репитер.

    Make
    Устанавливаем репитер в систему.

    Sudo ./install.sh
    У нас все готово к успешному запуску, но надо немного изменить файл настроек. Поэтому открываем в любимом редакторе /etc/uvnc/uvncrepeater.ini и приводим настройки к следующему виду:

    Viewerport = 5900
    По странной прихоти автора номер порта отличается от стандартного. У себя нестандартный порт мы выставим на файрволе.

    Logginglevel = 2
    Немного повышаем уровень логирования, чтобы видеть информацию о бинде портов и подключениях в логе.

    Allowedmodes = 2
    Запрещаем оба режима, оставляем только 2, потому что первый работает по другому принципу и может создавать для нас уязвимость.

    Useeventinterface = false
    Отключаем отправку сообщений. Пока мы никому ничего отправлять не будем. Может быть потом…

    Сохраняем файл и тестируем корректность его настроек.

    Sudo uvncrepeatersvc /etc/uvnc/uvncrepeater.ini
    UltraVnc Linux Repeater version 0.17 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): viewerPort: 5900 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): serverPort: 5500 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): maxSessions: 100 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): loggingLevel: 2 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): ownIpAddress (0.0.0.0 = listen all interfaces) : 0.0.0.0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): runAsUser (if started as root) : uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 connections allowed: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 connections allowed: Yes UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 allowed server port (0=All) : 0 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 1 requires listed addresses: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): Mode 2 requires listed ID numbers: No UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useEventInterface: false UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerHost: localhost UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): eventListenerPort: 2002 UltraVnc Sat Feb 11 16:48:29 2017 > listInitializationValues(): useHttpForEventListener: true UltraVnc Sat Feb 11 16:48:29 2017 > dropRootPrivileges(): privileges successfully dropped, now running as user uvncrep UltraVnc Sat Feb 11 16:48:29 2017 > routeConnections(): starting select() loop, terminate with ctrl+c
    Все в порядке, можно запускать как стандартную службу. Останавливаем репитер с помощью Ctrl+C и запускаем уже как сервис.

    Sudo systemctl start uvncrepeater
    Проверяем, что служба запустилась.

    $ ps ax | grep uvnc 11168 ? S 0:00 /usr/sbin/uvncrepeatersvc /etc/uvnc/uvncrepeater.ini 11170 pts/0 S+ 0:00 grep --color=auto uvnc
    Файл лога можно посмотреть по адресу /var/log/uvncrepeater.log.

    Установка и настройка UltraVNC сервера

    Итак, первое препятствие между нами и нирваной рухнуло с треском. Теперь мы можем подключаться к клиентам за NAT. На очереди два следующих – отсутствие сквозной нумерации и шифрования. Настраиваем тестовый UltraVNC-сервер. Так как у нас основной парк управляемых машин – это Windows, установка сервера и клиента будет расписана для них.
    • SecureVNC Plugin:

    Запускаем установщик UltraVNC сервер. Принимаем условия соглашения и нажимаем Next > .

    Вчитываемся с интересом и Next > .

    Выбираем установку только UltraVNC Server и нажимаем Next > .

    Жмем Next > и никаких гвоздей.

    Ставим указанные галочки, чтобы установить UltraVNC сервер как системную службу и запустить его сразу после установки. Жмем Next > .

    Смотрим на этот экран с умным видом, потом нажимаем Install .

    Здесь есть только одна кнопка для нажима. Жмем на нее.

    Снимаем галочку, чтобы не смотреть какие-то последние версии, и жмем Finish .

    Кнопконажимательная часть миссии закончена. Теперь надо доустановить необходимые компоненты и настроить сервер. Копируем плагин безопасности в папку UltraVNC.

    Распаковываем папку с драйвером.

    Заходим в папку с соответствующим драйвером и устанавливаем его путем запуска install.bat.

    Внимание! Установку драйвера надо производить с административными правами. Причем запустить от имени администратора только install.bat не получится, потому что он запускает еще одну программу и она будет работать уже не от администратора. Поэтому запускаете консоль от администратора, идете в папку установки драйвера и запускаете install.bat оттуда.

    Я выполнял тестовую сборку по XP с правами администратора, потому мне это не потребовалось.

    Запускаем настройки VNC сервера – uvnc_settings.exe.

    Переходим на вкладку Security .

    • В разделе Authentication выставляем два пароля. Пароли должны быть одинаковыми, состоять из цифр и больших и малых латинских букв, не более 8 символов длиной .
    • В разделе Encryption ставим галочку Use , выбираем из выпадающего списка наш плагин, и жмем на кнопку Configuration .

    Галочки должны стоять так, как показано на скриншоте. Если все правильно, закрываем окно нажатием кнопки Close .

    Переходим на вкладку Connection .

    • В разделе Multiple connections выбираем Keep existing connections .
    • В разделе Disconnect выбираем Do Nothing .

    Переходим на вкладку Screen Capture .

    • В разделе Advanced выбираем Use system hookdll, Use mirror driver, Remove Aero while connected и Remove wallpaper while connected .

    Переходим на вкладку Misc/logging .

    • В поле Service command line вбиваем самую главную строку. Эта строка содержит ID и адрес и данные репитера для подключения. Выглядит она так:
    -autoreconnect ID:XXXXXXXX -connect :
    ID получается с помощью скрипта по методике приведенной ниже.

    После всех проделанных действий нажимаем ОК для сохранения настроек. Потом запускаете настройки еще раз и переходите на вкладку Service . На ней нажатием соответствующих кнопок сначала останавливаете, потом запускаете сервис.

    Генерация уникального ID

    Скрипт получения 8-значного номера ID. Написан на php, потому что это было проще всего. В качестве источника вдохновения использовались комментарии вот к . Как работает, думаю, пояснять не надо. Почему именно скрипт генерации и почему именно по MAC? Потому что репитер не даст подключиться двум серверам с одинаковым ID, а вести журналы со списками ID было предельно лень. А так как MAC-адреса и так уникальны, то почти гарантированно получаем уникальный номер с достаточно низкой вероятностью коллизии.


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

    Установка и настройка UltraVNC Viewer

    Скачиваем необходимые компоненты по ссылкам. Компоненты должны иметь архитектуру (x86 и x64), соответствующую архитектуре компьютера, на который происходит установка Viewer.
    • Finish .

      Устанавливаем все настройки так же, как и на скрине. ID сервера для подключения вводится именно в таком формате, то есть ID:XXXXXXXX . IP и порт репитера вводятся такими, какими были назначены при установке репитера.

      Все, можно подключаться и радоваться жизни.

      Замечания по использованию

      • Не забывайте при подключении устанавливать security плагин . Если его не будет, соединение все равно произойдет, только без шифрования. Заставить UltraVNC Server требовать шифрования мне пока не удалось.
      • Донастройте сервис при установке UltraVNC сервера . В процессе использования было отмечено, что сервис сервера иногда падает. Для того, чтобы в нужный момент не потерять связь с машиной рекомендуется в настройках сервиса установить его автоматический перезапуск при падениях.
    • удалённый доступ
    • unix
    Добавить метки

    Здравствуйте, дорогие читатели сайта Страна IT. Сегодня мы с вами поговорим о еще одной программе удаленного доступа. С её помощью вы можете полностью управлять удаленным компьютером. Речь пойдет про VNC клиент для Windows. Данная позволяет пользователям подключаться к компьютерам с операционной системой Windows и Linux и выполнять любые настройки. Так же имеется полная поддержка практически всех современных операционных систем. VNC клиент, может стать для вас незаменимым помощником, если вам часто приходится управлять удаленными компьютерами либо если вы обслуживаете парк ПК. В статье я вам подробно расскажу, как скачать, установить и настроить утилиту.

    Чтобы начать пользоваться программой, её необходимо скачать, чтобы не наловить на компьютер вирусов, загружать программу мы будем с официального сайта. Для этого перейдите по ссылке – www.realvnc.com/download /

    На странице загрузки, чтобы скачать бесплатно VNC клиент для Windows, необходимо выбрать соответствующую иконку и нажать на кнопку «DOWNLOAD VNC CONNECT». Так же под кнопкой загрузки можно выбрать в каком расширении скачивать программу: exe, Zip или в формате MSI Installer.

    Установка программы состоит из двух частей серверной и клиентской. Если вы хотите управлять удаленным компьютером, то устанавливаем клиентскую часть – VNC Viewer, если же вы хотите в дальнейшем управлять данным компьютером, то ставите VNC Server.

    Как установить VNC.

    Давайте теперь подробно рассмотрим, как установить VNC клиент для Windows. Для этого запускаем скаченный исполняемый файл и выполняем все по шагам:


    Мы с вами смогли установить VNC клиент для Windows, теперь давайте рассмотрим, как настроить программу и как ею пользоваться.

    Как пользоваться VNC — программой удаленного доступа к компьютеру.

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

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

    Для того, чтобы выполнять удаленные подключения со своего компьютера к другим ПК, нам с вами понадобится VNC Viewer. Запускаем его. Окно программы выглядит скромно, но зато нет ничего лишнего. В самом центре располагается строка «VNC server» в нее необходимо ввести имя удаленного компьютера или IP адрес. Как узнать IP адрес читайте статью – . Если вы хотите подключиться по имени, то посмотреть его можно в свойствах системы.

    В моем случае, я буду вводить IP адрес. После нажатия на кнопку «Connect» появится окно для ввода пароля подключения к серверу. После этого перед вами отобразится удаленный рабочий стол. Теперь вы сможете выполнять любые действия, будто это ваш компьютер.

    Что делать, если не получается подключиться.

    Часто бывают случаи, когда после установки VNC клиента для Windows не удается выполнить подключение. На это существует ряд определенных причин, рассмотрим их подробнее:

    • Антивирусные программы заблокировали работу VNC. Очень часто антивирусы определяют программы удаленного доступа как нежелательное ПО и блокируют их работу всеми способами. Для того, чтобы избежать такой ситуации необходимо добавить программу в списки исключений антивируса;
    • Неправильный IP адрес. Иногда случаются случаи, когда пользователь удаленного компьютера говорит вам неправильный IP адрес. Тем самым вы не можете подключиться. Рекомендую уточнить информацию и повторить подключение;
    • Неправильный пароль. Если вы сами задавали пароль для серверной версии. То необходимо проверить, правильно ли вы его вводите, возможно у вас включен заглавный ввод букв или выбран неправильный язык ввода;
    • Программа переключилась на другой порт работы. По умолчанию, программа работает через порт 5900. Проверьте, не занят ли данный порт каким-то другим приложением. Так же можно выполнить переадресацию портов.

    Это основные проблемы, которые встречаются при работе с VNC Viewer. Как видите, они вполне себе решаемые. Функционал программы достаточно простой, здесь нет каких-то суперполезных функций. Программа имеет вполне стандартный набор инструментов, который схож с и , а возможно и чем-то уступает своим собратьям. Чем подкупает VNC клиент для Windows, так это высокая скорость работы и большая поддержка всех современных платформ. Это делает программу достаточно привлекательной для пользователей, которые имеют устройства с разными операционными системами.

    Подведем итоги.

    Сегодня получился какой-то сумбурный обзор программы. Но все же я вам представил общую картину. Теперь вы знаете про VNC клиент для Windows и сможете его скачать и установить. Возможно программа войдет в вашу повседневную жизнь и заменит более популярные программы, например, такие как



    © 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows