最近被todesk整得挺烦的,在22号的时候突然就说我免费时长够了,逐有想法重新搭建rustdesk,之前在unraid上搭建过一次,但是效果一般还导致死机,因为我的unraid是底层NAS,这个不能倒下啊,因此有了在飞牛搭建的想法,而且飞牛的DOCKER控制比unraid直观,开始操作
。
首先查好资料选好,选好容器,这里有感谢徐大大的文章:RustDesk 完整部署教程:支持 Web 管理后台和网页客户端远程,保姆级教学来了! - 攻略分享 飞牛私有云论坛 fnOS
,感谢lejianwen的教程。我选用的容器为
image: lejianwen/rustdesk-server-s6:latest
开始的时候学习徐大大这样部署:发现反向代理不通,请教徐大大后再看容器的教程发现21115-21117端口不适合反代,真正需要反代出去的是21114(web管理和API),21118和21119(远程控制),这里反代我就不多说了,用飞牛官方的套件lucky完成,这里也有相应教程。使用lucky开启HTTPS反向代理和webclient2连接 · lejianwen/rustdesk-api · Discussion #81 · GitHub
我的compose:

compose up完成,现在介绍一下我的设备:
飞牛同内网的电脑一台(有公网IPV4)
公司电脑一台(有公网IPV4)
手机两台(移动网络的大内网IPV6)
首先遇到的情况:一开始我是根据徐大大的内容反代,发现所有设备都无法连接上服务器,徐大大跟我讲是路由器的问题,也可以在他的帖子上看到他开通了DMZ。其实现在看来无论如何反代都是无效的,当时钻牛角尖研究了了好久,放弃了反代之后采用端口转发,端口转发是顺利连接上了,DDNS:21116,DDNS:21117。但是有个问题,两台公网仪器很快就连接上了服务端,绿标就绪表示完成。公网之间也能互相控制了。但是我两台手机死活连接不上服务器,于是乎找原因。终于在rustdesk贴吧找到了答案,感谢吧友ASC:问问大家,为什么我自建了服务器却不能用移动网连接?【rustdesk吧】_百度贴吧

于是乎开始直接把公网IP:21116打上去,顺利连通,确实是DDNS的问题,因为我是双栈网络,而我家docker设置,没有支持IPV6,所以一直两台手机无法连通,于是乎采用rd.ddns:21116顺利连通。做到这里,我在回看徐大大的帖子,发现其实他理解错了,他的ID服务器跟中继服务器根本没有走反代的,因为他开启了DMZ,所有端口都是开放的,而在rustdesk客服端填写这个域名下去,他会自动补齐是21116跟21117,如果你填写了额外的端口号,它就不补齐后面的端口,其实徐大大这样填最终的结果是21116.xxx.com:21116,而不是他compose上写的反代地址:21116.xxx.com:8083,真正走反代的话应该填写21116.xxx.com:8083,但是这样是通不了的(反代就是不行的。)
好解决完这个问题又有一个新的问题,我所有仪器的已经连上了服务器,但是我两台手机无法连接两台公网的电脑,两台公网的电脑可以互联,也可以控制两台手机,两台手机之间也可以互联。又开始找原因,抓包,查资料,咨询基友,跟徐大大交流,还是发现不了问题。


一度以为两台手机不知道什么情况被墙了,后来今晚翻阅资料无意中看到了:关于自建Rustdesk 远程桌面服务器的公网访问:无法连接中继服务器的问题解决方法 - 帅哥在此 - 博客园
当内网和外网填写的自定义服务器地址不一致时,rust服务器会造成ID可用,但中继失败。
虽然我全都连上了服务器,但是我尝试多了,有些设备是填写了内网:21116,公司电脑填写了DDNS:21116。两台手机填写的是rd.ddns:21116,虽然说他们都连接上了服务器,公网之间能直接通过21116端口连接,而手机内网必须是走中继的,因此这个情况导致了这个情况。
解决方法:内外网客户端全部统一使用公网IP或域名时,服务器才会自动转换中继数据包。
于是乎整个折腾流程完成,可以开始愉快的使用啦!其实整体搭建不算困难,只需注意我提到的几点问题相信各位都能顺利搭建,最后qtm的TODESK,再见!
最后还要多谢这个帖子,也给了我不少启发:自己折腾rustdesk的总结 - 攻略分享 飞牛私有云论坛 fnOS