之前使用 todesk 进行远程控制,5月1日后竟然只是访问了几次,不到几小时,已经说我免费时长已经用完,没办法,只能想别的办法了。

本文讲4点:

 1、使用Tailscale实现内网穿透

2、配置RustDesk自托管,实现RustDesk远程控制
3、使用Tailscale + RDP与RustDesk的安全性
       ①、AI对安全性的分析:
       ②、通过Windows中限制IP远程桌面登录,进一步提高RDP安全性
4、RDP与RustDesk的性能比较
       ①、功能差异
       ②、RustDesk的传输方式
       ③、RDP远程桌面的传输方式
       ④、RDP与RustDesk性能比较

 最后选择:从性能与安全性考虑,使用Tailscale 内网穿透+RDP远程控制 足够。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

前言:免费的远程控制软件与内网穿透的实现

问deepseek :有什么免费的远程控制软件?

选择建议

  • 简单易用:Chrome Remote Desktop 或 AnyDesk

  • 开源隐私:RustDesk(自托管)或 UltraVNC

  • 高性能需求:NoMachine

  • 临时协助:TeamViewer(注意商业检测)

  • 完全免费无限制:RustDesk 或 DWService

装了RustDesk后,发型还要内网穿透才可以。

问deepseek :有什么软件可以实现内网穿透?

 
需求场景推荐工具
临时测试(Web 开发) ngrok、Cloudflare Tunnel
长期稳定穿透(自建) frp、NPS、WireGuard
简单易用(非技术用户) 花生壳、Sakura Frp
企业级需求(高可用) 神卓互联、自建 VPS + frp
P2P 组网(替代 VPN) ZeroTier、Tailscale

 

先试了 ZeroTier ,RustDesk 显示已经在线了,但没能实现远程控制,两台电脑之间 ping,延时较大,还有丢包现象。

问deepseek :有什么与zerotier比肩或更好的软件吗?

选择建议

  • 追求易用性:Tailscale(适合个人/团队)或 Zerotier。

  • 追求性能:Tailscale(WireGuard)或 Netmaker。

  • 企业级零信任:OpenZiti。

  • 完全自托管:Netmaker 或 Nebula。

  • 技术极客/定制化:WireGuard 手动配置或 Tinc。

于是选择Tailscale再试,并使用远程桌面连接成功。

1、使用Tailscale实现内网穿透

访问: Tailscale · Best VPN Service for Secure Networks

 登录后(我一开始使用Google、Github账户都登录失败,使用的是Microsoft邮件账户登录的):

 安装Tailscale的Windows客户端点击登录(直接点击就会在浏览器弹出第4点中图二的登录页面):

 第4点中图二登录后:

 

 通过上面获得的IP地址就可以进行远程桌面连接了。

 

2、配置RustDesk自托管,实现RustDesk远程控制

 

参照 Windows & PM2 或 NSSM :: RustDesk 的文档 指引设置即可,相当简单:

 

 

 配置ID/中继服务器:

 

 

 IP服务器,IP为Tailscale穿透提供的IP,KEY为上面自托管完成后生成的文件:C:\rustdesk-server-windows-x64\id_ed?????.pub,打开文件复制粘贴

 

 

3、使用Tailscale + RDP与RustDesk的安全性

 ①、AI对安全性的分析:

 问 deepseek :tailscale、远程桌面访问,安全吗?

方案安全性易用性适用场景
直接暴露 RDP 到公网 ❌ 极低 ✅ 高 不推荐
Tailscale + RDP ✅ 高 ✅ 高 内部团队访问
Tailscale + SSH 隧道 ✅ 极高 ⚠️ 中 技术用户/高敏感环境

 

问 chatgpt :

✅ 推荐的强认证方式一览(从强到弱)

强认证方式安全级别说明
网络级身份验证(NLA) ✅ 高 默认开启,使用 Windows 凭据完成身份认证后再建立远程桌面会话
双因素认证(2FA) ✅ 非常高 使用 OTP、短信、APP(如 Microsoft Authenticator)等二次验证
RDP 网关(RD Gateway) + SSL ✅ 非常高 使用专用中转服务器,强制 SSL 加密和身份认证
只允许使用强密码的账户 ✅ 中 设置账户复杂密码,禁用弱口令
限制指定账户登录 RDP ✅ 中 通过组策略设置,只允许特定用户登录
禁用默认端口(3389) ✅ 辅助 提高被扫描攻击的门槛,但不是本质的强认证方式

🔐 1. 启用网络级身份验证(NLA)

✅ NLA 是什么?

NLA 要求远程桌面用户在连接前先通过 Windows 层级认证(用户名+密码/证书)。这样能:

  • 防止匿名或猜密码攻击;

  • 节省资源,未授权用户连不上桌面图形界面。

🛠 启用方式:

在被控端(远程主机)设置:

  • 打开 控制面板 → 系统和安全 → 系统 → 远程设置

  • 勾选 仅允许运行使用网络级身份验证的远程桌面的计算机连接

 

✅ 为什么通过 Tailscale + RDP 是“相对安全”的组合?

🔒 1. RDP 不暴露在公网

  • Tailscale 构建的是“内网级”安全连接,所有流量通过加密隧道(WireGuard)。

  • 不存在公网 IP 扫描、端口暴力破解的常见攻击。

🔒 2. 通信端到端加密(WireGuard)

  • 数据传输层是基于 WireGuard 的现代加密协议。

  • 没有第三方能窃听或中间人攻击流量。

🔒 3. 身份验证由 Tailscale 控制

  • 登录依赖于 Google/Microsoft/Apple 等 OAuth,默认启用 2FA;

  • 每台设备的密钥自动轮换,吊销设备后立即失效。

🔒 4. 可配 ACL(访问控制列表)

  • 可以精细控制:哪些用户可以访问哪些端口或服务;

  • 可以设置只允许特定用户访问 RDP(TCP 3389)。

🔒 5. 可追踪连接日志(Auditing)

  • Tailscale 控制面支持查看每台设备的连接记录、来源、访问行为。


⚠️ 安全依赖前提

要保证 Tailscale + RDP 真正安全,以下几点必须满足:

安全点是否满足风险备注
Tailscale 账号未泄露 建议开启双因素认证
Tailscale 登录设备安全 不要在不可信设备登录
Tailscale 网络未开放注册 防止陌生账号加入
RDP 设置了强密码 使用长密码或多因素登录
不允许多余用户登录 RDP 可用组策略限制用户
定期清理无用设备 删除旧手机、旧电脑

  

②、通过Windows中限制IP远程桌面登录,进一步提高RDP安全性

 ⑴、我的想法以及AI(chatgpt)的回答:

✅ 你的目标

通过 Windows 防火墙设置入站规则,只允许某个固定的 Tailscale IP(如 100.12.32.1)访问远程桌面服务,从而即使账户泄露,攻击者也无法远程连接。

✅ 这套策略是否可行?结论如下:

✔️ 技术上完全可行

  • Tailscale 分配的是私有 IP(在 100.64.0.0/10 网段),默认只能通过 Tailscale 网络访问。

  • Windows 防火墙完全支持基于 IP 的入站规则控制。

  • 只允许某个 IP 可以有效降低账户泄露带来的远程控制风险。

🔐 安全性评价

风险类型是否防护成功说明
Tailscale 帐号泄露 ✅ 有效 攻击者即便登录你的 tailnet,没有 IP 白名单就无法连接 RDP
暴力破解 RDP 密码 ✅ 有效 没有 IP 白名单,根本连不进去
本地网络被入侵 ✅ 有效 Tailscale 网络是封闭的
IP 被盗用或伪造 ✅ 非常难 Tailscale 网络使用加密 + 验证,不允许伪造 IP,等同于 VPN 层加防火墙

⑵、Windows中限制IP

打开 开始 --->Windows 管理工具 ---> 高级安全 Windows Defender 防火墙

设置所有网卡的入站规则

 

 、物理网络接口(如以太网/Wi-Fi)

本地IP地址的意义:就是只有通过该本地网卡(本地IP)的访问是允许的,

远程IP地址的意义:就是只有远程网卡(该远程IP)的访问是允许的,

、虚拟网络接口Tailscale

 

要搜索所有的-in设置,并合理设置,才能提供安全性。上面的设置,并不能进行搜索操作,为了方便查找,可以“导出列表”进行搜索,然后再在界面操作。

4、RDP与RustDesk的性能比较

①、功能差异

RDP不能设置远端显示分辨率,不能加载及卸载虚拟光驱(已经加载的虚拟光驱不影响使用),RustDesk则没有这个问题,所以可以使用RustDesk设置好分辨率、加载或卸载虚拟光驱后,再使用RDP。

 

②、RustDesk的传输方式

RustDesk是传送图像方式,除了带宽影响性能外,对图像的压缩操作还依赖硬件性能,硬件的好坏也是影响性能的重要一环。

RustDesk产生的流量

即使你将 RustDesk 控制端窗口最小化、缩到状态栏只要连接未断开,且被控端仍在播放视频依然会持续产生较大的网络流量。这是由于 RustDesk 的工作方式决定的:


🔍 为什么控制端最小化也会有大量流量?

✅ RustDesk 是“被控端主动推送图像数据”,而不是“控制端按需请求”。

项目行为说明
被控端是否一直捕获画面? ✅ 是,一直在捕捉屏幕帧(无论你看不看)
图像是否压缩后发送? ✅ 是,但视频内容变化大,压缩效果有限
控制端窗口是否影响发送? ❌ 否,窗口大小或最小化不会影响图像发送逻辑
是否可以限制帧率/分辨率? ✅ 可在设置中手动调节(否则默认自动高帧率)

📌 所以,只要连接没断,RustDesk 就认为“你在看”,就会持续推送图像流。


📊 流量实测参考(高分辨率 + 视频播放):(1920 × 1080、24-bit(RGB)、30 FPS、中等压缩

场景大致流量(上下行总和)
被控端静止画面 10~100 KB/分钟
被控端网页滚动 0.3~1 MB/分钟
被控端视频播放 2~5 MB/分钟甚至更高
控制端窗口最小化 ✅ 与“未最小化”相同流量
控制端不动鼠标/键盘 ✅ 不影响流量大小

✅ 如何降低这种情况下的流量?

你可以采取以下策略:

🛠 控制端设置降低流量

  1. 打开 RustDesk 设置 → 图像

    • 分辨率:设为“低”或自定义为 60% 以下

    • 帧率:调为 5~10 fps

    • 压缩等级:调高压缩(减少画质)

  2. 设置 → 网络

    • 禁用“硬件加速解码”,有时会减小传输负担

  3. 高级设置(自托管时)

    • 可以设定“只有在操作时发送画面”的策略(依赖服务端支持)

 

、RDP远程桌面的传输方式

微软的 RDP(Remote Desktop Protocol)不是单纯靠压缩画面图像来传输画面的,而是采用了更智能的、内容感知型的混合渲染方式,它比 RustDesk 这类“纯图像传输”远程桌面协议更加高效,特别是在静态内容和办公场景中。


✅ 微软 RDP 是如何工作的?

微软 RDP 使用一种 “内容分离 + 差异传输”机制,它会根据屏幕上的内容类型采用不同的策略进行传输:

内容类型传输方式
文本、窗口控件 传输“GDI 命令”或“矢量图形指令”来重建界面,而非图像
图标/UI元素 发送位图 + 位置,避免整体图像传输
网页、Office 应用 基于字体渲染 + 控件重构
视频、动态图像 在需要时才使用压缩的视频帧(H.264/AVC)传输整个图像帧
桌面背景等静态内容 首次传输后仅做区域差异更新

📌 这使得 RDP 能在办公环境中非常节省流量,比传统的 VNC、RustDesk 或 AnyDesk 等图像流方式更高效。


🔍 图像 vs 命令:RDP 和 RustDesk 的本质差别

特性/行为RDP(微软远程桌面)RustDesk
传输模式 图像 + 控件命令混合传输 始终传输压缩图像帧
视频压缩方式 支持 H.264/AVC(RemoteFX/H.264 模式) JPEG 或 MJPEG 图像压缩
静态画面流量 极低(控制差异内容) 稍高(需要全帧或大区域刷新)
动态画面流量 会自动切换到视频模式 始终为图像帧(流量较大)
鼠标/键盘输入响应延迟 极低 略高(取决于带宽和渲染)
是否适合办公文档/网页用途 ✅ 非常适合 ✅ 适合,但带宽成本更高
是否适合高清视频流/游戏 一般(RDP 对高帧率画面支持有限) ✅ 更通用,效果更接近桌面

 

④、RDP与RustDesk性能比较

 

㈠、办公文档/网页用途

 

从上面②③的所述中可以知,RDP性能远优于RustDesk,实际也是如此,响应速度远没有RDP快,画质也没有RDP清,特别是从家里连单位,由于单位电脑硬件配置较低,明显感觉到了卡顿。

㈡、高清视频流/游戏

RustDesk性能更好

 

✅ 性能评比总览(视频界面传输)

 

指标AnyDeskToDesk向日葵RustDesk
视频流畅度 ⭐⭐⭐⭐☆(非常流畅) ⭐⭐⭐⭐(流畅) ⭐⭐⭐☆(较流畅) ⭐⭐☆(一般)
画质压缩优化 ⭐⭐⭐⭐(优秀) ⭐⭐⭐⭐(优秀) ⭐⭐⭐(较好) ⭐⭐(一般)
延迟表现 ⭐⭐⭐⭐(低延迟) ⭐⭐⭐⭐(低延迟) ⭐⭐⭐(略高) ⭐⭐⭐(低延迟)
带宽自适应性 ⭐⭐⭐⭐(强) ⭐⭐⭐⭐(强) ⭐⭐⭐(一般) ⭐⭐(较差)
P2P能力 ⭐⭐⭐⭐(默认 P2P) ⭐⭐⭐⭐(默认 P2P) ⭐⭐(需注册账号) ⭐⭐⭐⭐(支持 P2P)
GPU 编码支持 ✅(支持) ✅(支持) ❓(部分支持) ❌(暂不完整)

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

最后选择:从使用环境、性能、安全性考虑,使用Tailscale 内网穿透+RDP远程控制 足够。

 

posted on 2025-05-08 16:38  zs李四  阅读(1784)  评论(0)    收藏  举报