本文前沿
网上很多桌面工具:诸如向日葵、todesk、teamview等等都是第三方公司运营的。普通用户不付费很难享受到高质量的服务。同时如果这些公司倒闭、被黑了,我们的桌面相当于裸奔出去了!
如果我们自己搭建的服务,所以被攻击的可能性极小"(自己几斤几两还不清楚?),同时我们自己如果有云服务器的话,如果云服务器带宽足够,我们将“独享"体验飞一般的感觉!难得可贵的是提供了多系统的客户端!
对了,抄我本篇文章必须备注来源哦!
RustDesk优点
1、自建服务端。搭建在自己的云服务器就相当于独享高速带宽!
2、点对点通信。TCP隧道功能一旦打洞成功,相当于用户之间直连,不走服务器带宽!
3、通信加密。配置公钥后,必须拥有公钥才能正常使用!
4、内置文件传输。得益于点对点通信,文件传输不也是手到擒来嘛!
RustDesk相关链接
服务下载地址:https://github.com/rustdesk/rustdesk-server/releases
客户端下载地址:https://rustdesk.com/zh/ 支持IOS、Mac、Windows、Android、Linux等等!
正文:RustDesk Linux服务端搭建教程(非Docker)
前往Github下载好服务端需要的文件,我们看下文件结构。
[root@VM-4-14-centos rustdesk]# tree
.
└── amd64
├── db_v2.sqlite3
├── db_v2.sqlite3-shm
├── db_v2.sqlite3-wal
├── hbbr
├── hbbs
├── id_ed25519 (一开始不会有这个文件,启动后会自动生成,如需更换删除重启服务)
├── id_ed25519.pub (一开始不会有这个文件,启动后会自动生成,如需更换删除重启服务)
└── rustdesk-utils
RustDesk默认程序占用端口说明
- hbbs是ID/Rendezvous 服务器。默认监听:21115(tcp), 21116(tcp/udp), 21118(tcp)
- hbbr是中继服务器。默认监听:21117(tcp), 21119(tcp)
如果只需要基本的远程控制: 请注意21116同时要开启TCP和UDP。
其中21115是hbbs用作NAT类型测试(无需开启,不用关注)
hbbs:21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务
hbbr:只用TCP。21117是hbbr用作中继服务使用。21118、21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,端口可以不开。
总结:hbbs需要指定端口用于客户端的ID服务器、hbbr用于中继服务器。
启动 hbbr 是中继服务器
修改hbbr默认端口为 21117 -> 36001(注意要去云安全组、服务器系统防火墙方形哦 注意是TCP即可)
-k 是加密 参数使用固定的_ 公钥在id_ed25519.pub文件中。秘钥你也可以自定义字符串哦
nohup ./hbbr -p 36001 -k _ > hbbr.out 2>&1 &
查看hbbr日志(已删除时间)
INFO [src/common.rs:121] Private key comes from id_ed25519
INFO [src/relay_server.rs:580] Key: 你可使用文件,你也可以自定义字符串
INFO [src/relay_server.rs:60] #blacklist(blacklist.txt): 0
INFO [src/relay_server.rs:75] #blocklist(blocklist.txt): 0
INFO [src/relay_server.rs:81] Listening on tcp :36001
INFO [src/relay_server.rs:83] Listening on websocket :36003
INFO [src/relay_server.rs:86] Start
INFO [src/relay_server.rs:106] DOWNGRADE_THRESHOLD: 0.66
INFO [src/relay_server.rs:115] DOWNGRADE_START_CHECK: 1800s
INFO [src/relay_server.rs:124] LIMIT_SPEED: 4Mb/s
INFO [src/relay_server.rs:134] TOTAL_BANDWIDTH: 1024Mb/s
INFO [src/relay_server.rs:148] SINGLE_BANDWIDTH: 16Mb/s
启动 hbbs 是ID服务器
修改hbbs端口为21116 -> 36000(注意要去云安全组、服务器系统防火墙方形哦 注意是TCP+UDP哦)
参数说明: -r是指定中继服务器地址,也就是hbbr地址。同时-p指定hbbsID服务器运行的端口。-k 是加密 参数使用固定的_ 公钥在id_ed25519.pub文件中。秘钥你也可以自定义字符串哦
nohup ./hbbs -r 你的IP或域名:36001 -p 36000 -k _ > hbbs.out 2>&1 &
hbbs日志(已经删除时间)
INFO [src/common.rs:121] Private key comes from id_ed25519
INFO [src/rendezvous_server.rs:1185] Key: 你可使用文件,你也可以自定义字符串
INFO [src/peer.rs:84] DB_URL=./db_v2.sqlite3
INFO [src/rendezvous_server.rs:100] serial=0
INFO [src/common.rs:46] rendezvous-servers=[]
INFO [src/rendezvous_server.rs:102] Listening on tcp/udp :36000
INFO [src/rendezvous_server.rs:103] Listening on tcp :35999, extra port for NAT test
INFO [src/rendezvous_server.rs:104] Listening on websocket :36002
INFO [libs/hbb_common/src/udp.rs:35] Receive buf size of udp [::]:36000: Ok(212992)
INFO [src/rendezvous_server.rs:139] mask: None
INFO [src/rendezvous_server.rs:140] local-ip: ""
INFO [src/common.rs:46] relay-servers=["你的IP或域名:36001"]
INFO [src/rendezvous_server.rs:156] ALWAYS_USE_RELAY=N
INFO [src/rendezvous_server.rs:177] Start
INFO [libs/hbb_common/src/udp.rs:35] Receive buf size of udp 0.0.0.0:0: Ok(212992)
启动完成,查看hbbs、hbbr是否正常运行
[root@VM-4-14-centos amd64]# ps -a | grep hbb
2498 pts/0 00:00:17 hbbr
2668 pts/0 00:00:01 hbbs
有hbbr、hbbs说明一切正常,前往配置客户端吧!
客户端配置
填写你的ID服务器、中继服务器即可
点击确认后,等待网络连接正常,你就可以使用了。
附赠-hbbr、hbbs命令详细说明
hbbr
[root@VM-4-14-centos amd64]# ./hbbr --help
hbbr 1.1.7
Purslane Ltd. <info@rustdesk.com>
RustDesk Relay Server
USAGE:
hbbr [OPTIONS]
FLAGS:
-h, --help 打印帮助信息
-V, --version 打印版本信息
OPTIONS:
-k, --key <KEY> 客户端拥有相同的key才允许链接
-p, --port <NUMBER(default=21117)> 指定监听的端口
hbbs
[root@VM-4-14-centos amd64]# ./hbbs --help
hbbs 1.1.7
Purslane Ltd. <info@rustdesk.com>
RustDesk ID/Rendezvous Server
USAGE:
hbbs [OPTIONS]
FLAGS:
-h, --help 打印帮助信息
-V, --version 打印版本信息
OPTIONS:
-c, --config <FILE> 设置自定义配置
-k, --key <KEY> 仅允许具有相同密钥的客户端远程目标电脑,被远程者,暂时无需填写,只需要填写ID服务器即可!
--mask <MASK> Determine if the connection comes from LAN, e.g. 192.168.0.0/16
-p, --port <NUMBER(default=21116)> 指定监听的端口
-r, --relay-servers <HOST> 设置中继服务器 Sets the default relay servers, seperated by colon
-R, --rendezvous-servers <HOSTS> Sets rendezvous servers, seperated by colon
-M, --rmem <NUMBER(default=0)> Sets UDP recv buffer size, set system rmem_max first, e.g., sudo sysctl -w
net.core.rmem_max=52428800. vi /etc/sysctl.conf, net.core.rmem_max=52428800,
sudo sysctl –p
-s, --serial <NUMBER(default=0)> Sets configure update serial number
-u, --software-url <URL> Sets download url of RustDesk software of newest version
终止RustDesk服务端
因为服务前缀都是hbb(hbbr、hbbs)开头的,所以直接查询所有的hbb命令的进程
ps -a | grep hbb
然后执行杀掉PID
kill -9 PID
Linux一键启动hbbr、hbbs
#!/bin/sh
# author name:zanglikun
# author QQ:740969606
# "设置中继服务器的端口:当前是36001"
nohup ./hbbr -p 36001 -k _ > hbbr.out 2>&1 &
echo "Hbbr is OK!"
sleep 3
# "设置ID服务器的端口:-r 指定中级服务器,-p指定ID服务器端口"
# 示例:nohup ./hbbs -r baidu.com:36001 -p 36000 -k _ > hbbs.out 2>&1 &
nohup ./hbbs -r 你的中继服务器IP:上面你指定的中继端口 -p 36000 -k _ > hbbs.out 2>&1 &
echo "Hbbs is OK!"
sleep 3
echo "如果有hbbr、hbbs就算启动成功!"
ps -a | grep hbb
PC控制Android示例
2024年10月11日更新:Mac客户端如果无法被远程,需要执行一下命令,再去 设置 - 隐私与安全性 开启。可参考:https://rustdesk.com/docs/en/client/mac/#enable-permissions
tccutil reset ScreenCapture com.carriez.RustDesk
tccutil reset Accessibility com.carriez.RustDesk
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤