--- title: Установка weight: 10 --- ## Настройте свой собственный сервер при помощи следующих простых шагов ----------- ### ШАГ-1 : Скачайте серверную часть Можно [скачать файлы перейдя по ссылке](https://github.com/rustdesk/rustdesk-server/) или использовать образ Docker [rustdesk/rustdesk-server](https://hub.docker.com/r/rustdesk/rustdesk-server/tags). Доступны версии для следующих платформ: - 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](https://pm2.keymetrics.io/) для управления службами. ``` ./hbbs -r ./hbbr ``` или запустите hbbs/hbbr при помощи pm2 ``` pm2 start hbbs -- -r 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](https://pm2.keymetrics.io/docs/usage/quick-start/). Хороший инстурмет для записи логов: [pm2-logrotate](https://github.com/keymetrics/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 ``` 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 sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server 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". ![](/docs/en/self-host/rustdesk-server-oss/install/images/server-set-menu.png) Введите URL или IP-адрес hbbs в поле "ID server". Поле "Relay server" можно оставить пустыми, RustDesk автоматически определит адрес ретранслятора. Например: ``` hbbs.example.com ``` или ``` hbbs.example.com:21116 ``` ![](/docs/en/self-host/rustdesk-server-oss/install/images/server-set-window.png) #### Можно поместить конфигурацию в имя исполняемого файла (только для Windows) Замените `rustdesk.exe` на rustdesk-`host=,key=<строка-открытого-ключа>`.exe, например: rustdesk-`host=192.168.1.137,key=xfdsfsd32 =32`.exe, вы можете увидеть результат настройки в окне «О программе», как показано ниже. {{% notice note %}} Необходимо добавить и `host`, и `key`, а использовать их без них непросто. Если в ключе есть недопустимые символы, которые нельзя использовать в имени файла, удалите файл id_ed25519 и перезапустите hbbs/hbbr, файл id_ed25519.pub будет создан заново, повторяйте, пока не получите допустимые символы. {{% /notice %}} |Меню |О странице | | -- | -- | ![](/docs/en/self-host/rustdesk-server-oss/install/images/aboutmenu.png) | ![](/docs/ru/self-host/rustdesk-server-oss/install/images/lic.png) | ## Ключ шифрования ----------- В отличии от предыдущих версий, в текущей версии ключ шифрования обязателен, но нет необходимости устанавливать его самостоятельно. Когда 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/hbbr,hbbs автоматически сгенерирует новую пару ключей.