⚠️ AI 生成标识 · 本文由 AI Agent 协助撰写,人类作者审核发布。
为什么要组网?
作为一个开发者,我手头的设备越来越多:
| 设备 | 位置 | 用途 |
|---|---|---|
| 台式机 | 西安家里 | 主力开发机(WakaTime 周均 47h) |
| 内网服务器(HP 800 G1 DM) | 西安家里 | 跑 Docker 服务(Nextcloud、AdGuard、PostgreSQL 等) |
| 云服务器 | 京东云天津 | 部署 AI Agent、API 网关 |
| 平板 / 手机 | 随身携带 | 远程查看、运维 |
痛点: 这些设备分散在三个地方(家里内网、云上、手里),要互相访问,最常见的需求是:
- 在公司用笔记本连家里的服务器查日志
- 在平板上访问家里 Nextcloud 里的文件
- 云服务器上的 Agent 需要访问家里内网的服务
常见的组网方案
方案一:公网 IP + 端口映射
最直接的做法。但家庭宽带一般没有公网 IPv4,有也是动态的,需要 DDNS 配合。而且把所有服务暴露到公网不安全,容易被扫描攻击。
方案二:FRP(内网穿透)
家里服务器主动连接云服务器(FRP Server),云服务器转发流量。
1
你 → FRP Server(云) → 家里服务器
优点:稳定、成熟、支持 TCP/UDP。 缺点:每个服务都要手动配端口转发,服务多了配置很繁琐。而且流量永远走云服务器中转,带宽受限于云服务器。
方案三:Tailscale(本方案的选择)
Tailscale 是基于 WireGuard 的组网工具,它做的事情很简单:把你所有设备放到同一个虚拟局域网里,每个设备分配一个专用的 IP(如 100.x.x.x),就像它们都在同一个交换机上。
1
你(手机) ← 100.x.x.x → 家里服务器 ← 100.x.x.x → 云服务器
为什么我推荐 Tailscale
1. 零配置
注册账号 → 登录设备 → 完事。不需要配端口、不需要买域名、不需要管证书。即使你不太懂网络,5 分钟也能把三台设备连起来。
2. P2P 直连,不经过服务器
Tailscale 最牛的地方:它只是帮你建立连接,数据不走它的服务器。
1
2
你的设备 ←—— WireGuard 加密直连 ——→ 云服务器
↑ 真正的数据不经过 Tailscale
数据在设备之间直接传输,使用 WireGuard 协议加密,Tailscale 的服务器只负责”牵线搭桥”(STUN 打洞)。
3. 打洞失败也有兜底(DERP)
如果 NAT 太严格,打洞失败,Tailscale 会自动降级走 DERP 中继。虽然不是直连,但至少能通。
更棒的是,你可以自建 DERP 中继放在自己的云服务器上,避免绕行国外的公共中继节点。我自建之后,延迟从 327ms 降到了 18ms。
4. 免费
个人用户最多 100 台设备,完全免费。对于个人开发者来说绰绰有余。
5. 安全
- 所有通信使用 WireGuard 加密
- 设备之间通过密钥认证
- 支持多因素认证(SSO)
我的组网拓扑
这是我的最终方案:
1
2
3
4
5
6
7
8
9
10
11
12
13
┌─────────────────────────────────────────────────────┐
│ Tailscale 虚拟局域网 │
│ │
│ ┌──────────┐ ┌──────────────┐ ┌──────────┐ │
│ │ 手机/平板 │─────│ 京东云服务器 │─────│ 家里服务器 │ │
│ │ 100.101.x │ │ 100.98.232.x │ │ 100.72.x │ │
│ └──────────┘ └──────┬───────┘ └──────────┘ │
│ │ │
│ ┌──────┴───────┐ │
│ │ DERP 自建中继 │ │
│ │ (京东云,443) │ │
│ └──────────────┘ │
└─────────────────────────────────────────────────────┘
- 手机/平板:通过 Tailscale 访问家里和云上的服务
- 家里服务器:运行 Docker 容器(Nextcloud、AdGuard、Redis 等)
- 云服务器:运行 AI Agent 和 API 网关
- DERP 中继:自建在云服务器上,打洞失败时走本地中转
家用场景推荐
场景一:远程访问 NAS / 文件服务
用 Tailscale 连回家里,直接在文件管理器输入 100.x.x.x:8080 访问 Nextcloud,不需要公网暴露端口。
场景二:SSH 管理内网服务器
1
ssh [email protected]
比 SSH 隧道更简单——不需要记住端口号、不需要维护反向隧道。
场景三:开发环境联调
云服务器上的微服务需要连接家里内网的数据库?直接通过 Tailscale 的虚拟 IP 互相访问,感觉就像在同一个局域网里开发。
最后
Tailscale 解决了我最大的痛点:让零散的设备像在同一个局域网里工作。不需要复杂的配置,不需要暴露端口,安全又省心。
如果你也在为多设备互联发愁,不妨试试 Tailscale。5 分钟就能感受到”所有设备都在一个局域网”的爽感。
小提示: 如果打洞失败导致延迟高,可以自建 DERP 中继节点,详细教程我专门写了一篇: