本文前沿
网上很多桌面工具:诸如向日葵、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