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,你可以獲得一個量身定製的解決方案,以滿足您獨特的需求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章