简介
自建中继服务器的远程桌面
软件下载
部署
尝试运行
我们可以先尝试运行一下;确保可以使用后,我们再使用pm2挂起访问,或者systemctl注册为服务。
之后,在刚刚我们的RustDesk解压后的目录内,可以看到相关的文件:
RustDesk
├── hbbr
├── hbbs
└── rustdesk-utils
解释一下各个作用:
- hbbs: RustDesk的ID服务,用于分配和注册ID;
- hbbr: RustDesk的中继服务,主要远程访问就是这个,如果直连远程不行,会使用hbbr进行流量中继。
启动
#指定端口启动 并加密
./hbbs -r 0.0.0.0 -p 8095 -k _
#指定端口启动 并加密
./hbbr -p 8096 -k _
运行完成之后
查看这个RustDesk目录,就可以发现,多了一些数据库文件和一个证书文件:
RustDesk
├── db_v2.sqlite3
├── db_v2.sqlite3-shm
├── db_v2.sqlite3-wal
├── hbbr
├── hbbs
├── id_ed25519
├── id_ed25519.pub
└── rustdesk-utils
我们需要拷贝.pub这个公钥文件,用于接下来的本地配置:
注册服务
我其实挺喜欢用systemctl的;但是上篇文章,其实已经足够详细,这里就直接给配置的脚本吧,我们需要创建两个Server,首先是hbbs:
[Unit]
Description=RustDesk Hbbs
After=network.target
[Service]
User=mintimate
Type=simple
WorkingDirectory=/application/rustdesk
ExecStart=/application/rustdesk/hbbs -r 0.0.0.0 -p 8095 -k _
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
之后是hbbr:
[Unit]
Description=RustDesk Hbbr
After=network.target
[Service]
User=mintimate
Type=simple
WorkingDirectory=/application/rustdesk
ExecStart=/application/rustdesk/hbbr -p 8096 -k _
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
#将上述配置写入
vim /etc/systemd/system/RustDeskHbbs.service
vim /etc/systemd/system/RustDeskHbbr.service
chmod 755 /etc/systemd/system/RustDeskHbb*
#重新加载
systemctl daemon-reload
#开机启动
systemctl enable RustDeskHbbs
systemctl enable RustDeskHbbr
systemctl restart RustDeskHbbs
systemctl restart RustDeskHbbr
systemctl status RustDeskHbbs
systemctl status RustDeskHbbr
systemctl stop RustDeskHbbs
systemctl stop RustDeskHbbr
开启强制加密
如果你搭建好了RustDesk后,会发发现: 不需要设置key,也可以进行RustDesk的连接。
这是因为RustDesk默认服务器端会开启加密,但是并不强制。
如何你想开启强制加密,可以在启动hbbr和hbbs的时候,加上参数-k _:
./hbbr -k _
./hbbs -k _
端口详解
rustdesk服务端口号默认情况下,
hbbs 监听 21115 (tcp),21116 (tcp/udp),21118 (tcp),
hbbr 监听21117 (tcp),21119 (tcp),需
要在防火墙开启这几个端口,请注意 21116 同时要开启TCP和UDP
。
其中 21115 是hbbs用作NAT类型测试,
21116/UDP是 hbbr 用作ID注册与心跳服务,
21116/TCP是hbbr用作TCP打洞与连接服务。
21117 是 hbbr 用作中继服务,
21118 和 21119 是为了支持网页客户端。
如果您不需要网页客户端(21118,21119)支持,对应端口可以不开。
远程配置
外网机 <==> 内网机
内网机配置:
id服务器: 内网ip:端口
中继服务器: 域名:端口
外网机配置:
id服务器: 域名:端口
中继服务器: 域名:端口
中转和直连
设置固定密码
参考资料
远程协助告别卡顿!自建RustDesk远程桌面连接服务,私有化部署媲美TeamViewer和向日葵
免费开源远程桌面控制神器RustDesk Docker/Win/Ubuntu/Mac/iOS/Android等多种系统搭建跨平台使用支持硬件解码