技术

自建ZeroTier服务器组网

由于现有的服务器带宽太小,但是有时又需要进行一些大文件的同步,故需要通过打洞进行端对端的网络通信,此时选择了ZeroTier。

但是因为ZeroTier的服务器在国外,可能会存在不可用的情况,且网络上存在自建Planet的方法,本文将使用该方法进行搭建。

正常搭建

  1. 在公网服务器进行Planet安装
    • 克隆仓库(使用加速地址)
      • git clone https://ghproxy.imoyuapp.win/https://github.com/xubiaolin/docker-zerotier-planet.git
    • 执行部署脚本
      • 在执行过程中可以选择未被占用的端口,脚本会自行下载、启动docker容器
      • cd docker-zerotier-planet
      • ./deploy.sh
    • 安装结果
      • 请访问 http://111:1111 进行配置
      • 默认用户名:admin
      • 默认密码:password
      • 请及时修改密码
      • moon配置和planet配置在 /data/docker-zerotier-planet/data/zerotier/dist 目录下
      • moons 文件下载: http://xxx:xxx/xxx.moon?key=xx
      • planet文件下载: http://xxx:xxx/planet?key=xx
      • 请放行以下端口:9933/tcp,9933/udp,1111/tcp,2900/tcp
  2. 在服务器开放对应端口
    • 以阿里云为例(阿里云-云服务器ECS-安全组)
    • 开放上一步骤中自定义的端口,注意,这个udp端口要开放,否则会导致status为REQUESTING_CONFIGUTARION
  3. 建立网络
    • 登入对应的前端页面
    • Add NetWork
    • 得到网络id
    • EasySetup
    • generate network address
    • confirm
  4. 在客户端安装Zerotier
  5. 替换planet文件(以Macos为例)
    • planet文件在服务器中对应的 /data/docker-zerotier-planet/data/zerotier/dist目录下
    • 替换掉对应的’/Library/Application Support/ZeroTier/One/planet’文件
    • 重启Zerotier
      • cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill
    • 启动ZeroTier UI(可选)
    • 加入网络
    • zerotier-cli join networkid
  6. 在detail中找到对应的设备,并在Authorized一栏打勾
  7. 到这一步,你的设备已经加入对应网络了

完全卸载

  1. 卸载客户端相关文件(以Macos为例)
    • sudo sh ‘/Library/Application Support/ZeroTier/One/uninstall.sh’
    • 删除 /Applications/ZeroTier.app
    • 删除文件夹’/Library/Application Support/ZeroTier’
    • 删除文件夹’/~/Library/Application Support/ZeroTier’
  2. 卸载服务器相关服务
    • sh deploy.sh
    • 2