RustDesk是一款开源的远程桌面软件,支持Windows、Linux、MacOS等多个平台。它的特点是简单易用,无需配置,只需下载安装即可使用。此外,RustDesk支持自建服务器,可利用自己的服务器实现高质量的画质传输,而无需付费购买主流远程桌面软件的增值服务。本文记录了如何在腾讯云轻量应用服务器搭建RustDesk服务器的简易步骤。
前提
腾讯云服务器一台,系统为CentOS 7.6 64bit,并安装了docker
及docker-compose
。
步骤
1. 编写docker-compose.yml
,以将RustDesk服务部署在docker容器中
首先创建一个目录(如rustdesk
),然后在该目录下创建docker-compose.yml
文件,内容如下:
version: "3"
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
2. 运行docker-compose
在上述的rustdesk
目录下,运行以下命令:
sudo docker-compose up -d
此时,RustDesk服务已经运行在服务器上。可以通过netstat -tunlp
查看服务端口,默认运行在21115-21119/tcp
和21116/udp
端口上。
3. (如有) 关闭ipv6
在默认情况下,服务器一般会开启ipv6,从而导致RustDesk服务默认绑定在ipv6地址上(如下图所示,netstat
所返回的结果中,RustDesk服务端口绑定在tcp6上)。且目前暂无办法通过配置等方式修改成监听ipv4地址(参见GitHub中的issue)。
因此,如果需要通过ipv4地址访问RustDesk服务,需要关闭ipv6。关闭步骤可见这个教程。本文采取的是第一个做法,简单一个shell命令即可,但需要重启服务器:
grubby --args ipv6.disable=1 --update-kernel DEFAULT
注意:关闭ipv6可能会导致其他问题,如nginx服务无法启动(某些server监听了ipv6地址)等,因此请谨慎操作。如果有更好的解决方案,欢迎留言或发邮件~
4. 配置防火墙等
由于腾讯云或其他云服务商默认会开启防火墙,因此需要在安全组中添加规则,允许21115-21119/tcp
和21116/udp
端口的外网访问。下图是腾讯云轻量应用服务器的防火墙配置界面:
对于一些Linux服务器,还需要在内部配置防火墙规则,以允许这些端口的访问。具体可以根据服务器的系统版本和防火墙软件进行配置。
5. 配置客户端
最后,根据本机的操作系统类型下载RustDesk客户端,安装并打开,在设置中输入ID服务器的公网IP地址以及Key,应用后即可连接到服务器。
如无特殊配置(按本文的操作),ID服务器的公网IP地址默认为[服务器公网IP]:21116
,公网IP可以在服务器提供商的控制台中查看。
此外,Key的内容需要在服务器的rustdesk/data
目录下查看,文件名为id_ed25519.pub
,将其内容复制到客户端的Key输入框中。
中继服务器和API服务器无需填写,RustDesk客户端会默认探测。
6. 开始远程
应用设置后,观察下方的链接状态,如果显示就绪,则表示连接成功,即可开始远程操作。否则,可尝试重新启动客户端或检查服务器端口是否开放等。