RustDesk на своём сервер.

Средний рейтинг
Еще нет оценок
Мой рейтинг:

Всем привет.

После всех этих новостей про компрометацию anydesk захотелось сделать что-то такое же, но только на своём сервере.

Нашел решение — rustdesk — и решил его попробовать. Может есть что-то и другое, но пока пробую его.

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

Ссылки на все файлы и руководства, которые тут будут использованы, внизу страницы.

И так…

Требования к серверу.

Requirements
You need to have Linux installed, script is tested working with CentOS Linux 7/8, Ubuntu 18/20 and Debian. A server with 1 CPU, 1 GB RAM and 10 GB disk is plenty to run RustDesk.

Как видно, требования достаточно скромные. У меня для этого будет ВМ с 1 CPU /8 Core и 8 ГБ RAM, HDD — 32 GB. Для тестирования хватит, потом можно будет добавить или перенести на более производительный сервер.

Установка ВМ или ОС не рассматривается, т.к. предполагается, что вы это и так умеете делать.

Настройка сервера.

Если у вас есть UFW в качестве firewall’а, то надо будет открыть соответствующие порты:

Используемые порты.

Согласно официальному руководству:

By default, hbbs listens on 21114 (TCP, for web console, only available in Pro version), 21115 (TCP), 21116 (TCP/UDP) and 21118 (TCP), hbbr listens on 21117 (TCP) and 21119 (TCP). Be sure to open these ports in the firewall. Please note that 21116 should be enabled both for TCP and UDP. 21115 is used for the NAT type test, 21116/UDP is used for the ID registration and heartbeat service, 21116/TCP is used for TCP hole punching and connection service, 21117 is used for the Relay services, and 21118 and 21119 are used to support web clients. If you do not need web client (21118, 21119) support, the corresponding ports can be disabled.

  • TCP (21114, 21115, 21116, 21117, 21118, 21119)
  • UDP (21116)

Эти порты надо будет пробросить, если сервер за NAT’ом.

Установка.

Есть несколько способов установки:

  1. с использованием скрипта,
  2. загрузки на сервер приложений и их последующий запуск.

Рассмотрим эти варианты по очереди.

Установка с помощью скрипта.

Загрузим скрипт на сервер.

Либо через WinSCP по ссылке ниже.

Если нет возможности скачать, то вот содержимое скрипта, но если нет Инета, то бессмысленно, на мой взгляд, затевать установку:

скрипт установки

[свернуть]

После загрузки поставить бит исполнения на скрипт:

либо сразу запустить:

В моём случае после запуска скрипт доустановил нужные пакеты:

rustdesk install

После этого задал вопрос:

Выбрать предпочитаемый метод подключения: автоматически определить внешний IP или ввести доменное имя вручную.

Я выбрал 2, т.к. у меня зарегистрировано имя для моего IP.

После этого вышел запрос на ввод адреса:

rustdesk install etnter domain name

После этого скрипт продолжил выполнение:

— загрузил серверное приложение

rustdesk install download server app

rustdesk install console

— выдал запрос на установку и конфигурирование web-сервера.

Ответил положительно:

rustdesk install choice

После чего он загрузил и установил web-сервер, а так же выдал адрес по которому доступен, публичный ключ, логин и пароль:

rusttdesk web-server install

Скрипт попросил нажать любую клавишу для завершения работы.

После этого попробовал зайти по адресу и вот что у меня там:

rustdesk webui

Клиентская часть.

После установки можно скачать клиента по ссылке ниже и установить.

После этого, запустить и войти в настройки:

rustdesk client 01

Откроется новая вкладка в этом же окне (мне надо было к этому привыкнуть, хотя в том же Anydesk так же, но там это более акцентированно что ли) и там выбрать «Сеть» (Network) и нажать «Разблокировать сетевые параметры» (Unlock network settings):

rustdesk client window rusrustdesk client window eng

После этого будут доступны поля:

  • ID Server: здесь указать либо полное доменное имя сервера, либо его внешний IP (внутри сети можно, наверное, адрес в локальной сети — я не пробовал)
  • Relay Server: здесь указать либо полное доменное имя сервера, либо его внешний IP (внутри сети можно, наверное, адрес в локальной сети — я не пробовал)
  • API Server: пока не понятно зачем, я не указывал
  • Key: ключ выданный при установке.

Если вы проморгали публичный ключ, который написал установщик, то его посмотреть можно вот так:

Помним, что это публичный ключ. Приватный держим в строжайшем секрете и не допускаем никого, кроме доверенных лиц.

После заполнения всех полей жмем кнопку «Применить» (Apply). Повторяем тоже самое со всеми клиентами, где планируется использовать.

Пробуем подключиться.

Логи посмотреть можно вот тут:

  • relayserver.log
  • signalserver.log

Здесь видно с какого IP было подключение к какому, а так же ID клиентов.

 

[заметка дополняется]

 

 

Ссылки:

Клиент: 1.2.7 | 1.3.0 | 1.3.1 | 1.3.2 |

Официальный сайт.

Цены.

Документация.

Сохраненные копии оф ссылок + ПО.

 

 

If you found an error, highlight it and press Shift + Enter or to inform us.

Фото аватара

Дмитрий

родился, учился, работаю-учусь

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии