剪藏#AI实战编程#剪藏

又一款内网穿透工具ZeroTier 完整安装教程,轻松访问NAS

2026 年 8 月 18 日1 分钟
分享Twitter / XTelegram微博
又一款内网穿透工具ZeroTier 完整安装教程,轻松访问NAS 封面

大家好,我是冷水泡茶。前面我们分享过TailScale实现内网穿透,远程访问NAS。今天我们再分享另一款内网穿透工具:ZeroTier。

TailScale一个人在外网访问NAS没有问题,也完全够用。但是如果有别的用户共同访问NAS的需求,那TailScale就有点麻烦。

首先它必须要登录账号,虽然说在别人的电脑上登录我的TailScale账号也没太大问题,但是总感觉不太好。如果让别人去注册账号,一方面比较麻烦,另一方面免费版TailScale只支持3个用户加入,局限性比较大。

之所以会碰到这样的问题,是因为我们公司在电子发票报销方面,使用了我用VBA设计的“电子发票报销管理系统”,实现电子发票归档、防止重复报销(查重)。发票信息存在一个Access数据库里,放在一台老旧的笔记本电脑上共享访问,报销人在自己的电脑上就可以登记发票、打印报销单。凑合着用用也没什么问题,但最近那台电脑老出问题,想想老是这样也不是办法,电脑坏了事小,数据丢失了事大,于是就想着把Access数据库放到NAS上。

本来在内网应该能访问NAS的,但由于公司网络有点复杂,有的电脑通过内网IP地址访问不了NAS,想到了内网穿透工具,但不想用TailScale,就找到了ZeroTier,这样不仅内网能访问,外网也能访问。(以下内容由Claude免费版根据对话记录整理而成)

本文适合:家里或公司 NAS 与电脑不在同一网段,或需要在外网访问 NAS 共享文件夹的用户。

为什么需要 ZeroTier?

很多人家里或公司的网络经过多级路由器,NAS 和电脑往往不在同一个子网。比如:

  • NAS 的 IP:192.168.0.144

  • 电脑的 IP:192.168.2.169

这种情况下,电脑根本 ping 不通 NAS,更别说访问共享文件夹了。

改路由器配置?太复杂,而且很多人没有权限改。

ZeroTier 的解决思路是:不改任何路由器,通过虚拟网络让所有设备"假装"在同一个局域网里。

ZeroTier 是什么?

ZeroTier 是一款免费的虚拟组网工具,原理类似于 VPN,但更智能:

  • 设备之间优先P2P直连,延迟极低

  • 无法直连时自动走中继服务器转发

  • 免费版支持 10 台设备,个人和小团队完全够用

  • 其他设备加入网络无需注册账号,只需要一个 Network ID

准备工作

在开始之前,你需要准备:

  • 一台威联通 NAS(本文以 TS-464C2 为例)

  • 一台 Windows 电脑(需安装 Docker Desktop)

  • 可以访问 Docker Hub 的网络环境(需代理)

  • 一个 ZeroTier 账号(免费注册)

第一步:注册账号并创建网络

前往 my.zerotier.com 注册一个免费账号。

登录后点击 「Create A Network」,系统会自动生成一个 16 位的 Network ID,例如:

JAVASCRIPT
08752e18b153b108

把这个 ID 保存好,后面所有步骤都需要用到它。

💡 这个 Network ID 可以公开分享给需要加入网络的人,安全性由授权机制保证,未经你批准的设备无法真正加入网络。

第二步:在 Windows 上拉取 Docker 镜像

由于 NAS 在国内无法直接访问 Docker Hub,我们先在 Windows 电脑上拉取镜像,再传输到 NAS。

1. 配置 Docker Desktop 代理

打开 Docker Desktop → Settings → Resources → Proxies → Manual proxy configuration,填入你的代理地址(以 Clash 为例,默认端口 7890):

JAVASCRIPT
HTTP:  http://127.0.0.1:7890
HTTPS: http://127.0.0.1:7890

2. 拉取镜像并传输到 NAS

打开 CMD 或 PowerShell,依次执行:

JAVASCRIPT
docker pull zyclonite/zerotier
docker save zyclonite/zerotier -o zerotier.tar
scp zerotier.tar 你的用户名@192.168.0.144:/share/Public/

执行完成后,zerotier.tar 文件已传输到 NAS 的 Public 共享文件夹中。

第三步:SSH 登录 NAS

首先确认 NAS 已开启 SSH:

控制台 → 网络与文件服务 → Telnet/SSH → 启用 SSH

然后在 PowerShell 中输入:

JAVASCRIPT
ssh 你的用户名@192.168.0.144

输入 NAS 管理员密码,登录成功后会看到 QNAP 的命令行界面。

第四步:加载镜像

在 NAS 的 SSH 界面中执行:

JAVASCRIPT
docker load -i /share/Public/zerotier.tar

看到以下输出说明成功:

JAVASCRIPT
Loaded image: zyclonite/zerotier:latest

第五步:创建并运行 ZeroTier 容器

执行以下命令启动容器:

JAVASCRIPT
docker run -d \
  --name zerotier \
  --restart unless-stopped \
  --network host \
  --cap-add NET_ADMIN \
  --cap-add SYS_ADMIN \
  --device /dev/net/tun \
  -v /var/lib/zerotier-one:/var/lib/zerotier-one \
  zyclonite/zerotier

命令说明:

  • --restart unless-stopped:NAS 重启后容器自动启动

  • --network host:使用宿主机网络,必须开启

  • --cap-add NET_ADMIN:授予网络管理权限

第六步:加入 ZeroTier 网络

执行以下命令,将 NAS 加入你的 ZeroTier 网络:

JAVASCRIPT
docker exec zerotier zerotier-cli join 你的NetworkID

成功后输出:

JAVASCRIPT
200 join OK

第七步:在后台授权 NAS

回到 my.zerotier.com:

  1. 点击你的网络

  2. 向下滚动找到 Members 列表

  3. 找到刚加入的 NAS 设备

  4. 勾选 Auth 复选框 ✅

授权完成后,执行以下命令验证:

JAVASCRIPT
docker exec zerotier zerotier-cli listnetworks

看到 OK 和一个 10.x.x.x 的虚拟 IP 即为成功,例如:

JAVASCRIPT
200 listnetworks 08752e18b153b108 my-first-network ... OK PRIVATE ztcdch3knz 10.169.203.209/24

📌 记下这个虚拟 IP(如 10.169.203.209),后续访问 NAS 就用这个地址。

第八步:安装 Windows 客户端

前往 zerotier.com/download 下载安装 Windows 客户端。

⚠️ Win7 用户注意:新版不支持 Win7,请下载 1.6.6 版本:https://download.zerotier.com/RELEASES/1.6.6/dist/ZeroTierOne.msi

安装完成后:

  1. 右下角系统托盘找到 ZeroTier 图标

  2. 右键 → Join Network

  3. 输入你的 Network ID

  4. 回到 my.zerotier.com,同样授权这台电脑 ✅

第九步:验证连通性

打开 CMD(以管理员身份运行),执行:

JAVASCRIPT
ping 10.169.203.209

能 ping 通后,直接在资源管理器地址栏输入:

JAVASCRIPT
\\10.169.203.209\共享文件夹名

即可访问 NAS 共享文件夹 🎉

常见问题

Q:其他人的电脑需要注册 ZeroTier 账号吗?

不需要。只有管理员(你)需要一个账号。其他人只需安装客户端,输入 Network ID,等你在后台授权即可,全程不需要注册任何账号。

Q:Network ID 泄露了有没有问题?

基本没问题。ZeroTier 默认是私有网络,任何人加入后都处于待授权状态,只有你手动授权后才能真正接入网络,未授权设备看不到任何内容。

但建议确认后台网络设置为 PRIVATE 而非 PUBLIC

Q:在同一个局域网下,ZeroTier 还会走中继吗?

不会。ZeroTier 会自动识别,同一局域网内的设备走本地直连,延迟极低(1ms 左右)。只有跨网络时才走中继。

Q:手机热点下能用吗?

可能不稳定。ZeroTier 官方中继节点在境外,且多为 IPv6 地址,部分运营商网络下打洞成功率较低。如果经常需要外网访问,建议搭配 Tailscale 使用,两者可以共存互不冲突。

Q:与 Tailscale 共存有没有问题?

没有问题,两者使用不同的虚拟网卡和端口,完全不冲突:

虚拟网卡 ztxxx tailscale0
端口 UDP 9993 UDP 41641
虚拟 IP 段 10.x.x.x 100.x.x.x

使用场景总结

同一内网访问 NAS 直接用局域网 IP 192.168.0.144
跨网段/不同路由器 ZeroTier 虚拟 IP 10.169.203.209
外网访问(稳定性要求高) Tailscale
访问共享文件夹 \\10.169.203.209\共享文件夹名

ZeroTier 最大的优势是不需要改任何路由器配置,不需要公网 IP,其他人加入也不需要注册账号。对于网络环境复杂的家庭或小型企业来说,是目前最省心的跨网段组网方案之一。

如果你觉得这篇教程有帮助,欢迎转发给有同样需求的朋友!

本文基于 QNAP TS-464C2 + Container Station(Docker)实测,其他威联通型号操作步骤基本相同。

好啦,今天就聊这么多,我们下期再见。

原文地址: https://mp.weixin.qq.com/s?__biz=MzIwMjIzMzI1OA==&mid=2247490853&idx=1&sn=973e042307236c5d0e9e1135894066b1&chksm=97fb350bc39c678466a155b8c709a95526701c55d616628b956c95664df1ccefe4d4290c0467&mpshare=1&scene=1&srcid=0522VbQeeLowt4ceSPbVOEcA&sharer_shareinfo=a18787bcde9e62be6bd1093ff44992f5&sharer_shareinfo_first=a18787bcde9e62be6bd1093ff44992f5#rd

相关文章