最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker自建rustdesk-server遠(yuǎn)程桌面的解決方案

 更新時間:2024年07月24日 15:02:10   作者:willops  
RustDesk 是一款可以平替 TeamViewer 的開源軟件,旨在提供安全便捷的自建方案,這篇文章主要介紹了docker自建rustdesk-server遠(yuǎn)程桌面的解決方案,需要的朋友可以參考下

rustdesk簡介

RustDesk 是一款可以平替 TeamViewer 的開源軟件,旨在提供安全便捷的自建方案。

RustDesk 是一款功能齊全的遠(yuǎn)程桌面應(yīng)用,具有以下特性:

  • 支持 Windows、macOS、Linux、iOS、Android、Web 等多個平臺。
  • 支持 VP8 / VP9 / AV1 軟件編解碼器和 H264 / H265 硬件編解碼器。
  • 完全掌控數(shù)據(jù),輕松自建。
  • P2P 連接,端到端加密。
  • 在 Windows 上可以非管理員不安裝運行,根據(jù)需要在本地或遠(yuǎn)程提升權(quán)限。
  • 我們崇尚簡單,盡一切可能讓它簡單。

官方網(wǎng)站:https://rustdesk.com/zh/

項目地址:https://github.com/rustdesk/rustdesk

RustDesk 架構(gòu)

RustDesk 采用了經(jīng)典的客戶端-服務(wù)器模型,其中涉及三個主要組件:RustDesk 客戶端、RustDesk 服務(wù)器和 ID Server。

  • RustDesk 客戶端:運行在你的設(shè)備上(Windows,macOS,Linux,Android, iPhone)用于連接兩個設(shè)備的軟件,它負(fù)責(zé)監(jiān)聽來自客戶端的連接請求,并在建立連接后向客戶端發(fā)送屏幕更新和接收輸入事件。
  • RustDesk 中繼服務(wù)器(Relay Server):運行在服務(wù)器上,充當(dāng)客戶端之間的橋梁,轉(zhuǎn)發(fā)來自一方的數(shù)據(jù)包到另一方。在某些環(huán)境中(如經(jīng)過 NAT 出網(wǎng))設(shè)備之間無法進(jìn)行 P2P 連接,可以用服務(wù)器來中轉(zhuǎn)
  • ID 服務(wù)器(ID Server):運行在服務(wù)器上,用于維護(hù)客戶端及中繼服務(wù)器的連接信息,促進(jìn)設(shè)備之間建立 P2P 連接。

在RustDesk的服務(wù)器端部署中,hbbrhbbs 是兩個重要的組件,分別用于不同的功能:

  • hbbs - 代表 RustDesk ID / Rendezvous Server,RustDesk ID注冊服務(wù)器,用于分配和注冊ID;hbbs 是RustDesk的中介服務(wù)器(Broker Server),用于管理和協(xié)調(diào)客戶端連接。它幫助客戶端找到并建立P2P連接。hbbs 負(fù)責(zé)維護(hù)客戶端的在線狀態(tài),并處理連接請求。當(dāng)客戶端A希望連接客戶端B時,它會向hbbs發(fā)送請求,hbbs會幫助它們建立連接。
  • hbbr -代表 RustDesk Relay Server,RustDesk 中繼服務(wù)器,如果P2P無法連接,會使用hbbr進(jìn)行流量中繼。hbbr 是RustDesk的中繼服務(wù)器(Relay Server),用于在兩臺客戶端之間進(jìn)行連接中繼。它允許無法直接建立P2P連接的客戶端通過中繼服務(wù)器進(jìn)行通信。當(dāng)客戶端A和客戶端B之間無法建立直接連接時,它們會通過hbbr中繼服務(wù)器進(jìn)行數(shù)據(jù)傳輸。
  • rustdesk-utils - RustDesk 命令行工具

P2P直連說明:

  • RustDesk 首先嘗試建立直接 P2P 連接,如果 P2P 失敗,將使用中繼服務(wù)器。
  • 確認(rèn)連接方式,首先連接到遠(yuǎn)程主機(jī),可以將鼠標(biāo)移動到工具欄圖標(biāo)(綠色圖標(biāo)),將顯示它是直接連接還是通過中繼服務(wù)器連接。

使用端口說明:

序號服務(wù)端口協(xié)議用途是否可選
1hbbs21114TCP用于 Web 控制臺API,僅在專業(yè)版中可用可選
2hbbs21115TCPNAT類型測試必選
3hbbs21116TCP/UDPUDP用于ID注冊和心跳服務(wù),TCP用于TCP打洞和連接服務(wù)必選
4hbbr21117TCP用于Relay服務(wù)必選
5hbbs21118TCP用于支持Web客戶端可選
6hbbr21119TCP用于支持Web客戶端可選

部署rustdesk-server

rustdesk支持自行搭建屬于你的RustDesk服務(wù)器,所有的一切都是免費且開源的。所謂自建服務(wù)器,也就是自建 ID Server 和 Relay Server。

整體部署架構(gòu)如下:

官方文檔:https://github.com/rustdesk/rustdesk-server/blob/master/README-ZH.md

前置部署要求

前置要求:

  • 準(zhǔn)備一臺公網(wǎng)linux服務(wù)器,并綁定公網(wǎng)IP地址,以阿里云輕量應(yīng)用服務(wù)器為例,操作系統(tǒng)為Ubuntu 22.04。
  • 服務(wù)器已安裝dockerdocker-compose工具

1、登錄阿里云控制臺,配置防火墻規(guī)則,開通以下端口

端口放通說明:

放通TCP端口21115、21116、21117、2111821119放通UDP端口21116

2、登錄阿里云控制臺,配置域名解析(可選):

配置一條A記錄,將rustdesk-server公網(wǎng)IP地址解析到rustdesk.example.com域名(需自行準(zhǔn)備域名并進(jìn)行備案)。

部署rustdesk-server

配置主機(jī)名

hostnamectl set-hostname rustdesk-server

創(chuàng)建部署目錄

mkdir -p /data/rustdesk/composecd /data/rustdesk/compose

創(chuàng)建docker-compose文件

root@rustdesk-server:/data/rustdesk/compose# vim docker-compose.yaml 
services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:1.1.11
    command: hbbs
    environment:
      - "RELAY=hbbr:21117"
      - "ENCRYPTED_ONLY=1"
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21118:21118
    volumes:
      - /data/rustdesk/root:/root
    networks:
      - rustdesk-net
    depends_on:
      - hbbr
    restart: unless-stopped
  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:1.1.11
    command: hbbr
    ports:
      - 21117:21117
      - 21119:21119
    volumes:
      - /data/rustdesk/root:/root
    networks:
      - rustdesk-net
    restart: unless-stopped
networks:
  rustdesk-net:
    external: false

主要參數(shù)說明:

  • 環(huán)境變量RELAY:指定hbbr 服務(wù)的地址和端口,由于使用同一個docker network,可以通過容器名稱hbbr連接
  • 環(huán)境變量ENCRYPTED_ONLY:啟用加密連接并使用key驗證,防止其他獲取地址的客戶端非法連接

執(zhí)行以下命令運行容器

root@rustdesk-server:/data/rustdesk/compose# docker-compose up -d
[+] Building 0.0s (0/0)                                                                                                                                                                   docker:default
[+] Running 3/3
 ? Network compose_rustdesk-net  Created                                                                                                                                                            0.1s 
 ? Container hbbr                Started                                                                                                                                                            0.1s 
 ? Container hbbs                Started    

查看運行的兩個容器hbbrhbbs

root@rustdesk-server:/data/rustdesk/compose# docker-compose ps
NAME         IMAGE                                   COMMAND                  SERVICE      CREATED          STATUS          PORTS
hbbr         rustdesk/rustdesk-server:1.1.11         "hbbr"                   hbbr         44 seconds ago   Up 43 seconds   0.0.0.0:21117->21117/tcp, :::21117->21117/tcp, 0.0.0.0:21119->21119/tcp, :::21119->21119/tcp
hbbs         rustdesk/rustdesk-server:1.1.11         "hbbs"                   hbbs         44 seconds ago   Up 42 seconds   0.0.0.0:21115-21116->21115-21116/tcp, :::21115-21116->21115-21116/tcp, 0.0.0.0:21118->21118/tcp, :::21118->21118/tcp, 0.0.0.0:21116->21116/udp, :::21116->21116/udp
root@rustdesk-server:/data/rustdesk/compose# 

查看主機(jī)當(dāng)前目錄結(jié)構(gòu)

root@rustdesk-server:~# apt install -y tree
root@rustdesk-server:~# tree /data/rustdesk/
/data/rustdesk/
├── compose
│   └── docker-compose.yaml
└── root
    ├── db_v2.sqlite3
    ├── db_v2.sqlite3-shm
    ├── db_v2.sqlite3-wal
    ├── id_ed25519
    └── id_ed25519.pub
2 directories, 6 files
root@rustdesk-server:~# 

連接驗證

服務(wù)端搭建好后,在要連接的兩個客戶端設(shè)備上都下載 RustDesk 客戶端。

下載地址是:https://github.com/rustdesk/rustdesk/releases

在rustdesk-server上獲取默認(rèn)生成的公鑰key

root@rustdesk-server:~# cat /data/rustdesk/root/id_ed25519.pub 
G2yFoE+0pWWqXAHM174TXbsoUqJB1brHKOxZhEKv7hA=

首先找到 RustDesk 客戶端的 設(shè)置 -> ID/中繼服務(wù)器 ,然后輸入如下三個信息

  • ID 服務(wù)器:rustdesk.example.com:21116,默認(rèn)端口為21116時可以省略端口配置
  • 中級服務(wù)器:rustdesk.example.com:21117,默認(rèn)端口為21117時可以省略端口配置
  • Key:填寫部署服務(wù)默認(rèn)生成的 id_ed25519.pub 文件中的內(nèi)容

示例配置如下:

所有客戶端必須都完成相應(yīng)配置,配置完成后連接測試:

1、中繼連接測試

連接成功后鼠標(biāo)指針放在左上角綠色圖標(biāo)處,顯示通過加密中繼連接,說明兩臺機(jī)器位于不同網(wǎng)絡(luò),無法通過P2P直連,要經(jīng)過阿里云rustdesk-server中繼連接。

2、直連連接測試

如果位于同一網(wǎng)絡(luò)的兩臺客戶端互聯(lián),由于中間不存在NAT設(shè)備和防火墻,將顯示兩臺客戶端為加密直連,無需經(jīng)過中繼:

到此這篇關(guān)于docker自建rustdesk-server遠(yuǎn)程桌面的文章就介紹到這了,更多相關(guān)docker自建rustdesk-server內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 從編寫到管理詳解Docker鏡像與Dockerfile基礎(chǔ)指南

    從編寫到管理詳解Docker鏡像與Dockerfile基礎(chǔ)指南

    Docker?容器化已成為現(xiàn)代應(yīng)用交付的事實標(biāo)準(zhǔn),而鏡像則是容器的源代碼,這篇文章主要介紹了Docker鏡像操作的核心技巧與常用指令,希望對大家有所幫助
    2026-05-05
  • mac下docker 安裝 ES的詳細(xì)過程

    mac下docker 安裝 ES的詳細(xì)過程

    這篇文章主要介紹了mac下docker 安裝 ES的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Docker鏡像拉取超時或失敗的解決方法介紹

    Docker鏡像拉取超時或失敗的解決方法介紹

    在使用Docker進(jìn)行容器化應(yīng)用開發(fā)時,拉取鏡像是一個常見的操作,本文將探討Docker鏡像拉取失敗的原因及其解決方案,有需要的小伙伴可以參考一下
    2025-05-05
  • docker.service啟動失敗:Unit not found的原因及解決辦法

    docker.service啟動失?。篣nit not found的原因及解決辦法

    這篇文章主要介紹了docker.service啟動失?。篣nit not found的原因分析及解決辦法,需要的朋友可以參考下
    2017-04-04
  • Dockerfile基礎(chǔ)分享

    Dockerfile基礎(chǔ)分享

    在Docker中,構(gòu)建一個自定義鏡像共有兩種方法,一是通過commit指令構(gòu)建,二是通過Dockerfile文件構(gòu)建。今天我們主要來詳細(xì)探討下Dockerfile的一些基礎(chǔ)。
    2017-01-01
  • k8s官方鏡像代理加速方式

    k8s官方鏡像代理加速方式

    這篇文章主要介紹了k8s官方鏡像代理加速方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • docker中使用GPU+rocksdb的詳細(xì)教程

    docker中使用GPU+rocksdb的詳細(xì)教程

    這篇文章主要介紹了docker中使用GPU+rocksdb,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • 阿里云鏡像安裝docker報錯的問題及解決方案

    阿里云鏡像安裝docker報錯的問題及解決方案

    這篇文章主要介紹了阿里云鏡像安裝docker報錯的問題及解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 詳解Docker數(shù)據(jù)管理(數(shù)據(jù)卷&數(shù)據(jù)卷容器)

    詳解Docker數(shù)據(jù)管理(數(shù)據(jù)卷&數(shù)據(jù)卷容器)

    容器中管理數(shù)據(jù)主要有兩種方式,這篇文章主要介紹了詳解Docker數(shù)據(jù)管理(數(shù)據(jù)卷&數(shù)據(jù)卷容器) ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 解決docker報錯Encountered errors while bringing up the project實測有效

    解決docker報錯Encountered errors while bringing&n

    這篇文章主要介紹了解決docker報錯Encountered errors while bringing up the project實測有效!具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

广平县| 青海省| 法库县| 阿鲁科尔沁旗| 冷水江市| 乐东| 耒阳市| 定结县| 佛坪县| 昭平县| 海南省| 阳西县| 焦作市| 绍兴县| 宜城市| 宜宾市| 蒙山县| 新宾| 两当县| 万山特区| 延安市| 太仆寺旗| 贵南县| 宾阳县| 双辽市| 哈密市| 抚顺县| 崇信县| 通辽市| 芮城县| 鹤岗市| 永嘉县| 峨山| 阜宁县| 慈溪市| 陵川县| 宁津县| 瑞安市| 寻乌县| 弥渡县| 巨野县|