使用ZeroTier实现内网穿透并异地组网
因工作需要在办公室远程访问异地的多台物联网设备做调试与维护,使用了zerotier发现实现免费且比较方便,记录一下实现步骤。
一、注册 ZeroTier 服务
1、访问官网:ZeroTier官网 ,注册用户、验证邮箱并登录。
2、登录后创建网络
3、记下网络ID
点击网络ID后可以编辑
“Basics” 基础。
- “Network ID” :虚拟网络地址 ID 。
- “Name” :虚拟网络名称,自拟。
- “Description” :描述。
- “Access Control” :访问控制,默认 PRIVATE(私有),以后添加设备需要管理员同意。
“Advanced” 高级。
- “Managed Routes” :托管路线,设置虚拟网络的 IP 网段。
- “IPv4 Auto-Assign” :虚拟网络下 IPv4 自动分配,自选。
- 其他选项保持默认。
二、安装客户端
1、linux
我使用的是 ubuntu,复制官方的安装脚本就可以了。
如果没有安装curl,先安装curl
sudo apt install curl
如果已经有curl直接执行下面的安装命令
curl -s https://install.zerotier.com | sudo bash
2、windows
windows直接下载安装就可以了。
3、安卓
从Google Play 下载就可以了,目前官方安卓客户端没有加入自建moon的功能,如要连接自建的moon就安装第三方的apk
4、Apple IOS
App Store 下载。
四、设备连接虚拟网络
Linux
-
记下将要添加的虚拟网络的地址 ID 。
-
终端命令行输入:
sudo zerotier-cli join [虚拟网络地址ID]
示例:(以下截图是openwrt的截图)
命令返回200就是成功了
- ZeroTier 虚拟网络管理页面,找到 “Members” ,可以看到一个设备连接到虚拟网络。勾选后点“Authorize”就可以加入到私有的网络了
设备的IP地址已经自动分配,也可以点击edit图标去手动指定。
- 在linux终端中查看ZeroTier IP情况
ifconfig
- 查看加入虚拟网络
zerotier-cli listpeers
现在,设备已经连接虚拟网络。
Windows
右键点击右下角 ZeroTier 图标,点击 “Join Network” 。
窗口中输入要添加的虚拟网络的地址 ID ,点击 “Join” 。
进行手动授权,步骤同 Linux 。
测试ping远程的设备
至此已经实现了远程组网,以下是使用moon服务器提高网络速度与稳定性
五、搭建 ZeroTier moon 服务器
官方 moon 中转服务器在国外,国内客户端使用延迟大,甚至出现访问不了的问题。可以自己搭建 moon 中转服务器,来实现稳定的服务。moon服务器需要一个静态公网IP。下文以我的openwrt设备为例。
moon 服务器配置
-
进入 ZeroTier 配置文件目录。
cd /var/lib/zerotier-one
- 生成 moon.json 文件。
zerotier-idtool initmoon identity.public >>moon.json
- 编辑moon.json
修改信息。
找到
"stableEndpoints": []
。添加
"IPv4地址/9993"
或者"IPv4地址/9993","IPv6地址/9993"
。
vi moon.json
注意:记录下 moon.json 文件中的 id 。这个ID是给其它客户端加入moon使用的。
- 生成 .moon 签名文件
zerotier-idtool genmoon moon.json
这将生成一个名为 0000006eadbeef00.moon
的文件。(这个文件名大家都不一样)
-
创建 moon 结点文件夹。
mkdir /var/lib/zerotier-one/moons.d
-
将签名文件复制到 moons.d 文件夹中
cp 0000006eadbeef00.moon moons.d/
-
重启 ZeroTier 服务
/etc/init.d/zerotier-one restart
六、设备连入 moon 服务器
linux
输入命令:
zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
windows
使用管理员权限的 PowerShell 输入:
zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
七、检测生效
在非 moon 的客户端,输入命令:(Windows 有一点不同,需要使用管理员权限)
zerotier-cli listpeers
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器