免费远程桌面:Tailscale + RustDesk 安装教程

最近远程控制木马病毒泛滥,基本是下载了盗版远程桌面软件中的招。想远程连家里电脑,用正规开源软件自建服务端才是靠谱的方案——数据不过第三方,不用担心后门。

这篇是Tailscale + RustDesk的完整安装教程,踩过的坑全写进去了。

你需要准备什么

  • • 一台常开的电脑(我的是Linux,跑RustDesk服务端)
  • • 其他要远程的电脑(Windows/Mac/Linux都行)
  • • 一部手机(iOS/Android,远程控制用)
  • • iOS用户注意:RustDesk中国区App Store直接下载,Tailscale需外区Apple ID
  • • 一个Tailscale账号(支持Google/Microsoft/GitHub登录)

第一步:Tailscale 组网

Tailscale是账号制组网——所有设备登录同一个账号就自动入网,不用手动审批。

1. Ubuntu 安装 Tailscale

curl -fsSL https://tailscale.com/install.sh | sh

安装完登录:

sudo tailscale up

会给你一个链接,浏览器打开授权。授权后Ubuntu就入网了,分配一个虚拟IP,比如100.x.x.x

2. 其他设备安装

  • • Windows/Mac/手机:登录Tailscale后台查看设备IP和下载地址(链接见文末)

每台设备登录同一个Tailscale账号,自动入网,不用手动审批。

iOS上的Tailscale支持后台运行和按需连接,还支持MagicDNS和Exit Node——Exit Node可以让手机走家里或服务器的网络出口,相当于手机在家里的网络上上网。

3. 验证网络

在Ubuntu上ping其他设备:

ping 100.x.x.x  # 换成你Tailscale后台看到的IP

Tailscale的虚拟IP是100.x.x.x段。能ping通就说明虚拟局域网建好了。

第二步:RustDesk 服务端

RustDesk服务端用Docker跑hbbs和hbbr。

1. 安装 Docker

sudo apt update
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker

注意:Docker必须enable,否则重启后容器不启动。

2. 创建数据目录

sudo mkdir -p /opt/rustdesk-server

3. 启动 hbbs 和 hbbr

# 启动注册服务器(把100.x.x.x换成你的Tailscale IP)
docker run -d \
  --name rustdesk-hbbs \
  --network=host \
  -v /opt/rustdesk-server:/root \
  --restart=always \
  rustdesk/rustdesk-server:latest \
  hbbs -r 100.x.x.x:21117

# 启动中继服务器
docker run -d \
  --name rustdesk-hbbr \
  --network=host \
  -v /opt/rustdesk-server:/root \
  --restart=always \
  rustdesk/rustdesk-server:latest \
  hbbr

注意:必须用host网络模式:Docker默认的bridge模式端口映射到物理网卡,Tailscale虚拟网卡的流量到不了容器。

注意:必须挂载/root:用-v /opt/rustdesk-server:/root把Key文件持久化到宿主机,否则容器重建后Key变化,所有客户端得重新配置。

4. 查看Key

cat /opt/rustdesk-server/id_ed25519.pub

输出类似xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=,客户端连接时需要填。

5. 验证端口

ss -tlnp | grep -E '21115|21116|21117'

三个端口都在监听就对了。

第三步:RustDesk 客户端

1. 安装客户端

  • • Windows/Mac:开源平台下载开源版本(链接见文末)
  • • Android:应用商店搜RustDesk
  • • iOS:中国区App Store直接下载(链接见文末)

2. 配置客户端

打开RustDesk,点设置(齿轮图标),填:

  • • ID服务器:你的Tailscale虚拟IP,比如100.x.x.x
  • • Key:刚才查到的id_ed25519.pub内容

每台设备都要填。

3. 设置永久密码

# Linux
rustdesk --password 你的密码

注意:root和用户密码要一致

sudo rustdesk --password "你的密码"

4. 验证连接

手机输入任意一台电脑的ID和密码,连上就能看到桌面。

第四步:开机自启

这一步不做,重启后远程桌面就废了。

修改RustDesk的systemd服务文件:

sudo nano /etc/systemd/system/rustdesk.service

改成:

[Unit]
Description=RustDesk
Requires=network.target tailscaled.service docker.service
After=systemd-user-sessions.service tailscaled.service docker.service

[Service]
Type=simple
ExecStartPre=/bin/sleep 15
ExecStart=/usr/bin/rustdesk --service
ExecStop=/usr/bin/pkill -f "rustdesk --"
PIDFile=/run/rustdesk.pid
KillMode=mixed
TimeoutStopSec=30
User=root
LimitNOFILE=100000
Environment="PULSE_LATENCY_MSEC=60" "PIPEWIRE_LATENCY=1024/48000"

[Install]
WantedBy=multi-user.target

关键改动:

  1. 1. Requires加了docker.service和tailscaled.service — 确保Docker和Tailscale先启动
  2. 2. After加了docker.service — RustDesk在Docker之后启动
  3. 3. ExecStartPre加sleep 15 — 等15秒让容器完全就绪
sudo systemctl daemon-reload
sudo systemctl restart rustdesk

如果你的电脑主板支持通电自启动(BIOS里找"Restore on AC Power Loss"或"来电开机"),或者用远程开机卡,配合上面的开机自启,停电再来电,远程桌面自动恢复,手机直接连,体验丝滑。

iPhone 用户的坑

注意:网络工具冲突

iPhone同一时间只能开一个网络连接。Tailscale和梯子工具等互斥,开了这个就得关那个。Android没这个限制。

延迟实测

Tailscale虚拟局域网内,iPhone ping Ubuntu:

指标 延迟
同城直连 20-50ms
跨省中继 80-150ms

Tailscale基于WireGuard协议,直连时延迟很低。日常办公流畅,看视频轻微卡顿。

踩坑总结

症状 解决
Docker没enable 重启后容器不启动 systemctl enable docker
bridge网络模式 客户端连不上服务端 --network=host
没挂载/root 容器重建后Key变化 -v /opt/rustdesk-server:/root
启动顺序不对 重启后客户端离线 After=docker.service+sleep 15
root/用户密码不一致 有时能连有时不能 sudo rustdesk --password统一
iPhone网络冲突 Tailscale和梯子工具互斥 手动切换

够用吗?

Tailscale免费版不限设备数,一个人电脑、手机、平板随便挂,还能邀请5个人加入你的网络。个人远程桌面完全够用。

ZeroTier作为备选:跟Tailscale同类产品,原理几乎一样,但免费版只给10台设备、1个网络、1个管理员,比Tailscale紧不少。iOS也需要外区账号,装完还要在系统设置里信任网络扩展。组网方式也不一样——Tailscale是账号制,所有设备登录同一账号自动入网;ZeroTier是网络ID制,每台设备要手动输入16位网络ID加入。除非Tailscale在你那边连不上,否则没必要选ZeroTier。

本文为原创内容,首发于公众号「新一技术宅」,转载请注明出处。

Github 开源:https://github.com/tailscale/tailscale
https://github.com/zerotier/ZeroTierOne
https://github.com/rustdesk/rustdesk-server
数据来源:Tailscale、RustDesk、实测数据

下载链接汇总

  • • Tailscale后台(查看设备IP + 各平台下载):https://login.tailscale.com/admin/machines
  • • RustDesk Windows/Mac:https://github.com/rustdesk/rustdesk/releases
  • • RustDesk Android:应用商店搜"RustDesk"
  • • RustDesk iOS:https://apps.apple.com/cn/app/rustdesk%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2/id1581225015
  • • ZeroTier各平台下载:https://www.zerotier.com/download/

转自:https://mp.weixin.qq.com/s/N3Hiwz9mJi5Z1sNxQYjHHg