doc.rustdesk.com/content/self-host/install/_index.ru.md
2022-08-01 11:49:20 -06:00

9.0 KiB
Raw Blame History

title weight
Установка 10

Настройте свой собственный сервер при помощи следующих простых шагов


ШАГ-1 : Скачайте серверную часть

Можно скачать файлы перейдя по ссылке или использовать образ Docker rustdesk/rustdesk-server.

Доступны версии для следующих платформ:

  • Linux
  • Windows

Руководство основано на версии для Linux.

В скачанной папке находится два исполняемых файла:

  • hbbs - Сервер RustDesk ID/Rendezvous
  • hbbr - Сервер ретранслятора RustDesk
  • static - содержит все файлы Web-консоли

Они собраны на Centos7 и протестированы на Centos7/8 и Ubuntu 18/20.

Системные требования

Системные требования очень низкие. Минимальной конфигурации облачного сервера хватит. В зависимости от размера сети, если не удастся прямое TCP подключение, траффик пойдёт через ретранслятор. Объём трафика ретранслятора будет от 30 кб/с до 3 Мб/с (для экрана размером 1920х1080), в зависимости от разрешения и частоты обновления. Если софт испоьзуется для обычных офисных нужд, объём траффика будет около 100 кб/с.

ШАГ-2 : Запуск hbbs и hbbr на сервере

Запустите hbbs/hbbr на вашем сервере (Centos или Ubuntu). Мы рекомендуем использовать pm2 для управления службами.

./hbbs -r <IP-адрес ретранслятора[:port]>
./hbbr

или запустите hbbs/hbbr при помощи pm2

pm2 start hbbs -- -r <IP-адрес ретранслятора[:port]>
pm2 start hbbr 

{{% notice note %}}

pm2 требует для себя nodejs v16+. Если не получится запустить pm2 (например, вы не видите hbbs/hbbr в pm2 list), установите последнюю LTS версию nodejs по ссылке https://nodejs.org. Если вы хотите чтобы hbbs/hbbr запускался вмести с системой, посмотрите pm2 save и pm2 startup. Подробности по ссылке: pm2. Хороший инстурмет для записи логов: pm2-logrotate.

Параметр -r у hhbs не обязательный. Он необходим для автоподстановки адреса ретранслятора на стороне клиента. Адрес ретранслятора на стороне клиента имеет приоритет над адресом, указанным с ключом -r. {{% /notice %}}

По умолчанию hbbs слушает порты 21115(tcp) и 21116(tcp/udp), 21118(tcp), hbbr слушает порты 21117(tcp) и 21119(tcp). Удостоверьтесь, что эти порты открыты на файрволле. Обратите внимание: Порт 21116 должен быть открыт и как TCP и как UDP. Порт 21115 используется для проверки типа NAT, 21116/UDP используется для регистрации и службы heartbeat, 21116/TCP используется для пробивания TCP отверстий и службы соединений, 21117 используется для службы ретранслятора, 21118 и 21119 используется для поддержки Web-клиентов. Если вам не нужны Web-клиент (21118, 21119) соответствующие порты можно отключить.

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

Используйте ключ -h для получения справки.

Пример с использованием Docker

Linux/amd64
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r <IP-адрес ретранслятора[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr 
Linux/arm64v8
sudo docker image pull rustdesk/rustdesk-server:latest-arm64v8
sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbs -r <IP-адрес ретранслятора[:port]>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbr

{{% notice note %}} --net=host работает только на Linux, таким образом hbbs/hbbr может видеть настоящий входящий IP-адрес, а не адрес контейнера(172.17.0.1). Если --net=host сработало, ключ -p бесполезен.

Уберите --net=host если наблюдаются проблемы на вашей платформе {{% /notice %}}

ШАГ-3 : Настройка адресов hbbs/hbbr на стороне клиента

Нажмите на кнопку меню справа от ID, как указано ниже, и выберите "ID/Relay Server".

Введите URL или IP-адрес hbbs в поле "ID server". Поле "Relay server" можно оставить пустыми, RustDesk автоматически определит адрес ретранслятора.

Например:

hbbs.example.com

или

hbbs.example.com:21116

Можно поместить конфигурацию в имя исполняемого файла (только для Windows)

Замените rustdesk.exe на rustdesk-host=<host-ip-or-name>,key=<строка-открытого-ключа>.exe, например: rustdesk-host=192.168.1.137,key=xfdsfsd32 =32.exe, вы можете увидеть результат настройки в окне «О программе», как показано ниже.

{{% notice note %}} Необходимо добавить и host, и key, а использовать их без них непросто.

Если в ключе есть недопустимые символы, которые нельзя использовать в имени файла, удалите файл id_ed25519 и перезапустите hbbs/hbbr, файл id_ed25519.pub будет создан заново, повторяйте, пока не получите допустимые символы. {{% /notice %}}

Меню О странице

Ключ шифрования


В отличии от предыдущих версий, в текущей версии ключ шифрования обязателен, но нет необходимости устанавливать его самостоятельно. Когда hbbs запускается в первый раз, он автоматически сгенерирует пару из зашифрованных приватного и публичного ключей (в файлах id_ed25519 и id_ed25519.pub соответственно, в директории запуска).

Если вы не заполните поле Key: (содержимое файла публичного ключа id_ed25519.pub) на предыдущем шаге, это не отразится на соединении, но оно не будет зашифровано.

cat ./id_ed25519.pub

Если вы хотите запретить незашифрованные соединения, используйте параметр -k _ для запуска hbbs и hbbr, например:

./hbbs -r <адрес ретранслятора[:port]> -k _
./hbbr -k _

Если вы хотите сменить ключ, удалите файлы id_ed25519 и id_ed25519.pub и перезапустите hbbs/hbbrhbbs автоматически сгенерирует новую пару ключей.