51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【Docker】搭建一个安全的远程桌面访问 - rustdesk

本文最后更新于 2024-10-03,文章可能存在过时内容,如有过时内容欢迎留言或者联系我进行反馈。

前言 {#%E5%89%8D%E8%A8%80}

本教程基于群晖的NAS设备DS423+docker功能进行搭建,DSM版本为 7.2.1-69057 Update 5。

简介 {#%E7%AE%80%E4%BB%8B}

rustdesk是一款开源的远程桌面软件,它具有以下特点:

  1. 跨平台支持:支持Windows、macOS、Linux、iOS、Android和Web等多个平台。

  2. 高效的编解码器:支持VP8、VP9、AV1软件编解码器和H264、H265硬件编解码器,提供高质量的视频传输。

  3. 无需管理员权限:在Windows上可以非管理员不安装运行,根据需要在本地或远程提升权限。

  4. 开源与自主控制:RustDesk的源代码对所有人开放,用户可以自行审查和修改代码,确保软件的安全性和透明度。

  5. 无需复杂配置:设计为即插即用,用户无需进行复杂的配置即可开始使用。

  6. 数据安全:用户可以完全控制自己的数据,可以选择使用RustDesk提供的中继/中转服务器,或者自行搭建服务器。

  7. 社区驱动:鼓励社区成员参与贡献,包括代码、文档翻译和用户界面设计等。

  8. 多种构建方式:用户可以通过多种方式构建RustDesk,包括直接使用源代码构建,或者使用Docker容器进行构建。

  9. 支持自建服务器:用户可以搭建私有的中继服务器,完全掌控自己的流量和数据。

  10. 功能丰富:集成了文件传输、可调整画面质量、剪贴板互通等实用功能。

RustDesk以其开源、免费、跨平台、自建服务器、功能丰富和社区活跃等优势,成为了众多用户的首选远程桌面控制软件。

部署 {#%E9%83%A8%E7%BD%B2}

服务端 {#%E6%9C%8D%E5%8A%A1%E7%AB%AF}

  1. 在群晖NAS上面的"File Station"中新建一个docker映射文件,用于映射docker中rustdesk-server的数据。

  2. 打开"Container Manager",在"项目"中,点击"新增"。填写项目名称,路径选择创建好的映射文件夹,文件选择"创建 docker-compose.yml",然后将以下配置代码复制粘贴进去。

    默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。其中21115是hbbs用作NAT类型测试,21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务,21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,对应端口可以不开。

    • TCP(21115 , 21116 , 21117 , 21118 , 21119)

    • UDP(21116)

    services:
      hbbs:
        container_name: hbbs
        image: rustdesk/rustdesk-server:latest # Please change this to rustdesk/rustdesk-server-pro:latest if you want to install Pro.
        command: hbbs
        volumes:
          - ./data:/root
        network_mode: host
        depends_on:
          - hbbr
        restart: always
    
    hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest # Please change this to rustdesk/rustdesk-server-pro:latest if you want to install Pro.
    command: hbbr
    volumes:
    - ./data:/root
    network_mode: host
    restart: always
    
    
    Because using docker host mode
    ==============================
    
    
    
    Just in case you forgot the ports:
    ==================================
    
    
    
    21114 TCP for web console, only available in Pro version
    ========================================================
    
    
    
    21115 TCP for NAT type test
    ===========================
    
    
    
    21116 TCP TCP hole punching
    ===========================
    
    
    
    21116 UDP heartbeat/ID server
    =============================
    
    
    
    21117 TCP relay
    ===============
    
    
    `21118/21119 TCP for web socket if you want to run web client`
    

    然后点击"下一步"。

  3. 跳过网页门户设置,直接点击"下一步"。

  4. 打开"File Station",找到映射路径中.pub​扩展名的文件,将该文件下载到本地后进行打开,里面的key是客户端配置中继服务器时需要使用到的。

客户端 {#%E5%AE%A2%E6%88%B7%E7%AB%AF}

Windows {#windows}

  1. https://github.com/rustdesk/rustdesk/releases 中找到最新版本,选择Windows进行下载。

  2. 点击"安装"进行安装。

  3. 点击"同意并安装"。

  4. 在"设置"中找到"网络",点击"解锁网络设置"。

  5. 如果你的群晖NAS的访问绑定了域名,①直接使用域名+端口21116​的方式填写"ID服务器";②用域名+端口21117​填写"中继服务器";③Key输入之前我们打开的.pub​扩展名内的Key值。然后点击"应用"。

  6. 在主页底部能够看到"就绪"则表示成功链接至服务器。

    iOS {#ios}

  1. 在"App Store"中搜索RustDesk​,然后点击"获取"。

  2. 点击"设置"中的"ID/中继服务器"。

  3. 如果你的群晖NAS的访问绑定了域名,①直接使用域名+端口21116​的方式填写"ID服务器";②用域名+端口21117​填写"中继服务器";③"Key"输入之前我们打开的.pub​扩展名内的Key值。然后点击"确认"。

Mac {#mac}

  1. https://github.com/rustdesk/rustdesk/releases 中找到最新版本,选择Mac进行下载。

    英特尔芯片选择第一个进行下载,M芯片选择第二个进行下载。

  2. 下载完成以后,双击打开。点击RustDesk.app拖动到右边的文件夹内进行保存。

  3. 双击运行RustDesk.app

  4. 点击"配置",然后点击"打开系统设置",为RustDesk.app 授权屏幕录制权限。

  5. 启用RustDesk的屏幕录制权限。

  6. 启用RustDesk的控制电脑权限。

  7. 为了开机启动,请安装系统服务。

  8. 点击右上角的设置小图标。

  9. 在"设置"中找到"网络",点击"解锁网络设置"。

  10. 如果你的群晖NAS的访问绑定了域名,①直接使用域名+端口21116​的方式填写"ID服务器";②用域名+端口21117​填写"中继服务器";③Key输入之前我们打开的.pub​扩展名内的Key值。然后点击"应用"。

  11. 在主页底部能够看到"就绪"则表示成功链接至服务器。


赞(0)
未经允许不得转载:工具盒子 » 【Docker】搭建一个安全的远程桌面访问 - rustdesk