如果我们选择本地部署 AI 模型(如 LLaMA、Stable Diffusion)的核心动机之一是对数据隐私的绝对控制!
但当我们需要从外部网络访问这些服务时,就面临两难选择:要么牺牲便利性(只能在内网使用),要么牺牲安全性(将服务暴露至公网)。本文介绍一种折中的解决方案,实现无需公网 IP、零端口暴露的远程安全访问。
公网暴露的潜在威胁
将本地服务的端口通过路由器映射到公网(Port Forwarding),是常见的'暴力'解决方案。但这带来了显著风险:
- 端口扫描与暴力破解:你的服务 IP 和端口会暴露在互联网的自动化扫描工具下,可能遭遇持续的登录尝试或漏洞利用攻击。
- 服务漏洞利用:如果 AI 服务的 Web 界面或 API 存在未修复的漏洞,攻击者可以直接利用。
- 家庭网络边界被突破:一旦攻击者通过该服务入侵成功,可能进一步渗透到家庭网络中的其他设备。
怎么解决:基于加密隧道的网络隐身
思路是:不让本地服务在公网'露面',而是让外部访问者通过一条加密的'专属通道'直接进入内网。这可以通过基于零信任网络的 P2P VPN 工具实现。
具体实现:以 P2P 虚拟组网工具为例
市面上有多个开源和商业产品可实现此功能,其原理类似。下面说明如何搭建。
- 在本地 AI 主机上安装并加入网络
假设 AI 服务运行在 Ubuntu 上。
# 使用官方脚本安装客户端
# 安装后,根据提示登录认证,设备即加入你的私有网络
该主机会获得一个虚拟网络 IP,如 100.66.1.10。
- 在远程设备上安装客户端并登录
在你的手机或公司电脑上安装对应客户端,使用同一个账号登录。该设备也会获得一个同网段 IP,如 100.66.1.20。
- 安全访问
现在,你在公司电脑的浏览器中直接访问 http://100.66.1.10:7860(假设 AI 服务运行在 7860 端口),流量路径如下:
公司电脑 -> 加密隧道 -> 家庭 AI 主机
关键点:你的家庭路由器从未收到来自公网 IP 公司电脑对端口 7860 的请求。所有流量被封装在加密隧道中,对于公网而言是'不可见'的。
技术原理小小的浅析
此类工具通常采用以下技术组合:
STUN/TURN/ICE:用于在复杂 NAT 环境下建立 P2P 连接。
WireGuard 或类似高效 VPN 协议:用于构建加密隧道。
中央协调服务器:仅用于设备发现和交换连接信息,不中转业务数据(在中继模式下除外)。
对比
| 访问方式 | 便利性 | 安全性 | 技术要求 |
|---|---|---|---|
| 端口映射 | 高 | 极低 | 中(需配置路由器) |
| 商业远程桌面 | 中 | 中(依赖厂商) | 低 |
| 自建 VPN | 中 | 高 | 高 |


