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

140 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 <IP-адрес ретранслятора[:port]>
./hbbr
```
или запустите hbbs/hbbr при помощи pm2
```
pm2 start hbbs -- -r <IP-адрес ретранслятора[:port]>
pm2 start hbbr
```
<a name="demo"></a>
{{% 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
##### 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
```
<a name="net-host"></a>
{{% 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/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/install/images/server-set-window.png)
#### Можно поместить конфигурацию в имя исполняемого файла (только для 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 %}}
|Меню |О странице |
| -- | -- |
![](/docs/en/self-host/install/images/aboutmenu.png) | ![](/docs/ru/self-host/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/hbbrhbbs автоматически сгенерирует новую пару ключей.