一、ZeroTier方案内网穿透原理
ZeroTier One的原理就是虚拟出一块网卡,连上一个虚拟网络,安装了ZeroTier One客户端的设备可以连入这个网络,经过授权连接成功之后彼此都在同一网段,可以像在局域网一样互相访问,例如访问共享文件夹,web server,ftp server,联机游戏(例如打星际),当然也就包括访问群晖。所以如果你的群晖和你的手机连上了这个网络,不论两台设备具体在哪里,都像同一局域网内,从而实现内网穿透,达到从外网访问内网群晖的目的。
注:ZeroTier的世界主要有两个概念,一个是用户一个是网络,都是一串数字表示。一个用户可以加入多个网络,多个用户可以加入一个网络。
二、ZeroTier One的优势
-
免费版支持客户端多。连入同一个网络的客户端不超过100个就都免费;
-
速度快,p2p模式。客户端联通之后流量基本不经过服务端/superNode而是点对点传输,传输速度取决于你设备所在宽带上行带宽以及手机端4g上网的速度;
-
管理配置简单。不要被全英文的界面吓到,明白原理之后安装配置极其简单;
- 最重要的是支持多种平台。支持win、mac、安卓、苹果,以及多种发型版Linux,比如群晖系统(使用ZeroTier的主要原因);
三、搭建步骤
第一步:注册ZeroTier账号
- 官网地址:(ZeroTier Central),点右上角Login In → Sign In 到注册页面,填写注册信息即可;
- 注册成功后点击“Create A Network”创建一个网络;
- 点击进入查看详情
- Settings-Basics-Network ID:虚拟网络ID,后面其他ZeroTier客户端加入网络时使用;
- Settings-Basics-Name:虚拟网络对外暴漏的名称;
- Settings-Basics-Description:对这个虚拟网络的描述,可不填也可根据需要填写;
- Settings-Basics-Access Control:虚拟网络的访问控制,个人建议选Private,需要授权同意才可加入访问;
- Settings-Advanced-IPv4 Auto-Assign:虚拟网络会为每一个加入此网络的客户端自动分配一个IP地址;
- Member:加入此虚拟网络的客户端列表,刚创建网络时会显示“No devices have joined this network",当有客户端加入之后便会在此处看到状态,离线,在线,离线时间等等;
- 其余的选项没有研究,感兴趣的或有需要自行了解;
第二步:安装Windows客户端
- 访问ZeroTier官网:ZeroTier | Global Area Networking
- 点击菜单栏中的"Download",选择Microsoft Windows
- 下载后的文件,双击-一路Next安装即可
安装成功后在设备管理器中的设备适配器中会出现一个新的虚拟网卡
- 安装成功后,从菜单运行,不会出主程序窗口,而是在任务栏出现ZeroTier One的小图标,右键点击会出现弹出菜单,在此处点击Join Network...加入刚刚申请的网络
- 回到ZeroTier创建的虚拟网络详情页面-刷新-查看Member,就能看到新加入的客户端了,需要勾选第一列Auth复选框授权才行(第一步中的第六点);
- 在网页端授权之后,用ipconfig查看一下,这个IP就是网页上那个IP。
方法:win+r,输入cmd,出现命令行终端,打“ipconfig"回车即可看到当前系统的网络配置情况
第三步:安装群晖客户端
- 使用浏览器访问群晖系统-打开套件中心-选择所有套件-搜索ZeroTier-安装即可;
- 安装完成后如果能正常启动就直接输入虚拟网络的NETWORK ID加入即可;
- 安装成功-启动,几秒之后变成一手动停止(本人安装时是这种情况)
解决方法参考:保姆级Zerotier套件版在DSM7.X中的安装使用__财经头条 (sina.com.cn)中的第四步,使用linux客户端连接群晖之后授予Zerotier权限;
使用终端连接群晖需要群晖系统打开ssh
连接之后的步骤:
- 输入sudo -i获取root权限,回车;
- 输入密码;
- 输入sed -i 's/package/root/g' /var/packages/zerotier/conf/privilege 修复ssh;
- 进入ZeroTier的bin目录 cd /var/packages/zerotier/target/bin;
- 输入./zerotier-one -q join XXXX,xxxx表示虚拟网络的NETWORK ID;
- 出现 200 join OK,表示成功
zerotier-cli join xxxx,加入虚拟网络;
zerotier-cli leave xxxx,断开虚拟网络;
zerotier-cli info,查看ZeroTier状态;
7. 回到ZeroTier创建的虚拟网络详情页面-刷新-查看Member,就能看到新加入的客户端了,需要勾选第一列Auth复选框授权才行(第一步中的第六点);
8. 使用局域网IP:5000能访问通即可;
第四步:安装手机客户端
- 推荐用苹果,安卓系统正常安装流程需要访问google play。本人使用安卓机,在网页上找的别人网盘中已下载好的;
- 网盘地址:https://pan.baidu.com/s/1il0pSFQwKK5xDojP4TMeaw?pwd=1p63
- 安装后打开-打开前先关闭wifi,使用数据网络;
- 选择ADD NETWORK-在NETWORK ID处填写虚拟网络ID-ADD加入即可;
- 加入成功后返回就能看到已经加入的网络了;
- 点击后面的开关会弹出创建VPN连接请求,确认即可;
- 回到ZeroTier创建的虚拟网络详情页面-刷新-查看Member,就能看到新加入的客户端了,需要勾选第一列Auth复选框授权才行(第一步中的第六点);
第五步:访问
在手机端的浏览器上访问第一步的第六点中群晖对应的Managed IPs+端口5000,可以看到已经正常能访问到了
第六步:下载群晖助手
- 在安卓应用商店搜索群晖助手,下载安装
- 打开群晖助手-账号登录,填写虚拟网络中群晖对应的Managed IPs,输入群晖系统的登录账号和密码即可登录
本文转载处:无公网IP搞定群晖+ZEROTIER ONE实现内网穿透_NAS存储_什么值得买 (smzdm.com)
因博主是2038年文章,跟现在的有一些页面不同之处,故才写此文章,此文只包含了一些步骤,更详细的介绍可以看原文
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了