惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
博客园 - 【当耐特】
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理

i4T

OpenClaw在Macmini下网络HTTPS_Proxy代理配置 | i4T 容器化部署OpenClaw授权View权限对Kubernetes集群进行巡检故障排查 | i4T 初试VictoriaLogs集群采集Kubernetes Pod日志 | i4T Kubernetes 部署Elasticsearch为WordPress提供文章搜索 | i4T Kubernetes使用Prometheus监控爱快路由器iKuai_Exporter | i4T RustDesk API集成Authentik ODIC单点登录 | i4T Kubernetes 部署RustDesk API实现专业版功能及管理Web UI | i4T Authentik 集成群晖Synology DSM 实现单点登录 | i4T Authentik 集成Kubernetes Grafana 实现SSO单点登录 | i4T Authentik 集成接入VMware vCenter 8.0.3实现ldP身份提供商登录 | i4T Kubernetes v1.29.9部署Authentik 统一认证平台并接入Harbor | i4T 二进制Kafka_2.13-3.9.0集群开启并配置ACL用户授权 | i4T R730 ESXI 8.0平台PCI直通2080Ti 实现Windows远程游戏以及AI模型 | i4T Dell R730虚拟化ESXI8.0.3平台使用丽台Tesla V100配置vGPU | i4T Kubernetes使用HostAliases手动为容器Pod添加hosts解析 | i4T Nginx 使用resolver变量实现动态DNS解析配置 | i4T Kubernetes LoadBalancer负载均衡外部访问方案MetalLB | i4T Kubernetes 1.29.0 部署配置Ingress-nginx-controller | i4T Ubuntu环境下Docker Compose配置Harbor开机自启 | i4T Dell PowerEdge R730更新iDRAC8版本 | i4T Kubernetes部署RedisShake实现Redis哨兵异地灾备 | i4T Kubernetes部署开源Excalidraw实现在线绘图 | i4T Kubernetes部署DNSmgr聚合公网DNS多平台域名解析系统及SSL自续签 | i4T Kubernetes Grafana数据从Sqlite3迁移到MySQL | i4T 宝塔内网Nginx获取公网宝塔Nginx用户真实IP | i4T 基于Kubernetes Categraf SNMP插件采集Dell R730服务器硬件并使用Grafana监控 | i4T Kubernetes v1.29.9安装Grafana 12并开启匿名访问 | i4T Containerd 配置免费镜像加速源 | i4T Docker集成Containerd实现容器管理 | i4T
使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连...
https://i4t.com/users/auuAwtzuk · 2025-11-13 · via i4T

RustDesk远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。您可以使用我们的注册/中继服务器, 或者自己设置, 亦或者开发您的版本。

  • rustdesk-hbbs是RustDesk的注册/信令服务器,负责客户端的注册、身份验证和会话信息交换。
  • rustdesk-hbbr是中继服务器,当客户端之间无法建立直接连接(P2P)时,它会作为数据中继,在两个客户端之间传输数据。

其它远程软件对比

对比维度 RustDesk ToDesk 向日葵
核心定位 开源私有化部署,数据自主可控 兼顾个人与企业,主打低延迟流畅体验 大众向全场景,适配硬件辅助功能
连接性能 依赖自建服务器,P2P 连接快,速度可控 国内节点多,低延迟,游戏、设计等场景流畅 国内服务器稳定,免费版延迟中等,偶有连接不稳定情况
功能特点 基础远程控制、文件传输,无远程打印等高级功能;多屏需手动切换,远程唤醒需自行配置 支持 4K 高流畅显示、设备分组、批量管理,免费版不限速,功能贴合办公与轻娱乐 支持 4K 自动适配,提供开机棒等硬件,有远程打印、摄像头访问等功能,免费版功能限制多
安全性 开源透明,端到端加密,可自定义密钥;无强制账号登录,数据不经过第三方服务器 采用 AES - 256 加密,需账号绑定,数据经官方服务器,无公开严重漏洞 免费版广告多,需登录账号,数据经第三方服务器,曾有隐私争议和 RCE 漏洞(已修复)
使用门槛 较高,自建服务器需运维技术,适合有技术基础的用户 低,开箱即用,免费版足够日常使用,企业版操作也较简单 低,界面友好,用户基数大,普通用户易上手
费用情况 免费版无功能限制,商业版仅针对企业级管理收费,自建服务器需承担服务器成本(后面文章会介绍如何使用RustDesk API来解决商业版功能) 免费版不限速,专业版年费 118 元,企业版价格较高 免费版限速 300kbps、单文件传输受限,个人 Pro 版年费 198 元,企业版年费 3000 元起
适用场景 政府、金融等敏感数据场景,技术团队、需要私有化部署的企业 个人日常远程、企业批量设备管理,国内办公协作 个人临时远程、小型企业基础远程需求,依赖硬件辅助控制的场景

rustdesk-hbbs(注册/信令服务器)

  • 功能: 主要负责处理客户端连接的注册和身份验证。
  • 工作原理: 客户端启动后,会向 hbbs 注册身份。当一个客户端需要连接另一个客户端时,它们会通过 hbbs 来交换建立直接连接所需的信息,例如 IP 地址和端口。
  • 比喻: 就像一个电话簿,帮助两个想要通话的人(客户端)找到对方。

rustdesk-hbbr(中继服务器)

  • 功能: 在两个客户端之间中继数据。
  • 工作原理: 当 hbbs 发现两个客户端无法直接建立点对点(P2P)连接时,它会指示两个客户端通过中继服务器进行通信。这时,数据会先发送到 hbbr,然后再转发给另一个客户端。
  • 何时使用: 适用于 NAT 穿透失败的情况,例如客户端位于两个不同的防火墙后面。
    比喻: 就像一个电话转接台,当两个人无法直接通话时,电话会先转接到转接台,由转接台将信息转达给对方。

Kubernetes 安装RustDesk

  • Kubernetes版本v1.29.9
  • RustDesk 版本1.4.3
  • 存储卷使用StorageClass
  • 还需要有公网IP、或者FRP服务器

所有的项目我均放在了tools命名空间下

创建PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rustdesk-data
  namespace: tools
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: dsm7-nfs-client
  resources:
    requests:
      storage: 30Gi

创建hbbs和hbbr Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: rustdesk-hbbs
  namespace: tools
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hbbs
  template:
    metadata:
      labels:
        app: hbbs
    spec:
      restartPolicy: Always
      containers:
      - name: hbbs
        image: rustdesk/rustdesk-server:latest
        command: ["hbbs"]
        volumeMounts:
        - name: rustdesk-data  # 卷名称,需与下方volumes.name一致
          mountPath: /root
        ports:
        - containerPort: 21115
        - containerPort: 21116
        - containerPort: 21116
          protocol: UDP
        - containerPort: 21118
      # 新增volumes定义,关联PVC
      volumes:
      - name: rustdesk-data  # 卷名称,与volumeMounts.name一致
        persistentVolumeClaim:
          claimName: rustdesk-data  # 关联的PVC名称
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rustdesk-hbbr
  namespace: tools
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hbbr
  template:
    metadata:
      labels:
        app: hbbr
    spec:
      restartPolicy: Always
      containers:
      - name: hbbr
        image: rustdesk/rustdesk-server:latest
        command: ["hbbr"]
        volumeMounts:
        - name: rustdesk-data  # 卷名称,需与下方volumes.name一致
          mountPath: /root
        ports:
        - containerPort: 21117
        - containerPort: 21119
      # 新增volumes定义,关联PVC
      volumes:
      - name: rustdesk-data  # 卷名称,与volumeMounts.name一致
        persistentVolumeClaim:
          claimName: rustdesk-data  # 关联的PVC名称

创建SVC

这里SVC我使用NodePort模式

apiVersion: v1
kind: Service
metadata:
  name: rustdesk-hbbs-service
  namespace: tools
spec:
  selector:
    app: hbbs
  ports:
  - name: port-21115
    port: 21115
    targetPort: 21115
  - name: port-21116-tcp
    port: 21116
    targetPort: 21116
    protocol: TCP
  - name: port-21116-udp
    port: 21116
    targetPort: 21116
    protocol: UDP
  - name: port-21118
    port: 21118
    targetPort: 21118
  type: NodePort
---
apiVersion: v1
kind: Service
metadata:
  name: rustdesk-hbbr-service
  namespace: tools
spec:
  selector:
    app: hbbr
  ports:
  - name: port-21117
    port: 21117
    targetPort: 21117
  - name: port-21119
    port: 21119
    targetPort: 21119
  type: NodePort

接下来可以检查下我们创建的应用信息

root@k8s-master-01:~/rustdesk# kubectl get svc,pod -n tools|grep rust
service/rustdesk-hbbr-service                                        NodePort    10.96.2.252   <none>        21117:30409/TCP,21119:30602/TCP                                   29h
service/rustdesk-hbbs-service                                        NodePort    10.96.0.66    <none>        21115:30449/TCP,21116:32421/TCP,21116:32421/UDP,21118:30911/TCP   29h
pod/rustdesk-hbbr-758547cbc7-cjbrc           1/1     Running   0                29h
pod/rustdesk-hbbs-659cb54c47-r862s           1/1     Running   0                29h

端口参数说明

组件 端口 协议 作用
hbbs 21115 TCP 用于客户端与服务器之间的心跳检测和身份验证。客户端通过此端口注册到服务器,并保持连接状态。
hbbs 21116 TCP/UDP 用于TCP 打洞和连接建立。当 P2P 连接失败时,客户端会通过此端口与服务器进行中转通信。
hbbs 21116 TCP/UDP 用于UDP 打洞。客户端尝试通过 UDP 直接连接到另一台客户端,服务器在此过程中提供地址信息。
hbbs 21118 TCP 用于HTTP API。可以通过此端口获取服务器状态、在线设备列表等信息(可选,默认关闭)。
hbbr 21117 TCP 用于数据中继。当 P2P 连接失败时,客户端会通过此端口将数据转发到中继服务器,再由服务器转发到目标客户端。
hbbr 21119 TCP 用于中继服务器的管理接口(可选,默认关闭)。

此时实际上已经将上述端口映射到NodePort中,除了以上端口还需要到hbbs找到Key进行保存

root@k8s-master-01:~/rustdesk# kubectl logs -f -n tools rustdesk-hbbs-659cb54c47-r862s
#找到日志Key部分进行保存

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

客户端连接RustDesk测试

Windows客户端演示
下载地址https://github.com/rustdesk/rustdesk/releases/tag/1.4.3

正常安装后打开软件,需要进行配置,打开软件,点击右边设置
使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

选择网络,配置ID/中继服务器
使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

  • ID服务器 hbbs地址内网端口21116,主机端口32421
  • 中继服务器 hbbr地址内网端口21117,主机端口30409
  • Key前面已经提示需要保留,填写进即可

接下来只需要将32421和30409 映射到公网即可,其它端口按需映射

如果没有公网IP,这里就需要配置FRP,将对应端口使用FRP映射到公网,此处不多介绍,有问题可以私聊我

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

按照下图配置即可

  • Key 是前面保存的密钥

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

还需要设置访问密码

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

连接验证测试

只需要输入ID即可

使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

连接时可以强制走中继线路
使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

现在即连接成功
使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接

后续只需要保存ID即可

我这里提供软件包下载,可使用下放地址直接下载
https://esxi-dsm.frps.cn/s/8f98c0efe5d149fa81

个人中心

购物车

优惠劵

今日签到

有新私信 私信列表

搜索

幸运之星正在降临...

点击领取今天的签到奖励!

恭喜!您今天获得了{{mission.data.mission.credit}}积分

  • 限制以下商品使用: 限制以下商品分类使用: 不限制使用:

    所有商品和商品类型均可使用