zerotire相关操作

注意
本文最后更新于 2024-12-04,文中内容可能已过时。
  1. 使用项目 https://github.com/Jonnyan404/zerotier-planet
  2. 按照项目中的readme中的docker-compose方式可以搭建planet。
  3. 使用nginx或者cady反代两个端口。4000端口为管理界面,3180端口为给客户端下载配置文件的界面。
  4. 进入界面创建网络,获取网络ID。

摘抄自 https://github.com/Jonnyan404/zerotier-planet/blob/main/%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95.md

  1. 下载服务端3180端口提供的planet。
  2. 准备docker-compose.yml

yml

version: '3'
services:
  zerotier:
    image: zyclonite/zerotier
    container_name: zerotier-one
    devices:
      - /dev/net/tun
    network_mode: host
    volumes:
       - './data/planet:/var/lib/zerotier-one/planet'
    cap_add:
      - NET_ADMIN
      - SYS_ADMIN
  ##  docker exec zerotier-one zerotier-cli join 8056c2e21c000001
  1. 客户端加入网络。

bash

docker exec zerotier-one zerotier-cli join 8056c2e21c000001
  1. 记得在服务端的网页上允许客户端加入。
  1. 官网下载一个 zerotier 客户端
  2. 替换 /Library/Application Support/ZeroTier/One 目录下的 planet 文件
  3. 重启 zerotier-one 服务
  4. 命令行执行 zerotier-cli join 网络id
  5. 管理后台同意加入请求
  6. 执行 zerotier-cli peers 可以看到 planet 角色
  1. https://github.com/kaaass/ZerotierFix
  2. 右上角三个点->设置->启动自定义planet。
  3. 下载服务端3180端口提供的planet。
  4. 客户端加入网络。
  5. 管理后台同意加入请求

以下内容来自官网。[ Enable IP forwarding​](https://docs.zerotier.com/route-between-phys-and-virt/## enable-ip-forwarding “Direct link to Enable IP forwarding”)

  1. 允许IP转发。

bash

sudo sysctl -w net.ipv4.ip_forward=1

这个也许不够持久,可以自行搜索更加持久的方式。 2. 配置iptables。配置你的物理网口名字和zerotier虚拟网口名字。

bash

PHY_IFACE=eth0; ZT_IFACE=zt7nnig26
  1. 添加iptables规则。

bash

sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADEsudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPTsudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
  1. 规则持久化。

bash

 sudo apt install iptables-persistentsudo bash -c iptables-save > /etc/iptables/rules.v4