RustDesk 自建服务器部署和使用教程

RustDesk 是一个强大的开源远程桌面软件,是中国开发者的作品,它使用 Rust 编程语言构建,提供安全、高效、跨平台的远程访问体验。可以说是目前全球最火的开源远程桌面软件了,GitHub 星星数量达到了惊人的 64k!

与 TeamViewer、ToDesk 等专有远程访问解决方案相比,RustDesk 作为一个开源软件,提供了几个显著的优势:

  1. RustDesk 完全免费使用,没有任何隐藏费用或订阅计划。
  2. 由于其开源特性,RustDesk 的代码是透明的,可以由社区审计,从而提供更高的安全性和可信度。
  3. RustDesk 使用 Rust 语言开发,从根本上确保了程序的内存安全和高性能。

然而现在有一个坏消息:由于被诈骗分子频繁使用,该项目现已暂停国内服务。

作者原话:

为了进一步应对诈骗,我们暂时决定停止中国地区的服务,如果用户现在通过公共服务器访问国内主机,将会收到被禁止的消息。

官网首页也挂出了警告信息:

作者在开源中国上发布了公告,主要是因为诈骗分子通过短信链接的方式让老人下载 App,然后实施手机银行的指挥操控,受害者被骗金额巨大,对家庭造成极大的损害。

为了进一步应对诈骗,他们暂时决定停止中国地区的服务,如果用户现在通过公共服务器访问国内主机,将会收到被禁止的消息

只能说很无奈。

好在 RustDesk 有一个很关键的特性就是它允许用户自建服务器,从而在使用 RustDesk 时获得更多的控制权和隐私保护。所谓自建服务器,也就是自建 ID Server 和 Relay Server,至于什么是 ID Server 和 Relay Server,下面我们会给大家详细介绍,并提供一步步的指南来帮助你设置自己的 ID Server 和 Relay Server。

RustDesk 架构概述

要理解自建服务器的重要性,首先需要对 RustDesk 的架构有一个全面的了解。RustDesk 采用了经典的客户端-服务器模型,其中涉及三个主要组件:RustDesk 客户端、RustDesk 服务器和 ID Server。

  1. 客户端-服务器模型

    在 RustDesk 的架构中,客户端是运行在用户设备 (如笔记本电脑、平板电脑或智能手机) 上的应用程序。它提供了一个图形界面,允许用户发起远程访问请求并与远程计算机进行交互。另一方面,服务器组件运行在要远程访问的目标计算机上。它负责监听来自客户端的连接请求,并在建立连接后向客户端发送屏幕更新和接收输入事件。

  2. ID Server 的角色

    ID Server 在 RustDesk 的生态系统中扮演着重要的角色。它的主要职责是促进客户端和服务器之间的初始连接建立。当 RustDesk 服务器启动时,它会连接到 ID Server 并注册自己,提供如服务器 ID 和公网 IP 地址等信息。类似地,当客户端想要连接到特定的 RustDesk 服务器时,它会向 ID Server 查询目标服务器的连接信息。

    ID Server 维护了一个已注册的 RustDesk 服务器目录,并充当客户端和服务器之间的中介,帮助它们建立直接的点对点 (P2P) 连接。一旦客户端从 ID Server 获得了服务器的连接信息,它就可以尝试直接连接到服务器,而无需进一步通过 ID Server 中继数据。

  3. Relay Server 的角色

    在某些网络环境下,RustDesk 客户端和服务器可能无法直接建立 P2P 连接,例如当它们位于 NAT (网络地址转换) 或防火墙后时。为了克服这一挑战,RustDesk 引入了 Relay Server。

    如果客户端无法直接连接到服务器,它会向 ID Server 请求一个 Relay Server。然后,客户端和服务器都连接到指定的 Relay Server,并通过它来中继所有的网络通信。Relay Server 在这种情况下充当客户端和服务器之间的桥梁,转发来自一方的数据包到另一方。

    值得注意的是,即使通过 Relay Server 进行通信,RustDesk 也会维护端到端加密,确保中继服务器无法访问明文数据。Relay Server 只是盲目地转发加密的数据包,而不能查看或修改其内容。

自建服务器

RustDesk ID Server 与 Relay Server 目前支持多种方式部署,可以在 Linux 和 Windows 中使用二进制直接部署,也可以使用 Docker 部署,具体可参考 RustDesk 的官方文档。

如果您不想折腾,或者不懂什么 Docker 之类的,那也没关系,Sealos 应用商店提供了一键部署的应用模板,点一下鼠标即可完成部署,非常丝滑。

由于 RustDesk 是使用 Rust 编写的,所以非常高效,并发也很强,实际测试下来,1C1G 的配置就可以给一整个小型团队使用了。Sealos 的应用模板默认给了最小配置 0.2C128M,个人使用完全足够了。如果您需要给多个人使用,可以随时调整配置,因为 Sealos 是按量付费的,你想怎么调就怎么调,想什么时候调就什么时候调,非常酸爽。

我们再来看看大家比较关心的价格:

默认最小配置每天只需要 0.12 元,根据按量付费的机制我们还可以更省钱。所谓按量付费,就是用多少付多少,这里的 “用多少” 指的是你用了多少 CPU、内存、存储等资源,那么如果我不用的时候把它暂停,用的时候再启动,每天只需要 0.01 元 (因为暂停状态下不占用 CPU 和内存,只占用存储)。

如果你是整个团队在使用,不想频繁的暂停和启动,也可以通过别的办法来省钱,比如设置一个定时任务,白天开启,夜里暂停,也可以省一半的钱。

再加上外网端口的费用,每天预计花费在 0.1~0.2 元之间

好,说完了价格,如果你心动了,或者觉得可以一试,那么接着往下看教程。

直接打开 RustDesk 应用模板,然后点击右上角的 “去 Sealos 部署”。

如果您是第一次使用 Sealos,则需要注册登录 Sealos 公有云账号,登录之后会立即跳转到模板的部署页面。

跳转进来之后,你会看到有一个变量 ENCRYPTED_ONLY,你可以选择 1 或者 0。为了隐私和安全,强烈建议选择 1,这样就开启了强制加密,只允许建立加密连接,不容易被别人白嫖

设置完成后,点击右上角的 “部署应用” 开始部署,部署完成后,直接点击应用的 “详情” 进入该应用的详情页面。

点击 “日志” 按钮查看日志:

日志中可以找到两个关键信息:外网域名公钥。后面需要用到。

在 “应用商店”-> “我的应用” 中找到 RustDesk,点进去:

在 Others 中分别找到 21116 端口和 21117 端口映射的外网端口,21116 是 ID Server 的端口,21117 是 Relay Server 的端口。例如我这里的 ID Server 外网端口就是 30032,Relay Server 外网端口是 30325。

客户端设置

分别在控制端和被控制端的电脑安装 RustDesk,下载地址:https://rustdesk.com/zh/

安装完成后,打开 RustDesk,点击上面的三个点,进入配置:

找到网络配置:

先解锁网络设置,然后在 ID 服务器中输入你的 <外网域名>:<ID Server 外网端口>,在中继服务器中输入你的 <外网域名>:<Relay Server 外网端口>,在 Key 中输入你的公钥。

例如我这里的 ID 服务器就是 brffleiu.bja.sealos.run:30032,中继服务器是 brffleiu.bja.sealos.run:30325,Key 是 LNS+q8OA02k7CH+TbzO1EzikNYsFS52YiMNi3pmz56k=

最后点击 “应用” 就可以了。

⚠️ 注意:控制端和被控制端都设置使用相同的 ID 服务器、中继服务器和 Key,才能正常进行远程控制。

总结

本文深入探讨了 RustDesk 的架构、自建 RustDesk 服务器(ID Server 和 Relay Server)的好处以及具体的自建步骤,虽然需要一点额外的工作,但收获了很多好处,比如安全性和隐私性。

随着远程工作和协作变得越来越普遍,拥有一个安全、高效、灵活的远程访问解决方案变得至关重要。通过自建 RustDesk ID Server 和 Relay Server,你可以获得一个量身定制的解决方案,以满足您独特的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】基础命令,文件处理,用户,vim编辑器,文件压缩

常用命令及参数&#xff1a;dir表示文件夹&#xff0c;file表示文件&#xff08;file可表示其他目录下的文件&#xff09; pwd命令&#xff1b;查看当前所属文件夹&#xff08;print working directory&#xff09; ls [选项] dir&#xff1b;查看当前、指定文件夹目录内容&am…

切换tomcat使用的jdk版本

改一下这俩地方 用这个启动时候 就可以使用对应的jdk版本了 java的classpath内容如下&#xff08;换成自己的&#xff09;&#xff1a; E:\A_code\environment\tomcat\Tomcat9.0\bin\bootstrap.jar;E:\A_code\environment\tomcat\Tomcat9.0\bin\tomcat-juli.jar

存储卡如何下载歌曲?

作为存储芯片及存储卡的原厂&#xff0c;我们了解客户关于如何在存储卡上下载歌曲的疑问。在这篇文章中&#xff0c;我们将详细解析存储卡的使用方法和歌曲下载步骤&#xff0c;帮助客户顺利完成歌曲下载并存储到存储卡中。 1. 选择合适的存储卡 首先&#xff0c;确保您选择的存…

sql-labs(11-20)

1.less-11 1.判断类型 根据测试在使用 " 不会报错&#xff0c; 会报错&#xff0c;所以他是字符型的并且被单引号闭合&#xff0c;而且只有用户 登陆成功才会显示数据。所以先尝试报错注入 2.爆数据库 and updatexml(2,concat(0x7e,(select database()),0x7e),2)-- 3.爆数…

图文教程 | 2024年最新VSCode下载和安装教程c/c++环境配置,json文件详解,实用插件分享

前言 &#x1f4e2;博客主页&#xff1a;程序源⠀-CSDN博客 &#x1f4e2;欢迎点赞&#x1f44d;收藏⭐留言&#x1f4dd;如有错误敬请指正&#xff01; 由于重装电脑&#xff0c;需要重新安装VsCode&#xff0c;记录安装配置过程。 一、VSCode下载 官网地址&#xff1a; Vis…

【激活函数--中】激活函数和阶跃函数的可视化及对比

文章目录 一、Python中绘制阶跃函数的图形二、实现和可视化Sigmoid函数2.1 Python实现2.2 可视化Sigmoid函数 三、比较Sigmoid函数与阶跃函数3.1 Sigmoid函数与阶跃函数的差异3.2 Sigmoid函数与阶跃函数的共同点 一、Python中绘制阶跃函数的图形 在Python中实现阶跃函数的代码…

ZFS 文件系统结构及 ZFS 文件系统数据恢复

ZFS是一种革命性的文件系统&#xff0c;它遵循完全不同的文件系统管理方法&#xff0c;同时提供目前其他文件系统无法提供的新功能和优势。ZFS 可靠、可扩展且易于管理。 它放弃了卷的概念&#xff0c;从而摆脱了传统的文件系统原则。另外&#xff0c;ZFS 提供更复杂的存储池&…

公检法部门涉密网文件导出,哪种方案最安全适合?

公检法是我国政法机关的重要组成部分&#xff0c;由于公检法涉及重要案件信息和个人隐私数据&#xff0c;因此&#xff0c;在内部多采用网络隔离技术将网络隔离为两个及以上网络区域&#xff0c;如涉密网、办公网、外联区等。 公检法涉密网是指公安机关、检察机关和法院等执法机…

Git操作GitHub全记录

目录 一. GitHub ssh-key配置二. 添加GitHub仓库Git提交本地代码到Github仓库远程克隆仓库到本地的文件夹再上传本地的无.git的文件夹上传到远程仓库 三. Git删除Github仓库或某个文件或文件夹1.删除已有Github仓库2.删除Github中的某个文件或文件夹①如果没有建立本地库或者克…

第12节 第二种shellcode编写实战(1)

我最近在做一个关于shellcode入门和开发的专题课&#x1f469;&#x1f3fb;‍&#x1f4bb;&#xff0c;主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料&#xff0c;内容里面的每一个环境我都亲自测试实操过的记录&#xff0c;有需要的小伙伴可以参考…

AI技术构建本地知识库的流程

构建本地知识库是一个复杂的过程&#xff0c;涉及以下几个步骤&#xff0c;使用大模型技术构建本地知识库是一种很有前途的方法。随着大模型技术的不断发展&#xff0c;我们可以期待本地知识库将变得更加智能、高效和准确。北京木奇移动技术有限公司&#xff0c;专业的软件外包…

设计模式1——初步认识篇

设计模式1——初步认识篇 一、先让我们浅聊一下面向对象和设计模式。 说起设计模式&#xff0c;我第一次听到它&#xff0c;是在学习面向对象的时候。那么什么是面向对象&#xff0c;什么是设计模式&#xff0c;而且设计模式和面向对象又有什么关系呢&#xff1f; 1、什么是面…

你不知道的ConstraintLayout高级用法

文章目录 1. ConstraintLayout介绍2. 高级用法2.1 Gone Margin2.2 偏移2.3 居中2.4 尺寸约束2.5 链2.6 角度定位&#xff08;圆形定位&#xff09; 3. 工具类3.1 Guideline&#xff08;参考线&#xff09;3.2 Barrier&#xff08;栅栏&#xff09;3.3 Group&#xff08;组&…

信息与未来2017真题笔记

T1. 龟兔赛跑 题目描述 兔子又来找乌龟赛跑啦&#xff01;同样的错误兔子不会犯两次&#xff0c;所以兔子提出赛跑的时候&#xff0c;乌龟就觉得这场比赛很不公平。于是兔子进一步放宽了条件&#xff0c;表示他可以在比赛开始以后先睡 t t t 分钟再开始追乌龟。 乌龟这下没…

YOLOv5改进 | 注意力机制 | 用于移动端的高效坐标CA注意力机制

在深度学习目标检测领域&#xff0c;YOLOv5成为了备受关注的模型之一。本文给大家带来的是能用于移动端的高效坐标CA注意力机制。文章在介绍主要的原理后&#xff0c;将手把手教学如何进行模块的代码添加和修改&#xff0c;并将修改后的完整代码放在文章的最后&#xff0c;方便…

答辩PPT不会做?试试这些AI工具,一键生成

在我原本的认知里面&#xff0c;答辩PPT是要包含论文各个章节的&#xff0c;在答辩时需要方方面面都讲到的&#xff0c;什么摘要、文献综述、实证分析、研究结果样样不落。但是&#xff0c;这大错特错&#xff01; 答辩PPT环节时长一般不超过5分钟&#xff0c;老师想要的答辩P…

PMP证书如何备考?

每个过了PMP考试的考生&#xff1a;“你是如何学习和准备的”&#xff1f;答案基本分三类&#xff1a; 第一种是“临时抱佛脚”式&#xff1b;第二种是“持续抗战式”&#xff1b;第三种是“疲劳作战式”。 第一种比较符合人性和期望—20世纪三大管理定义之一的帕金斯定律&am…

ctfshow web入门 php反序列化 web267--web270

web267 查看源代码发现这三个页面 然后发现登录页面直接admin/admin登录成功 然后看到了 ///backdoor/shell unserialize(base64_decode($_GET[code]))EXP <?php namespace yii\rest{class IndexAction{public $checkAccess;public $id;public function __construct(){…

【Java处理word文档】

Java处理word文档 前言一、word是什么&#xff1f;二、Java处理word2.1、依赖包2.2、加载word样式2.3、读入文件2.4、单一样式段落2.5、复合样式段落2.6、将段落写入word2.7、word表格2.8、超链接2.9、写入样式及文件保存 总结示例源码样式xmlWordConstantWordStylesUtilWordUt…