自建服务器位于内网时,内网客户端ID/中继的地址通常写成内网IP,外网客户端一般会用公网IP进行端口映射,但这样设置出现外网客户端无法连接中继服务器,但内网客户端使用正常的现象。
根据官方docker run启动命令启动的容器,添加了参数–net=host。重新搭建,去掉这个参数即可。
docker pull rustdesk/rustdesk-server:1.1.8-2
mkdir -p /opt/rustdesk/{hbbr,hbbs}/root
–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
–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
添加防火墙策略
iptables -I INPUT -p tcp --dport 21115:21119 -j ACCEPT
iptables -I INPUT -p udp --dport 21116 -j ACCEPT
默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP
。
其中:
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/