RustDesk + Tailscale 异地远程桌面方案

moonpark 2026-10-02 14:13 1

一、方案原理


传统情况下,RustDesk 需要通过 ID/信令服务帮助两台设备发现彼此,并尝试 P2P;如果 P2P 失败,则可能使用 Relay 中继。


本方案换一个思路:


Tailscale
↓
负责建立设备之间的虚拟网络
↓
RustDesk
↓
直接通过 Tailscale IP 连接目标 PC

可以理解为:


iPhone / iPad
│
│ Tailscale
↓
虚拟网络
│
↓
Windows PC
│
└── RustDesk :21118

二、方案特点



  • 两台设备不需要公网 IP。

  • 两台设备可以位于不同城市、不同运营商。

  • Tailscale 会尝试建立 Direct 连接;无法直接连接时可能使用 Relay。

  • RustDesk 使用 Tailscale 分配的虚拟 IP 进行直接访问。

  • 不需要在家庭路由器上做端口转发。

  • Tailscale 使用 WireGuard 加密设备间通信。

  • RustDesk 负责远程桌面、鼠标和键盘控制。


三、准备工作


Windows PC


安装:



  • Tailscale

  • RustDesk


iPhone / iPad


安装:



  • Tailscale

  • RustDesk


两台设备登录到同一个 Tailscale 网络(tailnet)。


四、Windows PC 配置 Tailscale


安装并登录 Tailscale 后,在 Windows 中确认设备已经 Connected。


查看 Tailscale IP:


tailscale ip -4

示例:


100.117.xx.xx


实际使用时请以你自己的 Tailscale IP 为准。



五、Windows PC 配置 RustDesk


打开:


RustDesk
→ 设置
→ 安全
→ 允许 IP 直接访问

默认直接 IP 端口:


21118

开启后,可以在 Windows 中确认 RustDesk 正在监听:


netstat -ano | findstr :21118

正常情况下可以看到:


0.0.0.0:21118    LISTENING

或:


[::]:21118       LISTENING

六、Windows 防火墙


如果 Tailscale 可以 Ping PC,但 RustDesk 无法连接,可以检查 Windows 防火墙。


管理员 PowerShell 可以临时添加:


New-NetFirewallRule `
-DisplayName "RustDesk Tailscale 21118" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 21118 `
-Action Allow `
-Profile Any

正式使用时,可以根据自己的安全要求进一步限制来源范围。


七、iPhone / iPad 配置


安装 Tailscale 后:


登录与 PC 相同的账号(建议使用非谷歌账号,因为iOS不允许同时使用两个VPN)
↓
允许添加 VPN 配置
↓
确认 Tailscale 已连接

在 Tailscale 中确认可以看到 Windows PC。


可以使用 Tailscale 的 Ping 功能测试:


iPhone / iPad
↓
Tailscale Ping
↓
Windows PC

Ping 成功说明 Tailscale 网络层已经打通。


八、RustDesk 直接连接


在 iPhone / iPad 的 RustDesk 地址输入框中,输入:


100.117.xx.xx:21118

其中 100.117.xx.xx 替换成 Windows PC 实际的 Tailscale IP。


连接结构:


iPad
↓
Tailscale
↓
100.117.xx.xx:21118
↓
Windows PC

连接成功后,RustDesk 即可通过 Tailscale 网络进行远程控制。


九、常见问题


1. RustDesk 显示“未就绪,请检查网络连接”


如果采用:


Tailscale IP + Direct IP

而且已经能够直接连接:


100.117.xx.xx:21118

那么 RustDesk 主界面的“未就绪”不一定影响这条直接 IP 连接路径。


2. Tailscale Ping 成功,但 RustDesk 连接失败


按以下顺序检查:


1. RustDesk 是否开启“允许 IP 直接访问”
2. 端口是否为 21118
3. Windows 是否监听 21118
4. Windows 防火墙是否允许 TCP 21118
5. RustDesk 地址是否写成:100.117.xx.xx:21118

3. 两台设备没有公网 IP,可以使用吗?


可以。Tailscale 的设计目标之一就是让 NAT 后面的设备建立虚拟网络。


设备可能只有:


192.168.xx.xx

这样的本地地址,同时拥有:


100.117.xx.xx

这样的 Tailscale 地址。


RustDesk 使用后者通信。


4. Tailscale IP 会不会变化?


正常情况下,设备切换 Wi-Fi、移动到其他地点等,Tailscale IP 通常保持不变。


但设备从 Tailscale 网络中移除、重新注册或设备身份发生变化时,IP 可能改变。


5. 同一个 Wi-Fi 下如何测试?


关闭 Tailscale 后,如果 PC 的真实局域网地址是 192.168.xx.xx,可以在 iPhone/iPad 的 RustDesk 中直接测试:


192.168.xx.xx:21118

这可以验证 RustDesk 的物理局域网 Direct IP 是否正常。


十、推荐的最终结构


                Tailscale
┌──────────────────┐
│ 私有虚拟网络 │
└────────┬─────────┘
│
┌────────┴────────┐
↓ ↓
iPhone/iPad Windows PC
│ │
│ │
└─── RustDesk ────┘
│
TCP 21118

核心分工:


Tailscale → 负责网络互通
RustDesk → 负责远程桌面

十一、可扩展性


Tailscale 建立的是设备间虚拟网络,因此除 RustDesk 外,还可以用于:


RustDesk
Syncthing
RDP
SSH
SMB
NAS
局域网 Web 服务

可以把 Tailscale 理解为:



把异地设备组成一个加密的虚拟局域网。



RustDesk 只是运行在这个虚拟网络上的一个应用。

最新回复 (9)
  • Viceo 10-02 14:16
    1楼

    怕被请去喝茶,留给有需要的佬 ^-^

  • T_T 10-02 14:19
    2楼

    RustDesk 这个邪门的很 大概率要接反诈电话 PC不知道 手机我同事就中招了

  • Kong-1024 10-02 14:19
    3楼

    【标题】用 rustdesk 被叫帽子叔叔了

    【等级】Lv1

    【摘要】用 ai 润色了下,自己写的都是病句 对了插一嘴,github 的 apk 和 clash verge 的网页都点进去了,其中 github 说了小猫咪,我感觉被问应该是和 clash 的图标是猫咪有关 rustdesk 有没有魔改版本的,搞得我不敢用了,不然哪天又被查设备了,手…

    【链接】https://linux.do/t/topic/2976496

    【发帖时间】2026-10-02 11:41

  • ZRainbow 10-02 14:19
    4楼

    唉我要是早点知道rustdesk也不会自己手搓一个远程桌面工具了

  • 时牧 10-02 14:20
    5楼

    很好用的开源远控,所以黑灰产第一时间就利用上了,电信诈骗加勒索,用它来辅助犯了不少大案

    也是这样让它出了名

  • 听风吹雨 10-02 14:56
    6楼

    nomachine有没有说法?替代rustdesk

  • wbgg 10-02 15:06
    7楼

    不要啊!!你会消失哒!!!

  • apomnz 10-02 15:36
    8楼

    Tailscale 不是就已经虚拟成局域网了吗?直接rdp不行吗?为什么还要用rustdesk?

  • Irovin 10-02 15:44
    9楼

    我是用Tailscale+Parsec的 ^-^

* 帖子来源Linux.do
返回