[折腾日记4] 用RustDesk远程桌面走自建服务器,配合Zerotier内网IP访问,实现低延迟流畅操控远程桌面——RustDesk篇
标签搜索

[折腾日记4] 用RustDesk远程桌面走自建服务器,配合Zerotier内网IP访问,实现低延迟流畅操控远程桌面——RustDesk篇

snailszzy
2024-03-23 / 11 评论 / 55 阅读 / 正在检测是否收录...

lty1uvpr.png

首先,您需要一个VPS服务器,如果没有,您家里的运营商有提供固定外网IP也可以,但是有这种好运气的人比较少,当然有钞能力的土豪运气一向很好,废话不多说,一起来操作一下。

1、服务端配置,我用的 Ubuntu 2204,服务端官方只有Linux/Ubuntu。
对服务器要求
硬件要求很低;基础云服务器最低配置就够了,对CPU和内存的要求也很低。您还可以使用 Raspberry Pi 或类似的东西。从网络规模来看,如果TCP打洞直连失败,会消耗中继流量。中继连接的流量在 30 K/s 到 3 M/s(1920x1080 屏幕)之间,具体取决于分辨率设置和屏幕更新。如果只是办公需求,流量在100K/s左右。

①去作者的github页面下载最新的服务器版本,目前最新版本是1.1.10-3:
RustDesk Server下载
选择 rustdesk-server-linux-amd64.zip(不建议选择deb文件,因为安装以后,会自动创建并启动服务,这样的结果就是后面自己再启动服务时,会提示服务已经存在以为出错造成困扰。)

wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.10-3/rustdesk-server-linux-amd64.zip

② 解压rustdesk-server-linux-amd64.zip

unzip rustdesk-server-linux-amd64.zip

会得到三个文件 hbbrhbbsrustdesk-utils

③安装pm2,官方建议您使用pm2用于管理您的服务,当然,如果您希望用systemd来管理也是可以的,具体查看步骤⑦。

sudo apt install npm && npm install pm2@latest -g

另外,作者有提到说pm2运行需要Node.js v16+,可以按照如下命令升级nodejs,我这边没有升级也是能运行pm2点,如果运行失败,就升级一下nodejs版本。
具体可以参考这个链接:
https://blog.csdn.net/weixin_45523960/article/details/128887831

④ UFW防火墙配置来开放相关的端口,如果有宝塔面板的,还需要再宝塔的安全那里放行端口。
服务需要开放端口,请注意,应为 TCP 和 UDP 启用 21116。
TCP(21115, 21116, 21117, 21118, 21119)
UDP(21116)

默认情况下,
hbbs侦听 21115 (TCP)、21116 (TCP/UDP) 和 21118 (TCP),
hbbr侦听 21117 (TCP) 和 21119 (TCP)。

请务必在防火墙中打开这些端口。
21115用于NAT类型测试,
21116/UDP用于ID注册和心跳服务,
21116/TCP用于TCP打洞和连接服务,
21117用于Relay服务,
21118和21119用于支持网络客户端。如果不需要Web客户端(21118、21119)支持,可以禁用相应端口。

在服务器shell终端运行如下指令,需要取得root权限

ufw allow 21115:21119/tcp
ufw allow 21116/udp

⑤ 运行hbbs & hbbr
用法:如果要禁止没有密钥的用户建立非加密连接,加上"-k _",如果没有加密,其他人知道了您的服务器ip和端口号就可以直接通过您的服务器来中转连接远程桌面。

pm2 start hbbs -- -r 你的服务器IP:21116 -k _
pm2 start hbbr -k _

示例

pm2 start "~/rustdesk/rustdesk-server-linux-amd64/hbbs -k _" -- -r 192.168.1.1:21116
pm2 start "~/rustdesk/rustdesk-server-linux-amd64/hbbr -k _"

运行成功后会显示online,如下所示:
ltxrqdc6.png
并且,在对应的运行目录下会产生如下的秘钥key,这个公钥key给客户端连接的时候加密通信使用。
ltxru7mf.png
查看一下公钥key是这样一串字符串,复制下来,给客户端连接认证的时候要用到。

cat id_ed25519.pub
GjcqbT3D37w4ubj882rD1GTqUPA+oknytTSUfNTxOdA=

⑥ 如果你想让hbbs/hbbr重启后自动运行,用 pm2 savepm2 startup 来保存一下。

⑦ 如果用pm2管理,可以忽略此systemd开机自启动的步骤。
1> 创建一个hbbs的服务文件rustdesk-hbbs.service,并放到/lib/systemd/system/路径
此路径 /usr/bin/hbbs 可以更改为你存放hbbs的路径,例如:~/rustdesk/amd64/hbbs

[Unit]
Description=Rustdesk Signal Server
After=network.target

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/hbbs -r 0.0.0.0 -p 21116
#设置运行路径
WorkingDirectory=~/rustdesk/amd64/
User=root
Group=
Restart=on-failure
StandardOutput=append:/var/log/rustdesk-server/hbbs.log
StandardError=append:/var/log/rustdesk-server/hbbs.error
# Restart service after 10 seconds if node service crashes
RestartSec=10

[Install]
WantedBy=multi-user.target

2> 创建一个hbbr的服务文件rustdesk-hbbr.service,并放到/lib/systemd/system/路径
此路径 /usr/bin/hbbr 可以更改为你存放hbbr的路径,例如:~/rustdesk/amd64/hbbr

[Unit]
Description=Rustdesk Relay Server

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/hbbr -p 21117
#设置运行路径
WorkingDirectory=~/rustdesk/amd64/
User=root
Group=
Restart=on-failure
StandardOutput=append:/var/log/rustdesk-server/hbbr.log
StandardError=append:/var/log/rustdesk-server/hbbr.error
# Restart service after 10 seconds if node service crashes
RestartSec=10

[Install]
WantedBy=multi-user.target

3> 用如下命令启动并设置开机自启动 hbbs 和hbbr。

sudo systemctl start rustdesk-hbbs.service && sudo systemctl enable rustdesk-hbbs.service
sudo systemctl start rustdesk-hbbr.service && sudo systemctl enable rustdesk-hbbr.service


2、客户端配置
去作者的github页面下载最新的客户端版本,目前最新版本是1.2.3-1
RustDesk Client下载
lty1qtdj.png
lty1r75z.png

①Window 客户端
下载好 rustdesk-1.2.3-1-x86_64.exe 安装完成打开的页面如下
lty2g0cb.png
lty2dg40.png
lty27se4.png

②Ubuntu 客户端。
1> 下载好 [rustdesk-1.2.3-x86_64.deb]https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-x86_64.deb)

2> 用命令安装 rustdesk-1.2.3-x86_64.deb

sudo dpkg -i rustdesk-1.2.3-x86_64.deb

3> 由于linux版本的应用关掉后就退出了,设置里并没有设置在关闭页面后台跑,所以我们自己设置开机自启动并在关闭应用页面后在后台跑。

vim /usr/share/rustdesk/files/systemd/rustdesk.service

把里面的root改成你的用户名
lty2ykj1.png
重启rustdesk.service

systemctl daemon-reload
systemctl restart rustdesk.service

4> 添加开机自启动。
ltxtlhuw.png

5> 运行界面,其他通过自建服务器的设置参考Windows 应用界面的设置即可。
lty3177t.png

③ macOS 客户端
下载好 rustdesk-1.2.3-x86_64.dmg
按照提示安装即可,设置可以参考Windows界面的设置。
lty3chrr.png

④ Android 客户端,设置可以参考Windows界面的设置即可。
下载好 rustdesk-1.2.3-aarch64-signed.apk

⑤ IOS 客户端,直接在apple store 港区或者美区商店上搜索rustdesk即可下载安装。
设置可以参考Windows界面的设置即可。
lty3i05m.png
lty3mg57.png

0

评论 (11)

取消
  1. 头像
    euabcvuuxx
    Windows 10 · Google Chrome

    怎么收藏这篇文章?

    回复
  2. 头像
    vjwwefgaiv
    Windows 10 · Google Chrome

    兄弟写的非常好 https://www.cscnn.com/

    回复
  3. 头像
    idgrmdmcei
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.cscnn.com/

    回复
  4. 头像
    fqqpbzybzy
    Windows 10 · Google Chrome

    你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/fQso0j4K25.html

    回复
  5. 头像
    vizvcounvw
    Windows 10 · Google Chrome

    《无敌县令》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/38650.html

    回复
  6. 头像
    ssewzurfla
    Windows 10 · Google Chrome

    《姐姐的恋人》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/32352.html

    回复
  7. 头像
    ydfmrhpfgg
    Windows 10 · Google Chrome

    《深海浩劫》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/59522.html

    回复
  8. 头像
    miwjivgggg
    Windows 10 · Google Chrome

    你的才华横溢,让人敬佩。 http://www.55baobei.com/kYQWOtnLoX.html

    回复
  9. 头像
    vflbtlqpbt
    Windows 10 · Google Chrome

    《何以为孝(全新版本)》短片剧高清在线免费观看:https://www.jgz518.com/xingkong/157284.html

    回复
  10. 头像
    qydfghikzo
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.lawjida.com/

    回复
  11. 头像
    ltvjaijknp
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.lawjida.com/

    回复