UltraVNC як заміна TeamViewer

Попередження: всі тапочки, що прилетіли, будуть продані, помідори – з'їдені, яйця – посмажені, зіпсовані – викинуті. Ті, хто думають, що ми є фігнею - ви вгадали, візьміть з полиці пиріжок. Автор не закликає кидати мішки грудьми на амбразури. Він взагалі ні до чого не закликає – він не політик і не громадянин з активною громадянською позицією. А ось охочих подискутувати – ласкаво просимо. Сьогодні я розповідатиму вам цікаву історію про заміну Teamviewer на UltraVNC.
Навіщо взагалі потрібні такі проблеми, адже Teamviewer такий офігенний? У моєму випадку це обумовлено кількома причинами. У роботі була потрібна система віддаленого керування серверами та робочими станціями користувачів, а їх у нас на підтримці &1000. Teamviewer контролюється сторонньою компанією і невідомо, що вона робить із трафіком. Teamviewer не має довіри у деяких наших клієнтів. Нам були потрібні унікальні ID для всіх користувачів. Ну і його вартість для досить великої інфраструктури дуже пристойна, що також вплинуло на рішення. При цьому у нас досить широкі канали зв'язку і немає жорстких вимог до швидкості відгуку, що нівелювало основний недолік UltraVNC, а саме нижчу швидкість роботи.
Як це працює
Вихідна архітектура протоколу VNC слабо призначена для роботи через глобальні мережі. На це є кілька причин.
- Відсутність шифрування даних, що передаються.
- Короткі паролі (8 символів у сучасному світі? Ви серйозно?)
- Відсутність наскрізної нумерації серверів, підключення IP.
- Неможливість роботи через NAT.
Установка UltraVNC репітера
Отже, заходимо на сервер, якому призначено стати майбутнім репітером і починаємо чаклунство. Установка буде описана для Ubuntu 16.04. Ставимо необхідні залежності.
Створюємо користувача для запуску репітера.
Завантажуємо вихідники репітера.
Розпаковуємо репітер і заходимо всередину папки.
Встановлюємо репітер у систему.
Трохи підвищуємо рівень логування, щоб бачити інформацію про бінді портів і підключення в лозі.
Забороняємо обидва режими, залишаємо лише 2, тому що перший працює за іншим принципом і може створювати для нас вразливість.
Відключаємо надсилання повідомлень. Поки що ми нікому нічого відправляти не будемо. Можливо потім…
Зберігаємо файл та тестуємо коректність його налаштувань.
Все в порядку можна запускати як стандартну службу. Зупиняємо репітер за допомогою Ctrl+C та запускаємо вже як сервіс.
Перевіряємо, що служба запустилася.
Встановлення та налаштування UltraVNC сервера
Отже, перша перешкода між нами та нірваною звалилася з тріском. Тепер ми можемо підключатись до клієнтів за NAT. На черзі два наступні – відсутність наскрізної нумерації та шифрування. Налаштовуємо тестовий UltraVNC сервер. Так як у нас основний парк керованих машин – це Windows, установка сервера та клієнта буде розписана для них.
- UltraVNC Server
- SecureVNC Plugin:
- x86
- x64

Запускаємо установник 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. На ній натисканням відповідних клавіш спочатку зупиняєте, потім запускаєте сервіс.
Генерація унікального ID
Важливо пам'ятати, що колізію можна виявити лише за відповідними логами репітера. Сервіс стартуватиме, як ні в чому не бувало. Тому при додаванні номера краще все-таки дивитися за логами.
Встановлення та налаштування UltraVNC Viewer


Уважно читаємо дивне та натискаємоNext >.

Вибираємо папку установки та натискаємоNext >.

Вибираємо тільки компонентUltraVNC Viewerі натискаємоNext>.

Залишаємо тут все як є і просто натискаємоNext >.

Виставляємогалочки так, як вам буде зручно і натискаємоNext >.

Тепер завантажуємо файл плагіна за посиланням вище та переміщуємо його до папки програми. Після цього запускаємо Viewer.

Встановлюємо всі налаштування так само, як і на скріні. ID сервера для підключення вводиться саме у такому форматі, тобтоID:XXXXXXXX. IP та порт репітера вводяться такими, якими були призначені при встановленні репітера.
Все, можна підключатися та радіти життю.
Зауваження щодо використання
Побачимося у наступних серіях
Так, UltraVNC це вам не це. У сенсі, за функціональністю простіше, має всі відмітні ознаки безкоштовного ПЗ, та й взагалі, де це бачено… Але я вважаю, що як інструмент воно цілком має право на життя, якщо задовольняє вимогам безпеки та сервісу. Надалі хотілося б прикрутити до нього Single Click, але поки що вистачає і цього.
Ви можете допомогти і перевести небагато коштів на розвиток сайту