编辑
2024-09-08
Linux运维
00

目录

买服务器
cat docker-compose.yaml
启动
win客户端
就可以输入对方ID访问了
额外知识讲解
1. hbbs (ID 服务器)
2. hbbr (中继服务器)
举个实际例子
总结

有几家非要收钱,不收钱就慢得要死,自建一个自己用肯定就快了。

买服务器

首先去这里买一台服务器:https://acck.io/shop/

五块钱一台。

然后去服务器装docker compose:https://www.dong-blog.fun/post/1980

cat docker-compose.yaml

yaml
version: '3.8' services: hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs ports: - "21115:21115/tcp" # NAT 类型测试 - "21116:21116/tcp" # TCP 打洞与连接服务 - "21116:21116/udp" # ID 注册与心跳服务 - "21118:21118/tcp" # 网页客户端支持 volumes: - ./data:/root depends_on: - hbbr restart: unless-stopped environment: - KEY=mimaxxxxxxxxxx hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr ports: - "21117:21117/tcp" # 中继服务 - "21119:21119/tcp" # 网页客户端支持 volumes: - ./data:/root restart: unless-stopped

启动

docker compose up -d

防火墙:

Ubuntu/Debian (使用 ufw)

bash
sudo ufw allow 21115/tcp sudo ufw allow 21116/tcp sudo ufw allow 21116/udp sudo ufw allow 21117/tcp sudo ufw allow 21118/tcp sudo ufw allow 21119/tcp sudo ufw reload

​CentOS/RHEL (使用 firewalld)

bash
sudo firewall-cmd --permanent --add-port=21115/tcp sudo firewall-cmd --permanent --add-port=21116/tcp sudo firewall-cmd --permanent --add-port=21116/udp sudo firewall-cmd --permanent --add-port=21117/tcp sudo firewall-cmd --permanent --add-port=21118/tcp sudo firewall-cmd --permanent --add-port=21119/tcp sudo firewall-cmd --reload

win客户端

下载客户端安装:

https://rustdesk.com/zh-cn/

设置好服务器IP和key,key就是mimaxxxxxxxxxx

image.png

就可以输入对方ID访问了

额外知识讲解

1. hbbs (ID 服务器)

作用hbbs 是 RustDesk 的“身份服务器”,主要负责管理设备的注册、心跳、以及帮助设备之间建立直接连接(P2P)。

端口功能: • TCP 21115: 用于 NAT 类型测试
• 你的设备可能处于不同的网络环境(比如路由器后面),这个端口会测试你的网络是否支持直接连接(P2P)。如果不支持,就需要通过中继服务器(hbbr)来转发数据。 • TCP 21116: 用于 TCP 打洞与连接服务
• 如果设备之间可以直接连接(P2P),这个端口会帮助它们“打洞”,让它们可以直接通信,而不需要中继服务器。 • UDP 21116: 用于 ID 注册与心跳服务
• 每个设备在启动时会向 hbbs 注册一个唯一的 ID,并且定期发送“心跳”信号,告诉服务器“我还活着”。这个端口就是用来处理这些信息的。 • TCP 21118: 用于 支持网页客户端
• 如果你使用 RustDesk 的网页版客户端,这个端口会负责处理网页客户端的连接请求。


2. hbbr (中继服务器)

作用hbbr 是 RustDesk 的“中继服务器”,主要负责在设备之间无法直接连接(P2P)时,转发它们的数据。

端口功能: • TCP 21117: 用于 中继服务
• 如果设备之间无法直接连接(比如 NAT 类型不支持 P2P),它们的数据会通过这个端口转发。比如你远程控制另一台电脑时,所有操作数据都会通过这个端口传递。 • TCP 21119: 用于 支持网页客户端
• 和 hbbs21118 端口类似,这个端口也是用来支持 RustDesk 的网页版客户端。


举个实际例子

假设你想用 RustDesk 远程控制另一台电脑,以下是流程:

  1. 设备注册
    • 你的电脑和对方的电脑都会向 hbbs 注册一个唯一的 ID,并且定期发送心跳信号(通过 UDP 21116)。
  2. NAT 类型测试
    hbbs 会通过 TCP 21115 测试你的网络环境,看看是否支持直接连接(P2P)。
  3. 建立连接: • 如果支持 P2P,hbbs 会通过 TCP 21116 帮助你和对方的电脑“打洞”,让你们可以直接通信。 • 如果不支持 P2P,hbbr 会通过 TCP 21117 转发你们之间的数据。
  4. 网页客户端支持
    • 如果你使用网页版客户端,hbbshbbr 会分别通过 TCP 21118TCP 21119 处理网页客户端的连接请求。

总结

hbbs:负责管理设备的注册、心跳,以及帮助设备之间建立直接连接(P2P)。 • hbbr:负责在设备之间无法直接连接时,转发它们的数据。 • 端口:每个端口都有特定的功能,比如注册、心跳、P2P 打洞、中继转发等。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!