当前位置:首页>iOSAPP>iOS 系统 ZeroTier 客户端接入自建 Planet 教程

iOS 系统 ZeroTier 客户端接入自建 Planet 教程

  • 2026-11-13 10:42:48
iOS 系统 ZeroTier 客户端接入自建 Planet 教程

📌 教程概述

本教程针对iOS 系统ZeroTier One  1.14.2版本,详细讲解如何将 iOS 设备接入自建的 ZeroTier Planet 服务器。ZeroTier One 1.14.2 是一个重要的里程碑版本,首次在移动端支持自定义 Planet 配置。

适用场景:

  • 已经在腾讯云平台搭建了 ZeroTier Planet 服务器
  • 希望 iOS 设备接入自建服务器而非官方服务器
  • 需要降低延迟、提升连接速度
  • 追求数据隐私和网络自主可控

一、前置要求

1.1 服务器端准备

✅ 必须已完成以下准备:

  • 一台运行中的 ZeroTier Planet 服务器(带公网 IP)
  • 服务器已开放必要端口
  • 已生成 planet 文件(通常位于服务器的 /var/lib/zerotier-one/planet 或 Docker 容器的 ./data/zerotier/dist/planet)

自建planet参考前期文章:ZeroTier 自建Planet私有网络

1.2 iOS 设备准备

✅ 客户端要求:

  • iOS 系统版本:iOS 13.0 或更高
  • ZeroTier One App 版本:1.14.2 版本
  • ⚠️ 重要:App Store 当前版本已更新至 1.16.0+,不再支持自定义 Planet 导入功能

下载 1.14.2 旧版本的方法

由于 App Store 最新版本ZeroTier One取消了自定义 Planet 功能,需要使用 ipatool 下载旧版本。

详细教程参考:iOS下载旧版本 App

关键步骤:

  1. 安装 ipatool 工具并登录Apple ID(Windows/Mac/Linux 均可)
    • 下载地址: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 表示登录成功!
  1. 搜索 ZeroTier 应用
# Windows PowerShell .\ipatool-2.2.0-windows-amd64.exe search zerotier# 输出示例:# bundleID: com.zerotier.ZeroTier-One# id: 1084101492# name: ZeroTier One
  1. 下载 1.14.2 版本
# 使用 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
  1. 安装到 iPhone
    • 使用 Sideloadly、AltStore 或爱思助手等工具
    • 将下载的 .ipa 文件安装到设备

💡 提示:首次使用 ipatool 需要输入 Apple ID 和密码进行认证,这是正常流程。

⚠️ 版本说明:1.14.2 是最后一个支持自定义 Planet 功能的版本,1.16.0+ 已移除此功能。


二、获取 Planet 文件的 Base64 编码

2.1 为什么需要 Base64 编码?

iOS 客户端不能直接读取二进制 planet 文件,必须将其转换为 Base64 编码的单行字符串 才能导入。

2.2 在服务器上生成 Base64

Linux/macOS 服务器

登录到云服务器,执行以下命令:

# 进入 planet 文件所在目录cd /var/lib/zerotier-one/# 或者如果使用 Docker 部署# cd ./data/zerotier/dist/# 转换为 Base64(关键:-w 0 确保单行输出)base64 -w 0 planet > planet.txt# 查看生成的 Base64 字符串cat planet.txt

Windows 服务器(如使用 PowerShell)

# 使用 certutil 转换certutil -encode planet planet_temp.txt# 手动编辑 planet_temp.txt# 删除第一行 -----BEGIN CERTIFICATE-----# 删除最后一行 -----END CERTIFICATE-----# 删除所有换行符,合并为单行

2.3 验证 Base64 字符串

生成的 Base64 字符串应该符合以下特征:

  • ✅ 单行字符串,无任何换行符
  • ✅ 通常以 AQAA 开头
  • ✅ 通常以 == 结尾
  • ✅ 长度约 500-1000 字符
  • ✅ 只包含字母、数字、+、/、= 字符

示例(部分):

AQAAyJh8xGiDmN2HJL9pKlM6Fv+3xN...(省略中间部分)...8kQp2Xw==

⚠️ 重要提示:如果字符串包含换行符或空格,iOS App 会提示"无效的 Base64 格式"


三、将 Base64 字符串传输到 iPhone

3.1 传输方法选择

选择以下任一方法将 Base64 字符串发送到你的 iPhone:

方法一:微信/QQ(推荐,最简单)

# 在服务器上直接查看catplanet.txt# 复制整个字符串# 通过微信文件传输助手发送给自己或者保存到iPhone自带应用[文件APP]打开复制

3.2 在 iPhone 上复制字符串

  1. 打开微信/邮件/笔记等应用
  2. 找到 Base64 字符串
  3. 长按选择全部文本
  4. 点击"拷贝"
  5. 确认已完整复制(不要遗漏开头或结尾)

四、在 ZeroTier iOS客户端中配置自定义 Planet

4.1 打开 ZeroTier App

手机显示与亮度切换到深色模式

4.2 点击右上角的 ⚙️ 齿轮图标

4.3 编辑并粘贴 Base64 字符串


五、加入自建网络并测试连接

5.1 加入网络

  1. 返回 ZeroTier App 主界面
  2. 点击右上角的 "+" 按钮
  3. 输入你在自建服务器上创建的 网络 ID(16 位字符)
  4. 点击"加入"

5.2 在服务器端批准设备

  1. 登录服务器管理后台
  浏览器访问:http://你的服务器IP:端口
  1. 找到刚刚加入的 iOS 设备
  2. 点击 "Authorize"(授权)或勾选"允许"
  3. 可选:为设备分配一个易识别的名称,如 "iPhone"

5.4 测试网络连接

方法一:使用网络工具 App

  • 下载 "Network Ping Lite" 或类似工具
  • Ping 网络中的其他设备 IP
  • 查看延迟时间

方法二:SSH 连接测试

# 如果网络中有 Linux 设备ssh user@10.147.x.x  # ZeroTier 分配的 IP

预期结果:

  • 🎯 国内服务器延迟:通常 5-30ms
  • 🎯 官方服务器延迟:通常 150-300ms
  • 🎯 速度提升:5-10 倍

✅ 使用 zerotier-cli 命令,如果显示 DIRECT,说明你的 iOS 设备已成功通过自建 Planet 服务器建立连接!


六、常见问题排查

问题 1:提示"无效的 Base64 格式"

原因:

  • Base64 字符串包含换行符
  • 复制时遗漏了开头或结尾部分
  • 包含了额外的空格或特殊字符

解决方案:

# 在服务器重新生成,确保使用 -w 0 参数base64 -w 0 planet > planet.txt

问题 2:配置成功但仍连接官方服务器

原因:

  • 自定义 Planet 配置优先级问题
  • 服务器端口未开放
  • 服务器防火墙阻止连接

解决方案:

检查服务器端口:

# 检查端口是否监听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

问题 3:连接状态显示 RELAY 而非 DIRECT

原因:

  • NAT 穿透失败
  • 服务器 UDP/TCP 端口不通
  • 网络环境限制

确保端口开放。


七、验证和测试清单

完成配置后,按以下清单验证:

✅ 基础验证

  • [ ] Base64 字符串已成功粘贴到 iOS App
  • [ ] "Custom Roots" 中显示自定义配置
  • [ ] 已加入自建服务器创建的网络
  • [ ] 服务器端已批准设备加入

✅ 连接验证

  • [ ] 连接状态显示 DIRECT
  • [ ] 可以 Ping 通网络中的其他设备
  • [ ] 延迟低于 50ms(国内服务器)

✅ 功能验证

  • [ ] 可以访问网络中的共享文件
  • [ ] 可以 SSH 到网络中的 Linux 设备
  • [ ] 可以使用远程桌面连接 Windows 设备

八、总结

通过本教程,你可以成功将 iOS 设备(ZeroTier 1.14.2 版本)接入自建 Planet 服务器,获得更低延迟、更高稳定性的私有网络体验。


📚 相关资源

  • Docker自建ZeroTier Planet私有网络: https://mp.weixin.qq.com/s/CO-sO_qjphGygsRyaoLvBw
  • iOS 下载旧版本 App: https://mp.weixin.qq.com/s/CO-sO_qjphGygsRyaoLvBw
  • Docker 一键部署planet脚本:https://github.com/xubiaolin/docker-zerotier-planet
  • ZeroTier 官方文档:https://docs.zerotier.com/
  • ZeroTier官方论坛:https://discuss.zerotier.com/t/add-custom-planets-to-new-1-14-2-ios-version/27895/6

💬 反馈与支持

如果在配置过程中遇到问题:

  1. 仔细检查本教程的"常见问题排查"章节
  2. 确认服务器端口配置正确
  3. 验证 Base64 字符串格式
  4. 检查 App 版本 = 1.14.2

遇到无法解决的问题?

  • 在评论区留言描述详细情况
  • 加入 ZeroTier 中文社区讨论
  • 查看官方 GitHub Issues

🔔 关注我,获取更多技术干货和开源项目分享!

如果本文对你有帮助,欢迎 👍点赞 / ⭐收藏 / 📣转发 给朋友!


🎁 往期精彩推荐

最新文章

随机文章