doc.rustdesk.com/content/self-host/install/_index.zh-cn.md
2022-04-12 04:17:51 +08:00

102 lines
4.1 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://gitee.com/rustdesk/rustdesk-server/)或者使用docker rustdesk/rustdesk-server**注意** 你需要[购买许可](https://rustdesk.com/server/)才能正常运行本程序
提供版本:
- Linux
- Windows
以下针对Linux版本做使用说明。
有两个可执行文件:
- hbbs - RustDesk ID注册服务器
- hbbr - RustDesk 中继服务器
Linux版本在Centos7构建在 Centos7/8Ubuntu 18/20上测试过Debian系列的发行版本应该都没有问题。如果有其他发行版本需求请联系我。
#### 服务器要求
硬件要求很低最低配置的云服务器就可以了CPU和内存要求都是最小的。关于网络大小如果TCP打洞直连失败就要耗费中继流量一个中继连接的流量在30k-3M每秒之间1920x1080屏幕取决于清晰度设置和画面变化。如果只是办公需求平均在100K/s。
### 步骤2: 在服务器上运行 hbbs 和 hbbr
在服务器上运行 hbbs/hbbr (Centos 或 Ubuntu)。建议使用[pm2](https://pm2.keymetrics.io/) 管理服务。
```
./hbbs -r <hbbr运行所在主机的地址>
./hbbr
```
{{% notice note %}}
hhbs的-r参数不是必须的他只是方便你不用在客户端指定中继服务器。客户端指定的中继服务器优先级高于这个。
{{% /notice %}}
默认情况下hbbs 监听21114(tcp), 21115(tcp), 21116(tcp/udp), 21118(tcp)hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, **请注意21116同时要开启TCP和UDP**。其中21114是网页控制台+API21115是hbbs用作NAT类型测试21116/UDP是hbbs用作ID注册与心跳服务21116/TCP是hbbs用作TCP打洞与连接服务21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页控制台+API21114或者网页客户端2111821119支持对应端口可以不开。
- TCP(21114, 21115, 21116, 21117, 21118, 21119)
- UDP(21116)
如果你想选择**自己的端口**,使用 “-h” 选项查看帮助。
#### Docker示范
```
sudo docker image pull rustdesk/rustdesk-server
sudo docker run --name hbbs -p 21114:21114 -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -it --rm rustdesk/rustdesk-server hbbs -r <relay-server-ip> -m <registered_email>
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -it --rm rustdesk/rustdesk-server hbbr -m <registered_email>
```
### 步骤3: 在客户端设置 hbbs/hbbr 地址
{{% notice note %}}
对于Windows客户端可以选用[免填自定义服务器配置](/docs/zh-cn/self-host/console/#windows-exe)方案
{{% /notice %}}
点击 ID 右侧的菜单按钮如下,选择“ ID/中继服务器”。
![](/docs/en/self-host/install/images/server-set-menu-zh.png)
在 ID 服务器输入框中(被控端+主控端)输入 hbbs 主机或 ip 地址另外两个地址可以不填RustDesk会自动推导如果没有特别设定中继服务器指的是hbbr21116端口API服务器指的是上面的网页控制台+API21114
{{% notice note %}}
图中的Key不是指的注册邮箱[下节](#key)将会具体解释。
{{% /notice %}}
例如:
```
hbbs.yourhost.com
```
或者
```
hbbs.yourhost.com:21116
```
![](/docs/en/self-host/install/images/server-set-window-zh.png)
## Key
-----------
同上个版本不同本版本中的Key是强制的hbbs在第一次运行时会自动产生一对加密私钥和公钥分别位于运行目录下的`id_ed25519`和`id_ed25519.pub`文件中其主要用途是为了通讯加密如果您在上一步骤中没有填写Key(公钥文件`id_ed25519.pub`中的内容)
```
cat ./id_ed25519.pub
```
不影响连接但是连接无法加密。如果您禁止没有Key的用户建立非加密连接请在运行hbbs和hbbr的时候添加`-k _ `参数,例如:
```
./hbbs -r <hbbr运行所在主机的地址> -k _
./hbbr -k _
```
{{% notice note %}}
在[控制台](/docs/zh-cn/self-host/console/)首页点击Windows EXE也可以看到Key。
{{% /notice %}}