远程桌面工具rustdesk的私有化部署

最近因为利用rustdesk远程操作诈骗太多,所以rustdesk官方直接关闭了国内的公有服务,相对其他比如teamviewer来说,rustdesk还是个比较不错的选择,性能考量也过得去,相对来说在双方都是mac的情况下,不付费的体验来说,比自带的vnc好了很多,vnc目测是直接全量传实时画面数据,带宽占用大,体验差。正巧最近有需求就使用了rustdesk所以记录下部署过程
我使用的较早先版本的部署方式,
首先需要一台有外网ip的服务器,并且需要使用到以下几个端口,如果使用云服务器,需要在控制台开启这些端口
核心端口:

1
2
TCP 21114-21119
UDP 21116

测试有没有开启可以使用这个工具网站 CanYouSeeMe.org ,或者用另一台机器telnet
需要部署的服务有两个
hbbs - RustDesk ID/Rendezvous server id服务
hbbr - RustDesk Relay server 中继服务
这里使用docker来部署,比较简单,先拉取镜像,没错就一个

1
sudo docker image pull rustdesk/rustdesk-server

这边建议创建个rustdesk目录,进入目录后再启动下面的服务
先启动hbbs

1
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

使用 --net=host 是为了让server拿到连接进入的真实来源ip
然后再启动hbbr

1
sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr

接下来进到刚才建的目录,会看到有个一对公私钥,把公钥内容保存下来
然后就是客户端登录了,以mac为例

点击这边三点,再点击修改中继设置

在弹出窗口

ID服务器跟中继服务器框填入前面部署服务的服务器外网ip,在Key框里把刚才保存的公钥填进去
每个需要连接的客户端都需要这么设置,然后就可以使用自己的服务器作为ID跟中继服务器了,不会受官方关停国内服务影响