
本教程针对iOS 系统ZeroTier One 1.14.2版本,详细讲解如何将 iOS 设备接入自建的 ZeroTier Planet 服务器。ZeroTier One 1.14.2 是一个重要的里程碑版本,首次在移动端支持自定义 Planet 配置。
适用场景:
✅ 必须已完成以下准备:
planet 文件(通常位于服务器的 /var/lib/zerotier-one/planet 或 Docker 容器的 ./data/zerotier/dist/planet)自建planet参考前期文章:ZeroTier 自建Planet私有网络
✅ 客户端要求:
Planet 导入功能由于 App Store 最新版本ZeroTier One取消了自定义 Planet 功能,需要使用 ipatool 下载旧版本。
详细教程参考:iOS下载旧版本 App
关键步骤:
下载地址:https://github.com/majd/ipatool/releases
下载并解压 IPAtool 后,将 ipatool.exe 拖入CMD命令行窗口或PowerShell切换到目录执行以下命令进行登录:
PS C:\WINDOWS\system32> cd C:\Users\Administrator\Desktop\ipatool-2.2.0-windows-amd64\binPS C:\Users\Administrator\Desktop\ipatool-2.2.0-windows-amd64\bin> .\ipatool-2.2.0-windows-amd64.exe auth login --email 你的AppleID@email.com INF enter password: INF enter 2FA code: INF enter passphrase to unlock "C:\\Users\\Administrator\\.ipatool" (this is separate from your Apple ID password): INF email=AppleID@email.com name="xxxx" success=true💡 操作提示:上面的路径是示例,你的路径可能不同,只需要切换到你解压ipatool的文件夹即可。
- enter password: 输入你的Apple ID密码(输入时不显示,输完直接回车)- enter 2FA code: 输入你手机收到的6位验证码- enter passphrase: 设置一个本地密码(用于加密存储,可以和Apple ID密码不同)- 看到 success=true 表示登录成功!# Windows PowerShell .\ipatool-2.2.0-windows-amd64.exe search zerotier# 输出示例:# bundleID: com.zerotier.ZeroTier-One# id: 1084101492# name: ZeroTier One# 使用 external-version-id 876778845 下载 1.14.2 版本 .\ipatool-2.2.0-windows-amd64.exe download -b com.zerotier.ZeroTier-One --external-version-id 876778845# 下载完成后会生成:# com.zerotier.ZeroTier-One_1084101492_1.14.2.ipa💡 提示:首次使用 ipatool 需要输入 Apple ID 和密码进行认证,这是正常流程。
⚠️ 版本说明:1.14.2 是最后一个支持自定义 Planet 功能的版本,1.16.0+ 已移除此功能。
iOS 客户端不能直接读取二进制 planet 文件,必须将其转换为 Base64 编码的单行字符串 才能导入。
登录到云服务器,执行以下命令:
# 进入 planet 文件所在目录cd /var/lib/zerotier-one/# 或者如果使用 Docker 部署# cd ./data/zerotier/dist/# 转换为 Base64(关键:-w 0 确保单行输出)base64 -w 0 planet > planet.txt# 查看生成的 Base64 字符串cat planet.txt# 使用 certutil 转换certutil -encode planet planet_temp.txt# 手动编辑 planet_temp.txt# 删除第一行 -----BEGIN CERTIFICATE-----# 删除最后一行 -----END CERTIFICATE-----# 删除所有换行符,合并为单行生成的 Base64 字符串应该符合以下特征:
AQAA 开头== 结尾+、/、= 字符示例(部分):
AQAAyJh8xGiDmN2HJL9pKlM6Fv+3xN...(省略中间部分)...8kQp2Xw==⚠️ 重要提示:如果字符串包含换行符或空格,iOS App 会提示"无效的 Base64 格式"
选择以下任一方法将 Base64 字符串发送到你的 iPhone:
方法一:微信/QQ(推荐,最简单)
# 在服务器上直接查看catplanet.txt# 复制整个字符串# 通过微信文件传输助手发送给自己或者保存到iPhone自带应用[文件APP]打开复制手机显示与亮度切换到深色模式


浏览器访问:http://你的服务器IP:端口
方法一:使用网络工具 App
方法二:SSH 连接测试
# 如果网络中有 Linux 设备ssh user@10.147.x.x # ZeroTier 分配的 IP预期结果:
✅ 使用
zerotier-cli命令,如果显示 DIRECT,说明你的iOS设备已成功通过自建Planet服务器建立连接!

原因:
解决方案:
# 在服务器重新生成,确保使用 -w 0 参数base64 -w 0 planet > planet.txt原因:
解决方案:
检查服务器端口:
# 检查端口是否监听netstat -tuln | grep 9994# 检查防火墙规则ufw status# 或iptables -L -n | grep 9994确保端口开放:
# UFW 防火墙ufw allow 9994/tcpufw allow 9994/udpufw allow 3443/tcp# 云服务商安全组# 登录腾讯云/阿里云控制台# 在安全组中添加规则:# 入站:9994/TCP、9994/UDP、3443/TCP原因:
确保端口开放。
完成配置后,按以下清单验证:
通过本教程,你可以成功将 iOS 设备(ZeroTier 1.14.2 版本)接入自建 Planet 服务器,获得更低延迟、更高稳定性的私有网络体验。
如果在配置过程中遇到问题:
遇到无法解决的问题?
🔔 关注我,获取更多技术干货和开源项目分享!
如果本文对你有帮助,欢迎 👍点赞 / ⭐收藏 / 📣转发 给朋友!