当 AI 服务跑在家里,远程访问就变得棘手
本地部署 LLaMA、Stable Diffusion 这类模型,一开始就是冲着数据隐私去的。但麻烦也跟着来了:人不在家时,怎么连上这些服务?端口映射到公网是最直接的办法,也是风险最高的。
端口映射的风险不只是理论上的
一旦你的 AI 服务暴露在公网,面对的不是某个特定攻击者,而是互联网上 7×24 小时自动扫描的 bot。它们会盯上任何开放的端口,不断尝试弱口令、已知漏洞。对于运行在 PyTorch 上的 WebUI,你很难保证它没有未修补的安全问题。更糟的是,如果这个服务被攻破,攻击者可能横向移动到家庭网络内的 NAS、摄像头等其他设备。
让服务'隐身'的折中方案
核心想法很简单:不在公网开任何口子,而是让外部设备通过一条加密通道直接进入内网。这用 P2P VPN 就能做到,原理类似虚拟组网。
市面上常见的工具比如 Tailscale、ZeroTier,原理大同小异。下面以 Tailscale 为例聊聊怎么搭。
第一步:在跑 AI 的主机上装客户端
假设你的 Ubuntu 机器上已经跑着一个 WebUI,监听在 7860 端口。装一个命令行工具就行:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
执行后按提示在浏览器里登录授权,这台机器就会拿到一个虚拟网段的 IP,比如 100.66.1.10。
第二步:在外部设备上也装客户端
在你的手机或公司电脑上下载对应客户端,用同一个账号登录。这台设备同样会获得一个同网段的 IP,比如 100.66.1.20。
第三步:直接访问虚拟 IP
在公司电脑的浏览器里输入 http://100.66.1.10:7860,就能通过加密隧道连回家里的服务。流量路径变成:
公司电脑 → 加密隧道 → 家庭 AI 主机
家庭路由器全程看不见任何来自公网对 7860 端口的请求,扫描工具也找不到你这个服务。
背后用到的技术与权衡
这类工具一般依赖这几个组件:
- NAT 穿透:用 STUN/TURN/ICE 在复杂网络环境下尝试建立点对点连接
- 加密隧道:基于 WireGuard 或类似的高效 VPN 协议
- 协调服务器:只负责交换连接信息,不中转业务数据(除非直连失败才走中继)
一个现实的取舍:直连速度取决于两端的网络环境,如果双方都在对称 NAT 后面,可能被迫走中继,延迟会高一些。不过日常远程调个模型参数、看看生成结果,基本够用。
不同访问方式比较
| 访问方式 | 便利性 | 安全性 | 技术要求 |
|---|---|---|---|
| 端口映射 | 高 | 极低 | 中(需配置路由器) |
| 商业远程桌面 | 中 | 中(依赖厂商) | 低 |
| 自建 VPN | 中 | 高 | 高 |
| P2P 虚拟组网 | 高 | 高 | 低 |
P2P 虚拟组网方案在安全与易用之间平衡得不错,尤其适合个人 AI 开发场景。它让你真的能「数据不出家门」,同时不牺牲远程访问的灵活性。


