- ✅ 主机是 Windows
- ✅ 从电脑 控制这台机器
❓先解释:什么是“内网穿透工具”?
🚪简单说:
大多数家庭或办公室的电脑 不直接暴露在公网,只有一个共享的“外网 IP”,真正的电脑 IP 是被路由器“藏起来”的,属于 内网。
这就导致你从家里 Mac 想连到公司/别处的那台电脑时,找不到门(因为 IP 被路由器挡住了)。
✅内网穿透工具 = 把“门”打通,能从外面访问内网电脑。
代表工具有:
- Tailscale(简单、免费、安全,适合用)
- ZeroTier、FRP、Ngrok、花生壳等
🌐关于公网 IP 会不会变?
你用 https://ifconfig.me 查到的 IP 是你当前的公网 IP。
⚠️大部分家庭宽带(尤其是移动、电信、联通)提供的是“动态 IP”,可能重启路由器或过几天就变一次。
👉 所以你不能长期用这个 IP 来远程连接。
✅推荐用的方法:Tailscale + Windows远程桌面
这套方案稳定、安全、速度快、操作也不复杂。
🛠️ 步骤开始:Windows主机 + Mac 远程控制
第一步:在主机(Windows 10)安装 Tailscale
- 打开你那台 4090 主机。
- 访问官网:https://tailscale.com/download
- https://pkgs.tailscale.com/stable/ 各种稳定版本下载
- 下载并安装 Windows 版。
- 安装完后会提示登录,你用 Google 账号(或 GitHub)登录就行。
- 成功后,主机会自动加入你的私人网络。
第二步:在家里 Mac 安装 Tailscale
- 在 Mac 上也访问:https://tailscale.com/download
- 安装 Mac 版本,登录同一个账号。
- 你会看到自己的设备列表里有那台 Windows 电脑了。
第三步:开启 Windows 远程桌面(RDP)
在 Windows 上:
- 开始菜单 > 设置 > 系统 > 远程桌面
- 打开开关「启用远程桌面」
- 记住你的 Windows 用户名(建议设置登录密码)
- 打开防火墙中对远程桌面的访问(系统一般会自动处理)
第四步:在 Mac 上连接远程桌面
- 在 Mac 上打开 App Store,搜索并安装:
Microsoft Remote Desktop
或直接链接:https://apps.apple.com/cn/app/microsoft-remote-desktop/id1295203466
- 打开后,点击 “+” 添加一个新连接:
- PC name:填你在 Tailscale 上看到的 Windows 主机名或它的 Tailscale IP(通常是 100.xxx.xxx.xxx)
- 用户名:你的 Windows 登录用户名
- 密码:登录密码(必须设置过)
点击保存并连接,就能看到远程桌面啦!
✅完成后你能干嘛?
你就能像操作自己电脑一样用 4090 远程跑 ComfyUI、MJ、Stable Diffusion、看视频、写代码等等!
明白了,你现在手边只有 iOS 手机,那我们就用手机来远程控制 4090 主机。
✅ 用 iPhone 控制 Windows 主机(4090)
我们依然推荐用 Tailscale + Microsoft Remote Desktop 方案,手机也完全支持!
📱方案一:用 iPhone + Tailscale + 官方远程桌面(最流畅)
🔧你需要做两件事:
🖥️ 1. 在 Windows 主机上(现在就能操作)
你现在能用 4090 主机,对吧?请先完成这些准备:
✅【A】安装并登录 Tailscale
- 打开浏览器访问: https://tailscale.com/download
- 下载 Windows 版本,安装。
- 登录(用 Google 或 GitHub 都可以)
- 登录后不要管,它会常驻后台并分配一个虚拟 IP(通常是
100.x.x.x
)
✅【B】启用远程桌面(RDP)
- 打开:开始 > 设置 > 系统 > 远程桌面
- 开启“启用远程桌面”开关 ✅
- 系统会提示你“允许防火墙通过”,也点允许
- 记下你的 Windows 登录名(比如
DESKTOP-XXXXX\用户名
)如果你没设置登录密码,需要设置一个,不然远程桌面连不上。
📱2. 在 iPhone 上配置远程控制
✅【A】安装 Tailscale(让你手机和主机通网)
- 打开 App Store,搜索并安装
Tailscale
- 登录同一个账号(和你在电脑上登录的一样)
- 你会看到你的 4090 主机出现在设备列表中
✅【B】安装 Microsoft Remote Desktop(远程桌面)
- 仍在 App Store,搜索并安装:
Microsoft Remote Desktop
- 打开 App,点击“+” > 添加 PC:
- PC 名称:填 Tailscale 分配给主机的
100.xxx.xxx.xxx
地址👉 可以在 Tailscale App 里点你的设备名查看 IP
- 用户名:Windows 的登录名(比如
User
) - 密码:Windows 的登录密码
- PC 名称:填 Tailscale 分配给主机的
- 保存后点击该设备,就可以看到 Windows 画面啦!
✅ 如果你想用「网页控制」而不是远程桌面…
你可以稍后我教你怎么部署一个 Web 服务,比如:
- ComfyUI Manager(带 Web 控制面板)
- 或者直接开放你自己的网页端口,挂载 Gradio 接口
问题解决
Tailscale 不随系统自动登录 导致的“远程断联”问题,这是远程运维中一个很常见也很容易踩坑的点,解决方式如下👇
官网的不行,需要下载:pkgs.tailscale.com/stable/#windows
Tailscale 官网的下载页面(https://tailscale.com/download)默认提供的是 .exe
安装程序,这个版本安装后不会注册为 Windows 系统服务,因此在系统重启或用户未登录时,Tailscale 不会自动启动,导致你无法远程连接。
✅ 解决方案:使用 .msi
安装包安装 Tailscale 系统服务
要实现 Tailscale 在 Windows 系统启动时自动运行,即使用户未登录,也能保持远程连接,你需要使用 .msi
安装包来安装 Tailscale。以下是具体步骤:
1. 下载 .msi
安装包
访问 Tailscale 的官方安装包页面:
👉 https://pkgs.tailscale.com/stable/
在该页面中,找到适合你系统架构的安装包:
- 对于大多数现代 Windows 系统,选择
tailscale-setup-<version>-amd64.msi
(适用于 64 位系统)
例如:
-
tailscale-setup-1.76.3-amd64.msi
🧩 文件说明:
文件名 | 描述 | 是否支持后台服务 |
tailscale-setup-1.82.5.exe | 标准安装包(不推荐用于注册系统服务) | ❌ 不自动注册为系统服务 |
tailscale-setup-full-1.82.5.exe | 完整版安装器(包含所有架构的 MSI,适合打包部署) | ✅ 可用于系统服务 |
✅ tailscale-setup-1.82.5-amd64.msi | 64 位 Windows 的官方推荐 MSI 安装包 | ✅ 是你最推荐用的版本(实测win10可以,但win11要装full版本的) |
tailscale-setup-1.82.5-arm64.msi | 适用于 ARM 架构的 Windows(如 Surface X) | ❌ 大多数 PC 不用选它 |
tailscale-setup-1.82.5-x86.msi | 适用于 32 位系统 | ❌ 老旧系统才用这个 |
✅ 推荐你选择:
👉 tailscale-setup-1.82.5-amd64.msi
适用于绝大多数现代 Windows 10 / 11 电脑,并且安装后会注册成 系统服务 TailscaleService
,可以:
- 在未登录系统时后台运行
- 实现远程重启后仍可控制
- 通过 PowerShell 控制自动启动行为
🛠 安装后你需要做的:
- 双击安装 MSI 文件
- 安装完后,打开 PowerShell(管理员)运行:这将启动 Tailscale 服务,并设置为开机自动启动。
Start-Service TailscaleService
Set-Service TailscaleService -StartupType Automatic
- 登录你的 Tailscale 账号:
- 点击系统托盘中的 Tailscale 图标,完成登录
- 登录一次即可记住,下次自动连接
💡 小贴士
安装 .msi
版本后,之前 .exe
安装的版本(如果没卸载)可能会有冲突,建议:
# 可选:卸载旧版本
Get-WmiObject -Query "select * from Win32_Product where Name like 'Tailscale%'" | ForEach-Object { $_.Uninstall() }
2. 安装 Tailscale
双击下载的 .msi
文件,按照提示完成安装。
安装完成后,Tailscale 会注册为 Windows 系统服务,名为 TailscaleService
。
3. 启动并设置服务自动启动
以管理员身份打开 PowerShell,执行以下命令:
4. 登录 Tailscale
在系统托盘中找到 Tailscale 图标,点击后选择“登录”,按照提示在浏览器中完成账户登录。
🔍 验证服务状态
你可以通过以下命令检查 Tailscale 服务的状态:
Get-Service TailscaleService
如果显示状态为 Running
,说明服务已成功启动。
📝 注意事项
- 使用
.msi
安装包安装 Tailscale 后,服务将在系统启动时自动运行,无需用户登录即可保持远程连接。 - 如果你之前安装了
.exe
版本,建议先卸载,然后再安装.msi
版本,以避免冲突。 - 安装过程中可能需要管理员权限,确保你有足够的权限进行操作。
✅ 问题本质:
当你远程重启 Windows 主机后:
- 开机进入 登录界面 前,Tailscale 不启动;
- 所以你就无法从远程再次连上去,陷入“我看得见你重启,但我回不去了”的困境。
虽然用了 .msi
文件,但系统中依然提示 TailscaleService
不存在,说明服务并没有被成功注册。一步步排查,并且确保服务是正确安装、注册和运行的。
✅ 步骤一:确认是否安装成功
先检查是否真的通过 MSI 安装了 Tailscale:
执行这个命令列出所有包含 "tailscale" 的程序:
Get-WmiObject -Query "select * from Win32_Product where Name like '%tailscale%'"
如果没有任何输出,说明 MSI 安装失败或没安装成功,你需要重新安装一次:
✅ 推荐重新安装 tailscale-setup-1.82.5-amd64.msi
:
- 右键 MSI 文件 → 选择“以管理员身份运行”
- 安装完成后,再重启一下电脑(这会确保服务注册成功)
- 然后再运行:
Start-Service TailscaleService
Set-Service TailscaleService -StartupType Automatic
✅ 步骤二:手动检查服务是否存在
执行以下命令查看是否有 tailscale 的服务:
Get-Service | Where-Object { $_.Name -like "*tailscale*" }
如果这也没找到,就说明服务根本没注册进系统(可能你之前安装的是 .exe
而不是 .msi
)。
🛠️ 解决方案总结:
问题 | 解决办法 |
安装了 .exe 而非 .msi | 卸载 .exe 版本,改装 .msi (用管理员权限安装) |
安装 .msi 没有服务注册 | 重启系统,或确保安装时没有被安全策略阻止 |
服务安装失败 | 尝试在 PowerShell 里用 msiexec 安装(见下方) |
✅ 终极办法:用 msiexec
安装 .msi
用命令行强制以系统权限安装(确保服务正确注册):
msiexec /i "C:\路径\到\tailscale-setup-1.82.5-amd64.msi" /qn
替换路径为你本地的实际路径
你现在的情况最有可能是:
之前装的是 .exe 而不是 .msi,所以没有系统服务。
只要你用 管理员身份正确安装 tailscale-setup-1.82.5-amd64.msi
(实测win10可以,win11要下载full版本的),重启后服务就会出现。
- 你也可以同时装一个 RustDesk 或 向日葵 做兜底工具,它们可以在登录前连接桌面,避免断联。
- 或者设置一个 物理定时器开机脚本,重启自动执行 Tailscale CLI 启动。
tailscale.exe up --login-server=https://login.tailscale.com --accept-routes
tailscale.exe up --login-server=https://login.tailscale.com --accept-routes --unattended
测试用的这个命令:
Set-Service -Name tailscale -StartupType Automatic
确实是设置 tailscale 服务为“开机自动启动”的方式。那么我们现在来确认是否生效,分两步检查即可
✅ 一步步确认是否生效
1️⃣ 检查服务状态和启动类型
在 PowerShell 中输入:
Get-Service -Name tailscale | Select-Object Name, Status, StartType
如果返回类似:
Name Status StartType
---- ------ ----------
tailscale Running Automatic
就说明你的命令已经成功生效,服务在运行中且开机自启。
2️⃣ 或者用任务管理器图形界面查看(备用方法)
- 按下
Ctrl + Shift + Esc
打开任务管理器 - 切换到【服务】标签页
- 找到
tailscale
服务,查看是否是“正在运行” - 双击这个服务,看“启动类型”是不是“自动”
⚠️ 如果命令返回错误或查不到服务?
可能原因:
- 服务实际叫
tailscaled
或TailscaleService
(不同版本略有不同) - 安装时没有正确注册服务
你可以这样列出所有带 tailscale 的服务名看看是哪一个:
Get-Service | Where-Object { $_.Name -like "*tail*" }
找到正确名字后再重新执行:
Set-Service -Name 正确服务名 -StartupType Automatic
💡附加建议:设置 tailscale 自启动后自动登录
如果你希望 tailscale 每次启动后自动连上你的账户和网络,你还需要配置:
tailscale up --authkey <你的认证密钥> --hostname your-machine
登录 tailscale 网站,在 Admin Console → Keys 页面生成 authkey
你现在这个命令没报错就已经很不错了,照我这两步确认一下状态就能安心 😌
如果你还有别的服务名疑问,发我输出我来帮你判断。
豆包:关机之后重启,没输入密码时,tailscale并登录 的解决方案
在 Windows 系统中,未输入密码进入登录界面时,用户级服务默认不会启动(因为此时用户会话未激活)。若要让 Tailscale 在系统启动后无需用户登录即可自动运行,需要将其配置为以 系统账户(Local System) 运行,并结合 无人值守模式 和 服务自启策略。以下是具体解决方案:
核心原理:让 Tailscale 以系统账户运行
Windows 服务有两种运行身份:
- 用户账户:需用户登录后才能启动(如普通用户账户)。
- 系统账户(Local System):无需用户登录,系统启动时直接运行(推荐方案)。
操作步骤 1:检查 Tailscale 服务的登录身份
- 打开「服务管理器」:
Win + R
→ 输入services.msc
→ 找到 Tailscale 服务。 - 右键点击服务 →属性→ 切换到登录选项卡:
- 若当前为用户账户(如
YourUsername
):需修改为 本地系统账户。 - 若已是本地系统账户:跳过此步骤。
- 若当前为用户账户(如
操作步骤 2:将服务登录身份改为本地系统账户(实测设置一致不用改)
- 在「登录」选项卡中,勾选 本地系统账户。
- 取消勾选 允许服务与桌面交互(可选)。
- 点击 应用 → 确定,重启服务使配置生效。
操作步骤 3:配置 Tailscale 无人值守模式
无人值守模式可让 Tailscale 在系统账户下自动完成认证,无需用户干预。
以管理员身份打开 PowerShell,执行:
tailscale up --unattended --login-server=https://login.tailscale.com
- 关键参数:
-unattended
:允许在无用户会话时运行(Windows 专用)。-login-server
:指定 Tailscale 控制服务器(可选,默认值为https://controlplane.tailscale.com
)。
遇到的问题:
PS C:\Users\somebody> tailscale up --unattended --login-server=https://login.tailscale.com
Error: changing settings via 'tailscale up' requires mentioning all
non-default flags. To proceed, either re-run your command with --reset or
use the command below to explicitly mention the current value of
all non-default settings:
tailscale up --login-server=https://login.tailscale.com --unattended --advertise-exit-node
查看完整状态信息
tailscale status --json | ConvertFrom-Json | ConvertTo-Json -Depth 10
1. 命令作用
tailscale status --json | ConvertFrom-Json | Select-Object -ExpandProperty Self
-
-json
:以 JSON 格式输出状态。 -
ConvertFrom-Json
:将 JSON 文本转换为 PowerShell 对象。 -
Select-Object -ExpandProperty Self
:提取设备自身的状态信息。
2. 重点检查参数
执行命令后,查看以下字段是否符合预期:
(1)连接状态
-
Online: true
✅ 表示 Tailscale 服务已运行,网络连接正常。 -
Active: true
✅ 表示设备已完成认证,处于激活状态(可参与网络通信)。
(2)无人值守模式
-
Unattended: true
✅ 表示配置正确,设备会在系统启动时自动运行(无需用户登录)。
(3)出口节点配置
-
AdvertiseExitNode: true/false
-
true
:当前设备作为出口节点(若你需要此功能,显示true
为正常)。 -
false
:未作为出口节点(默认值,若无需此功能,无需修改)。
-
(4)认证信息
-
UserProfile
:显示登录的用户邮箱(如[email protected]
),表示认证成功。 -
TailscaleIPs
:分配的 Tailscale IP 地址(如["100.101.102.103"]
)。
操作步骤 4:确保服务启动类型为「自动」
- 在「服务管理器」中,右键点击 Tailscale 服务 → 属性。
- 启动类型设置为自动(延迟启动)或自动。
- 延迟启动:避免抢占系统资源,适合后台服务。
- 自动:系统启动后立即启动。
验证:模拟未登录状态下的服务运行
- 重启计算机,进入登录界面(不输入密码)。
- 通过
远程工具
(如公司内部的远程管理工具)或本地物理机,检查:
- 服务状态:
# 远程执行(需管理员权限) Invoke-Command -ComputerName <远程计算机名> -Script { Get-Service tailscale }
若状态为Running,表示服务已在系统账户下启动。
- Tailscale 连接状态:
Invoke-Command -ComputerName <远程计算机名> -Script { tailscale status }
若显示 Tailscale IP 和节点信息,说明已成功连接。
3. 示例输出(成功状态)
Online : True Active : True UserProfile : user@example.com TailscaleIPs : {100.101.102.103} Unattended : True AdvertiseExitNode : false # 若未启用出口节点 LoginServer : https://login.tailscale.com
- 服务状态:
公司环境特殊配置(若遇限制)
- 组策略限制: 部分公司通过组策略禁止服务以系统账户运行,需联系 IT 部门解除限制。
- 认证凭证问题:
若 Tailscale 需要用户凭证(如 OAuth 登录),系统账户无法存储用户会话,需提前通过
tailscale up --auth-key
使用预生成的认证密钥(适合企业批量部署)。
tailscale up --auth-key=file:/path/to/authkey --unattended
(需将认证密钥文件放置在系统可访问的路径,如C:\\ProgramData\\tailscale\\)。
总结:关键配置点
配置项 | 要求 |
服务登录身份 | 必须为 本地系统账户(Local System),否则无法在未登录时启动。 |
启动类型 | 自动(延迟启动)或自动。 |
无人值守模式 | 必须启用(--unattended ),否则无法绕过用户会话认证。 |
认证方式 | 推荐使用 认证密钥(Auth Key),避免依赖用户登录后的 OAuth 流程。 |
通过以上配置,Tailscale 会在系统启动时以系统账户自动运行,无需用户登录即可完成网络连接,满足远程开机自启需求。
生成密钥网址
tailscale up --unattended --login-server=https://login.tailscale.com --auth-key=file:C:\tailscale-authkey.txt --reset
tailscale up --authkey=tskey-xxxx --login-server=https://login.tailscale.com --reset
✅ 一、用 iPhone 远程 Mac 核心思路(和远程 Windows 类似)
你需要完成两个事情:
- Mac 上运行一个远程桌面服务(或类似 VNC 服务)
- iPhone 安装一个客户端 App,通过 Tailscale 访问那台 Mac
🔧 二、推荐方案:使用 VNC + Tailscale
🖥️ mac 端设置(被控端)
macOS 本身支持 VNC,操作如下:
- 打开系统设置 > 共享(Sharing)
- 开启 屏幕共享(Screen Sharing)
- 勾选
允许 VNC 查看器控制屏幕
,并设置一个密码(这个就是 VNC 密码) - 确认 Tailscale 正常连接,并记下该 mac 的 Tailscale IP(一般是
100.x.x.x
)
📱 iPhone 端设置(控制端)
- 安装 App:推荐 VNC Viewer by RealVNC
- 打开 App,添加新连接
- 地址填:
100.x.x.x
(Mac 的 Tailscale IP) - 名称随意
- 地址填:
- 输入你在 mac 设置的 VNC 密码,即可连接
🔄 方案二:Moonlight(如果你追求高帧率远控)
如果你追求类“远程打游戏”般的丝滑体验,可以用 Moonlight + Sunshine 组合:
- 在 mac 上安装 Sunshine(一个 GameStream 服务器)
- 在 iPhone 上用 Moonlight App
- 同样通过 Tailscale 打通两个设备
缺点是配置稍麻烦,但延迟比 VNC 好太多。
🧠 注意事项
- 你如果是 macbook,记得设置合盖仍能远程(或用防盖检测工具)
- 默认 macOS VNC 画质较差,如果你需要美观可选 第三方远控服务(如 AnyDesk、RustDesk)
- Tailscale 也支持 MagicDNS,你可以直接用设备名访问,比如
macbook.local
,更方便
✅ 总结
类型 | 工具组合 | 适合用途 |
---|---|---|
标准远控 | Tailscale + VNC | 一般操作、远程桌面 |
丝滑高帧远控 | Tailscale + Sunshine + Moonlight | 看视频、打游戏 |
零配置即用 | AnyDesk / RustDesk + Tailscale | 非技术用户 |
偏开发和可控性的话,推荐走 Tailscale + VNC 或 Moonlight 路线。