zerotire相关操作
目录
注意
本文最后更新于 2024-12-04,文中内容可能已过时。
1 自建planet
1.1 服务端planet配置
- 使用项目 https://github.com/Jonnyan404/zerotier-planet
- 按照项目中的readme中的docker-compose方式可以搭建planet。
- 使用nginx或者cady反代两个端口。4000端口为管理界面,3180端口为给客户端下载配置文件的界面。
- 进入界面创建网络,获取网络ID。
1.2 客户端配置
1.2.1 linux 端
- 下载服务端3180端口提供的planet。
- 准备docker-compose.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
- 客户端加入网络。
docker exec zerotier-one zerotier-cli join 8056c2e21c000001
- 记得在服务端的网页上允许客户端加入。
1.2.2 mac端
- 官网下载一个 zerotier 客户端
- 替换
/Library/Application Support/ZeroTier/One
目录下的 planet 文件 - 重启 zerotier-one 服务
- 命令行执行
zerotier-cli join 网络id
- 管理后台同意加入请求
- 执行
zerotier-cli peers
可以看到 planet 角色
1.2.3 手机端
- https://github.com/kaaass/ZerotierFix
- 右上角三个点->设置->启动自定义planet。
- 下载服务端3180端口提供的planet。
- 客户端加入网络。
- 管理后台同意加入请求
2 配置某个客户端作为其局域网的入口-即nat
以下内容来自官网。[ Enable IP forwarding](https://docs.zerotier.com/route-between-phys-and-virt/## enable-ip-forwarding “Direct link to Enable IP forwarding”)
- 允许IP转发。
sudo sysctl -w net.ipv4.ip_forward=1
这个也许不够持久,可以自行搜索更加持久的方式。 2. 配置iptables。配置你的物理网口名字和zerotier虚拟网口名字。
PHY_IFACE=eth0; ZT_IFACE=zt7nnig26
- 添加iptables规则。
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
- 规则持久化。
sudo apt install iptables-persistentsudo bash -c iptables-save > /etc/iptables/rules.v4