Rustdesk server | Rustdesk 中繼伺服器架設教學 (Linux) === ###### tags: `Linux` `LXC` `Rustdesk` 作者:魏礼謙 ## Preface 前言 Rustdesk 是開源的遠端桌面工具,二台電腦可以經由中繼伺服器建立加密的 TCP 通道進行連線,傳輸電腦畫面、剪貼簿資料、檔案。 一般使用者使用 Rustdesk 客戶端時,預設使用官方提供的中繼伺服器,但為了提升連線穩定度、安全性,可以使用官方提供的中繼伺服器軟體自行架設服務。 ## Requirement 需求 以下是架設 Rustdesk 中繼伺服器需要的東西: - **一台安裝中繼伺服器軟體的電腦** - 可以是實體機、VM、LXC、Docker。 - 作業系統可以是 Windows 或 Linux (Debian 系、RadHat系皆可)。 - 一個要配發給中繼伺服器軟體用的使用者帳號,並且擁有管理員的權限 (Linux: sudo,Windows: Run as Administrator)。 - 有網路連線。(廢話) - **一個 IP 位置**,如果這個伺服器要在網際網路使用,那就需要公開的固定 IP 或公開的網址 domain。 :::info 本人測試的環境是在 Debian 的 LXC,使用公開的網址,背後是 DDNS 到個人的家用網路。 使用 Rustdesk 1.1.9,Rustdesk-server 1.1.7。 ::: ## Server Installation 伺服器安裝 這篇教學只提供 Linux 的方式,Windows 的請另洽其他網路資源。 請先確認目前是在要安裝伺服器的使用者下,並且此使用者可以執行 sudo。 如果需要建立使用者,請參考: ```= groupadd rdserver useradd rdserver -g rdserver -m -r usermod -aG sudo rdserver passwd rdserver ``` 設定好使用者後,就切換到那個使用者 `~# su - rdserver` 。 假設現在已經可以看到使用者的提示輸入 (Prompt),那接著,先設定防火牆連線規則,再安裝設定中繼伺服器。 ### 設定防火牆連線 這邊以 ufw 防火牆示範。 ```= ufw allow proto tcp from YOURIP to any port 22 ufw allow 21115:21119/tcp ufw allow 8000/tcp ufw allow 21116/udp sudo ufw enable ``` 指令說明:(對應行號) 1. 設定外部 ssh 連線可以進到本機管理。 2. Rustdesk 中繼伺服器會用到的 port,至少要開 21115:21117/tcp*, 3. 一個 http 服務,裡面有可以自動設定客戶端使用這個自建中繼伺服器的設定檔,非必要可不使用,就不需要打開這個 port 了。 4. Rustdesk 中繼伺服器會用到的 port*,必須開啟。 5. 使上述設定生效。 *上述 port 的詳細用途請參考 [官方文件](https://rustdesk.com/docs/zh-tw/self-host/install/#步驟2-在服務器上運行-hbbs-和-hbbr)。 防火牆設定好之後,就可以安裝伺服器了。 ### 安裝設定中繼伺服器 直接使用官方文件推薦的指令腳本安裝。 ```= wget https://raw.githubusercontent.com/dinger1986/rustdeskinstall/master/install.sh chmod +x install.sh ./install.sh ``` 執行 ==install.sh== 安裝過程有二個需要注意選項: 1. **Choose your preferred option, IP or DNS/Domain:** (使用 IP/domain):這是用在讓用戶端連接這臺中繼伺服器的位址,若是僅在區網或有固定 IP 的地方使用,可以選擇 IP;若是有 DNS 或 DDNS 解析域名,則可以用 domain。 2. **Please choose if you want to download configs and install HTTP server:** (安裝 http 伺服器):功能是提供客戶端使用這個自建中繼伺服器的自動設定設定檔,它會在本機上多安裝一個 gohttpserver,使用 8000/tcp port。 - 建議不安裝。因為手動在客戶端設定也不複雜,不需要多增加一個暴露服務的風險。 安裝成功會出現如下的資訊,之後會用來設定 Rustdesk 客戶端使用這個中繼伺服器。 ``` Your IP/DNS Address is [rdserver.yourdomain.com] Your public key is [AAABBBCCCDDDEEEFFF1112223334445556667777=] Install Rustdesk on your machines and change your public key and IP/DNS name to the above You can access your install scripts for clients by going to [http://rdserver.yourdomain.com:8000] Username is admin and password is [YourPassword123] ``` 這些資訊最重要的是 IP/DNS Address 和 public key。 ## Client side Settings 客戶端設定 1. 在已經安裝 Rustdesk 客戶端軟體的電腦,打開 **ID/轉送伺服器** 的選項,如下圖所示 ![](https://i.imgur.com/XI7mmlJ.png) 2. 把剛才安裝完成拿到的伺服器資訊依序填入,如下圖所示 ![](https://i.imgur.com/AJY1kzi.png) :::success 把連線與被連線電腦都設定好後,即可開始使用自建的中繼伺服器使用 Rustdesk 囉! ::: ## Reference 參考資料 - [RustDesk文檔 > 自建服務器 (官方文件)](https://rustdesk.com/docs/zh-tw/self-host/) - [techahold/rustdeskinstall (github)](https://github.com/techahold/rustdeskinstall)