当前位置: 首页 > news >正文

1Panel自建RustDesk服务器方案实现Windows远程macOS

文章目录

  • 缘起
  • RustDesk 基本信息
    • 实现原理
    • 中继服务器的配置建议
  • 中继服务器自建指南
    • 准备服务器
    • 安装1Panel
    • 安装和配置 RustDesk 中继服务
    • 防火墙配置和安全组配置
    • 查看key
    • 下载&安装&配置客户端
    • 设置永久密码
    • 测试连接
  • macOS安装客户端提示finder写入失败
  • hbbs和hbbr说明
    • **hbbs - RustDesk ID 服务器**
    • **hbbr - RustDesk 中继服务器**
    • **使用建议**

缘起

设备繁多屏太少, 独用不便费周章。
综合共享更划算, VNC 延迟令人慌。
三方工具价高昂, 自建方案解愁肠。
中继自设稳如磐, 远程操控心不忙。

RustDesk 基本信息

  • RustDesk 是一款开源的远程桌面软件,支持跨平台操作(Windows、macOS、Linux、Android、iOS 等)。它的核心特点是轻量、高效、安全,且支持自建中继服务器,确保用户数据的隐私和安全性。

实现原理

  1. P2P 连接:RustDesk 优先尝试通过 P2P(点对点)方式建立连接,这种方式延迟低、速度快。如果双方设备位于同一局域网或 NAT 穿透成功,则直接通过 P2P 传输数据。
  2. 中继服务器:如果 P2P 连接失败(例如由于 NAT 或防火墙限制),RustDesk 会通过中继服务器进行数据传输。中继服务器负责转发双方的通信数据,确保连接成功。
  3. 加密通信:所有数据传输都经过加密,确保通信的安全性。

中继服务器的配置建议

  • 最低配置的 VPS 足以满足您的使用需求。服务器软件对 CPU 和内存的要求并不高。
  • 我们托管在 Vultr 服务器(2 CPU/4 GB)上的公共 ID 服务器能够为超过 100 万个终端提供服务。每个中继连接平均消耗 180 KB/秒的带宽。
  • 1 个 CPU 核心和 1G 内存足以支持 1000 个并发中继连接。

中继服务器自建指南

准备服务器

  • 选择一台云服务器或物理服务器,确保其具备公网 IP 和足够的带宽(带宽要求很低,基本可以忽略不计)。
  • 安装 Linux 操作系统(如 Ubuntu、CentOS 等)。

安装1Panel

  • 1Panel安装指南地址,根据不同的系统执行响应的命令,安装过程配置相关要求,然后访问控制面板,使用设置的用户登录。
    在这里插入图片描述
  • 如果无法访问,请在防火墙服务器默认安全组中开放1panel面板的访问端口,类型为TCP类型

安装和配置 RustDesk 中继服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

防火墙配置和安全组配置

  • 除了开放之前1Panel面板访问端口外,防火墙配置和安全组配置还需开放以下端口,两者必须都开放
  • TCP端口:21115-21119
  • UDP端口:21116
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

查看key

在这里插入图片描述

下载&安装&配置客户端

  • 控制端和被控端都要安装客户端,配置内容相同
  1. rustdesk GitHub下载地址,需要魔法环境,或者能打开页面复制下载链接,使用代理加速网站下载
  2. 安装完成后,打开rust desk,配置完整安装(具体不再接受,打开你就能看到,软件提示很清楚)
  3. 配置中继服务器IP和Key,确定提示成功,首页显示就绪即可
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

设置永久密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试连接

在这里插入图片描述

macOS安装客户端提示finder写入失败

  • 可能是安装包下载时损坏,重新下载安装即可

hbbs和hbbr说明

  • hbbshbbr 是 RustDesk 的核心服务器组件,分别用于 ID 服务器和中继服务器的功能。

hbbs - RustDesk ID 服务器

  • hbbs 是 RustDesk 的 ID 服务器,负责设备的注册、发现和信令传输。它监听以下端口:

  • TCP 端口

    • 21114:用于 HTTP 通信(仅在 Pro 版本中启用)。
    • 21115:用于 TCP 通信。
    • 21116:用于 WebSocket 通信。
    • 21118:用于 WebSocket 通信。
  • UDP 端口

    • 21116:用于 UDP 通信。

hbbs 的主要功能包括:

  • 管理设备的唯一 ID 和连接信息。
  • 处理设备的注册和发现请求。
  • 提供信令服务,帮助设备建立 P2P 连接。

hbbr - RustDesk 中继服务器

  • hbbr 是 RustDesk 的中继服务器,负责在无法建立 P2P 连接时转发数据。它监听以下端口:
  • TCP 端口
    • 21117:用于 TCP 通信。
    • 21119:用于 WebSocket 通信。
      hbbr 的主要功能包括:
  • 在设备之间无法直接连接时,作为中继转发数据。
  • 确保远程控制会话的稳定性和流畅性。

使用建议

  1. 端口开放

    • 确保服务器防火墙开放上述端口,以便客户端能够正常连接。
    • 如果使用云服务器,还需在云服务商的安全组中开放这些端口。
  2. 性能优化

    • hbbshbbr 对资源要求较低,1 核 CPU 和 1GB 内存即可支持大量并发连接。
    • 根据实际需求调整服务器的带宽和性能配置。

相关文章:

1Panel自建RustDesk服务器方案实现Windows远程macOS

文章目录 缘起RustDesk 基本信息实现原理中继服务器的配置建议 中继服务器自建指南准备服务器安装1Panel安装和配置 RustDesk 中继服务防火墙配置和安全组配置查看key下载&安装&配置客户端设置永久密码测试连接 macOS安装客户端提示finder写入失败hbbs和hbbr说明**hbbs…...

STM32完全学习——使用定时器1精确延时

一、定时器的相关配置 首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…...

深度学习——损失函数汇总

1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…...

1、单片机寄存器-io输入实验笔记

1、硬件 时钟总线如下: PB端口挂载在AHB1总线上,因此要对该位进行使能。 引脚 LED0和LED1挂载在PB0和PB1上:推挽输出、100M、 上拉默认高电平,低电平点亮。 2、软件 位带操作 #ifndef _IO_BIT_H_ #define _IO_BIT_H_#define …...

记忆旅游系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...

CentOS7下的 OpenSSH 服务器和客户端

目录 1. 在 IP 地址为 192.168.98.11 的 Linux 主机上安装 OpenSSH 服务器; 2. 激活 OpenSSH 服务,并设置开机启动; 3. 在 IP 地址为 192.168.98.22 的 Linux 主机上安装 OpenSSH 客户端,使用客户端命令(ssh、 scp、…...

RabbitMQ基础篇之Java客户端 Topic交换机

文章目录 Topic 交换机概述 Routing Key 与 Binding Key优缺点及场景优点缺点应用场景 案例演示创建队列和交换机:消费者代码:消息发送代码:测试: 总结 Topic 交换机概述 路由机制: Topic交换机与Direct交换机类似&am…...

微服务-Sentinel新手入门指南

微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下,服务之间存在复杂的调用关系,单个服务的故障或过载可能会迅速影响到整个系统,导致服务雪崩效应。流控组件可以限制进入系统的流量,防止系…...

传统听写与大模型听写比对

在快节奏的现代生活中,听写技能仍然是学习语言和提升认知能力的重要环节。然而,传统的听写练习往往枯燥乏味,且效率不高。现在,随着人工智能技术的发展,大模型听写工具的问世,为传统听写带来了革命性的变革…...

http性能测试命令ab

华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...

前端:轮播图常见的几种实现方式

目录 前言 一、轮播图是什么? 二、实现方法 1.使用纯 HTML、CSS、JavaScript 实现 2.使用组件来快速实现 总结 前言 在学习前端的过程中,总是有要实现轮播图效果的时候,本文就介绍了轮播图常见的几种实现方式。 一、轮播图是什么&#xff1f…...

Pytest基础01: 入门demo脚本

目录 1 Pytest接口测试 1.1 最简单版hello world 1.2 pytest.ini 2 pytest兼容unittest 3 封装pytest执行入口 1 Pytest接口测试 Pyest是一个可以用于接口测试的强大框架,开源社区也有非常多的pytest插件。 按江湖传统,学习一个新语言或者新框架&…...

ruoyi 多租户 开启后针对某一条sql不适用多租户; 若依多租户sql规则修改

文章参考:多租户功能 | Ruoyi-TDesign 忽略租户​ 1.如果需要指定单独 SQL 不开启过滤,可在对应的 Mapper 接口添加如下忽略注解: InterceptorIgnore(tenantLine "true", dataPermission "false") 此处注意事项 使…...

driftingblues6靶机

打开靶场 查看页面源代码,最下面有一个注释,提供了一个网址 vmlist.github.io,我们去访问一下 这里是一个github页面,提供攻防虚拟机的下载,对我们解题并没有什么有用的信息,我们再去扫描端口 发现只有80端…...

Neo4j GDS 2.0 安装与配置

Neo4j GDS 2.0 安装与配置 GDS插件安装:Neo4j官方文档 1. GDS简介 Neo4j Graph Data Science (GDS) 库作为 Neo4j Graph Database 的插件提供。该插件需要安装到数据库中并在 Neo4j 配置中列入白名单。有两种主要方法可以实现这一点,我们将在本章中详…...

A*算法与人工势场法结合的路径规划(附MATLAB源码)

A*算法与人工势场法(APF)结合实现路径规划 路径规划是机器人、无人机及自动驾驶等领域中的一个重要问题。本文结合了经典的 A* 算法与 人工势场法(Artificial Potential Field, APF),实现了一种改进的路径规划方法。下…...

BootstrapTable处理表格

需求背景 历史项目使用 BootstrapTable 作为前端组件 应客户需要调整&#xff1a; 冻结前四列对于大文本文字显示部分内容&#xff0c;鼠标悬浮显示完整内容 冻结列 1、引入相关CSS,JS CSS <link rel"stylesheet" href"/css/bootstrap.min.css"> …...

UniApp 打开文件工具,获取文件类型,判断文件类型

注意&#xff1a;以下代码使用 typeScript 开发&#xff0c;如果想在 js 中使用&#xff0c;可参考 npm 已经发布的包&#xff1a;https://www.npmjs.com/package/uni-easy-file NPM 使用 如果想直接在 npm 项目中使用可以直接执行以下命令 npm i uni-easy-file然后直接使用 …...

docker-开源nocodb,使用已有数据库

使用已有数据库 创建本地数据库 数据库&#xff1a;nocodb 用户&#xff1a;nocodb 密码&#xff1a;xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1&#xff08;适用于 bridge 网络模式&#xff09;version: "2.1" services:nocodb:environment:…...

Mysql COUNT() 函数详解

简介 COUNT()函数定义 COUNT()函数是SQL中常用的 聚合函数 &#xff0c;用于统计满足特定条件的记录数。它可以灵活地应用于各种查询场景&#xff0c;帮助用户快速获取所需的数据统计信息。该函数不仅能够计算所有行的数量&#xff0c;还能针对特定列进行计数&#xff0c;并支…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...