• Docker部署rustdesk


    遇到的问题

    自建服务器位于内网时,内网客户端ID/中继的地址通常写成内网IP,外网客户端一般会用公网IP进行端口映射,但这样设置出现外网客户端无法连接中继服务器,但内网客户端使用正常的现象。

    解决:

    根据官方docker run启动命令启动的容器,添加了参数–net=host。重新搭建,去掉这个参数即可。

    查看镜像版本

    • https://hub.docker.com/r/rustdesk/rustdesk-server/tags

    拉取镜像

    docker pull rustdesk/rustdesk-server:1.1.8-2
    
    • 1

    创建挂载目录

    mkdir -p /opt/rustdesk/{hbbr,hbbs}/root
    
    • 1

    运行hbbs

    –net=host 仅适用于 Linux,它让 hbbs/hbbr 可以看到对方真实的ip, 而不是固定的容器ip (172.17.0.1)。 如果–net=host运行正常,-p选项就不起作用了, 可以去掉。不去掉,会导致做内网端口映射时,外网客户端无法连接中继服务器,但内网客户端使用正常的现象。

    docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v /opt/rustdesk/hbbs/root:/root -td rustdesk/rustdesk-server:1.1.8-2 hbbs -r yourIP -k key123456
    
    • 1

    运行hbbr

    –net=host 仅适用于 Linux,它让 hbbs/hbbr 可以看到对方真实的ip, 而不是固定的容器ip (172.17.0.1)。 如果–net=host运行正常,-p选项就不起作用了, 可以去掉。不去掉,会导致做内网端口映射时,外网客户端无法连接中继服务器,但内网客户端使用正常的现象。

    docker run --name hbbr -p 21117:21117 -p 21119:21119 -v /opt/rustdesk/hbbr/root:/root -td  rustdesk/rustdesk-server:1.1.8-2 hbbr -k Tianji@iecs2023
    
    • 1

    添加防火墙策略

    iptables -I INPUT -p tcp --dport 21115:21119 -j ACCEPT
    iptables -I INPUT -p udp --dport 21116 -j ACCEPT
    
    • 1
    • 2

    端口说明

    默认情况下,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)

    参考文档

    • https://rustdesk.com/docs/zh-cn/self-host/rustdesk-server-oss/install/

    • GitHub:https://github.com/rustdesk/rustdesk

    • 官网:https://rustdesk.com/

    • 文档:https://rustdesk.com/docs/en/

    • 中文文档:https://rustdesk.com/docs/zh-cn/

  • 相关阅读:
    Java优先队列PriorityQueue中的方法和使用细节总结
    Redis 源码简洁剖析 13 - RDB 文件
    JVM面试点汇总
    【正点原子FPGA连载】 第七章 Verilog HDL语法 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
    剑指Offer题解面试题解最终章
    Java语言高级-10MySQL-第4节数据库的CRUD操作
    电机学 基础概念 野火电机第14章 编码器 第 15 章 控制系统与电机的关系 第 16 章 PID 算法的通俗解说 第 17 章 PID 控制器参数整定
    QT 创建多个子项目,以及调用
    Android 开发想学习Flutter?带你从0基础到“封神”
    ArrayUtils使用
  • 原文地址:https://blog.csdn.net/weixin_45112997/article/details/133706714