公众号旧文
把自己的 RustDesk 服务器分享给朋友使用
之前写过一篇文章:远程控制不求人 之 搭建 RustDesk 服务器
当时的目标很简单:
不受 TeamViewer 的限制,也不用依赖第三方远控平台。
自己购买一台 VPS,部署 RustDesk Server,自己的电脑、手机都连接自己的服务器,实现稳定、高清、流畅的远程控制。
一年过去了,这套 RustDesk 服务一直稳定运行。
于是产生了一个新的想法:
为什么不把自己的 RustDesk 服务器分享给朋友使用?
让更多人拥有一个不受限制、速度稳定、隐私更好的远程控制环境。
下面记录一下,把私人 RustDesk Server 变成一个可共享服务的过程。
一、为什么搭建公共 RustDesk
目前常见的远程控制软件:
- TeamViewer
- AnyDesk
- ToDesk
- 向日葵
虽然功能完善,但是都有一些限制:
例如:
- 免费用户限制连接时间
- 商业检测误判
- 高级功能收费
- 数据经过第三方服务器
对于个人用户来说,偶尔远程自己的电脑没有问题。
但是如果需要长期控制:
- 家里的电脑
- 公司电脑
- 父母电脑
- NAS
- 服务器
自建 RustDesk 是一个不错的方案。
二、RustDesk 工作原理
自建 RustDesk 服务器,是不是所有远程画面都会经过我的服务器?
实际上不是。
RustDesk 采用类似 P2P 的架构。
整体结构:
控制端
|
|
RustDesk Server
|
|
被控制端
服务器主要负责:
1. ID Server(hbbs)
负责:
- 注册设备 ID
- 查询设备位置
- NAT 穿透
- 建立连接
2. Relay Server(hbbr)
当两个设备无法直接连接:
例如:
- 双方 NAT
- 公司网络限制
- 运营商封锁
则通过 Relay 中转
因此大部分情况下:
A ←──────→ B
服务器只负责协调。
只有无法 P2P 时:
A
|
|
服务器中转
|
|
B
三、准备服务器
RustDesk 对服务器要求并不高。
最低配置:
CPU:1核
内存:512MB
硬盘:10GB
带宽:100Mbps
即可满足个人和小规模使用。
如果只是自己 + 几个朋友,那更低配置也可以。
四、绑定域名
公网 IP 虽然可以使用,但是长期分享不推荐。
如果未来:
- 更换服务器
- 更换机房
- IP变化
所有用户都需要重新修改配置。
所以建议绑定域名。
例如,购买一个域名:
example.com
添加 DNS:
A记录
rustdesk.example.com
↓
服务器公网IP
之后客户端填写:
ID Server:
rustdesk.example.com
Relay Server:
rustdesk.example.com
以后换服务器,只需要修改 DNS 的解析记录。
五、查看 RustDesk Key
RustDesk 使用密钥验证服务器。
查看:
cat /var/lib/rustdesk-server/id_ed25519.pub
输出:
+xxxxxxxxxxxxxxxxxxxxxxxx=
这一串就是服务器公钥。
六、用户如何配置
用户只需要安装 RustDesk 客户端。
打开:设置 → 网络
填写:
ID Server:
rustdesk.example.com
Relay Server:
rustdesk.example.com
Key:
+xxxxxxxxxxxxxxxx=
保存。
之后输入对方 RustDesk ID,例如:
123 456 789
再输入密码,即可连接。
七、服务器安全设置
当 RustDesk 开放给别人使用后,需要考虑安全。
1. 开放必要端口
RustDesk 常用端口
TCP:
21115
21116
21117
21118
UDP:
21116
不要直接开放全部端口。
2. 开启防火墙
例如 Ubuntu:
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21117/tcp
ufw allow 21118/tcp
ufw allow 21116/udp
查看:
ufw status
3. 安装 Fail2ban
防止暴力扫描:
apt install fail2ban
查看:
systemctl status fail2ban
4. 定期查看日志
例如:
journalctl -u hbbs
journalctl -u hbbr
关注:
- 异常连接
- 大量 Relay
- 异常流量
八、如何长期维护
一个长期运行的 RustDesk 服务,需要几个维护项目。
1. 监控服务状态
查看:
systemctl status hbbs
systemctl status hbbr
确保:
active (running)
2. 设置开机启动
检查:
systemctl enable hbbs
systemctl enable hbbr
服务器重启后,服务自动恢复。
3. 定期备份 Key
最重要的文件:
/var/lib/rustdesk-server/
尤其:
id_ed25519
id_ed25519.pub
如果丢失,所有客户端 Key 都需要重新配置。
4. 关注服务器流量
例如安装:
vnstat
查看:
vnstat
了解每天/月流量。
九、我的 RustDesk 分享方案
目前计划提供一个免费的 RustDesk 节点。
配置:
服务器:
阿里云北京节点
地址:
rustdesk.851004721.xyz
状态:
378天
适合:
- 个人远程
- 家庭设备管理
- NAS控制
- 服务器维护
总结
RustDesk 最大的价值,不是替代 TeamViewer。
而是把远程控制的基础设施掌握在自己手里。
购买 VPS
↓
部署 RustDesk
↓
绑定域名
↓
提供服务
↓
监控维护
就是一个完整的小型互联网服务。
以前搭建 RustDesk,只是为了自己方便。
现在把它分享出去,则是让自己的服务器能力,服务更多人。
这也是个人玩家玩 VPS 的一个很有意思的方向。