1. 搭建环境
- 服务器:(最好是选非大陆的服务器)
- 系统:Debian 10(非必需 DD 用原来的系统也 OK)/Ubuntu
- 安装好 Docker、Docker-compose(相关脚本)
sudo -i # 切换到root用户 apt update -y # 升级packages apt install wget curl sudo vim git # Debian系统比较干净,安装常用的软件 |
创建一下安装的目录:
BASH
mkdir -p /root/data/docker_data/rustdesk cd /root/data/docker_data/rustdesk nano docker-compose.yml |
docker-compose.yml
填入以下内容:
YAML
复制成功
version: ‘3’ networks: rustdesk-net: external: false services: hbbs: container_name: hbbs ports: – 21115:21115 – 21116:21116 – 21116:21116/udp – 21118:21118 image: rustdesk/rustdesk-server:latest command: hbbs -r hbbs.example.com:21117 -k _ # hbbs.example.com改成你的IP或解析好的域名 volumes: – ./hbbs:/root networks: – rustdesk-net depends_on: – hbbr restart: unless-stopped hbbr: container_name: hbbr ports: – 21117:21117 – 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: – ./hbbr:/root networks: – rustdesk-net restart: unless-stopped |
没问题的话,ctrl+x
退出,按 y
保存,enter
确认。
打开防火墙的端口 21115
、21116
、21117
、21118
、21119
默认情况下,hbbs 监听
21115(tcp)
,21116(tcp/udp)
,21118(tcp)
,hbbr 监听21117(tcp)
,21119(tcp)
。务必在防火墙开启这几个端口, ** 请注意
21116
同时要开启TCP
和UDP
**。其中
21115
是 hbbs 用作 NAT 类型测试,21116/UDP
是 hbbs 用作 ID 注册与心跳服务,21116/TCP
是 hbbs 用作 TCP 打洞与连接服务,21117
是 hbbr 用作中继服务,21118
和21119
是为了支持网页客户端。如果您不需要网页客户端
(21118,21119)
支持,对应端口可以不开。
- TCP(21115, 21116, 21117, 21118, 21119)
- UDP(21116)
查看端口是否被占用(以 21115
为例),输入:
BASH
lsof -i:21115 #查看21115端口是否被占用,如果被占用,重新自定义一个端口 |
如果出现:
BASH
-bash: lsof: command not found |
运行:
BASH
apt install lsof #安装lsof |
如果端口没有被占用,我们接着可以运行:
BASH
cd /root/data/docker_data/rustdesk docker-compose up -d |
注意:
1、不知道服务器 IP,可以直接在命令行输入:
curl ip.sb
,会显示当前服务器的 IP。2、遇到访问不了的情况,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。
5.2 更新
BASH
cp -r /root/data/docker_data/rustdesk /root/data/docker_data/rustdesk.archive # 万事先备份,以防万一 cd /root/data/docker_data/rustdesk # 进入docker-compose所在的文件夹 docker-compose pull # 拉取最新的镜像 docker-compose up -d # 重新更新当前镜像 |
利用 Docker-compose 搭建的应用,更新非常容易~
5.3 卸载
BASH
cd /root/data/docker_data/rustdesk # 进入docker-compose所在的文件夹 docker-compose down # 停止容器,此时不会删除映射到本地的数据 rm -rf /root/data/docker_data/rustdesk # 完全删除映射到本地的数据 |
6.2 几个小问题
6.2.1 加密通话
hbbs 在第一次运行时,会自动产生一对加密私钥和公钥(分别位于运行目录下的 id_ed25519
和 id_ed25519.pub
文件中),其主要用途是为了通讯加密。
如果您在上一步骤中没有填写 Key:
(公钥文件 id_ed25519.pub
中的内容),不影响连接,但是连接无法加密。
PLAINTEXT
cat /root/data/docker_data/rustdesk/hbbs/id_ed25519.pub |
如果要更改 key,请删除 id_ed25519
和 id_ed25519.pub
文件并重新启动 hbbs/hbbr,hbbs 将会产生新的密钥对