ZeroTier安装:
打开ZeroTier
的官方网站 (https://www.zerotier.com/),首先注册个账号,然后登陆账号。
如果你的网络比较好,可以不用自建Planet
,直接新建个网络用就行~
由于我的网络环境不好,所以这里主要说的是如何自建Planet
。
下载各个系统的安装包:Download (zerotier.com)
直接安装即可~
自建Planet:
条件:
- 需要一台具有公网
IP
的服务器。 - 需要安装好
Docker
curl -fsSL https://get.docker.com |bash
- 需要安装好
Git
#debian
/ubuntu
等
apt update && apt install git -y
#centos
等
yum update && yum install git -y
Debian10+
,Ubuntu20+
等内核大于5.0
的系统均支持CentOS
不支持,内核太低了,可能需要手动升级内核
开始:
打开终端,克隆项目:git clone https://github.com/xubiaolin/docker-zerotier-planet.git
进入项目目录:cd docker-zerotier-planet
运行 deploy.sh
脚本:./deploy.sh
下面是提示:
1 2 3 4 5 6 7 |
欢迎使用zerotier-planet脚本,请选择需要执行的操作: 1. 安装 2. 卸载 3. 更新 4. 查看信息 5. 退出 请输入数字: |
按照提示安装即可,安装之后会出现以下界面:
此时会在当前目录下生成planet
和moons
文件,把planet
下载到本地备用。
打开ip:3444
,登录之后,新建一个网络:
选中easy setup
,分配网络IP
:
然后生成网络地址:
打开端口:
别忘了打开9994,3444,3001
的tcp
和udp端口!!!
到这里,服务器的设置完成了,下面是各个客户端的安装使用:
macOS:
步骤如下:
- 进入
/Library/Application\ Support/ZeroTier/One/
目录,并替换目录下的planet
文件 - 重启 ZeroTier-One:
cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill
- 加入网络
zerotier-cli join 网络id
- 管理后台同意加入请求
zerotier-cli peers
可以看到planet
角色
Windows:
步骤如下:
- 进入
C:\ProgramData\ZeroTier\One
目录,并替换目录下的planet
文件 - 重启 ZeroTier-One
2.1Win+S
搜索服务
2.2 找到ZeroTier One
,并且重启服务 - 加入网络
3.1使用管理员身份打开PowerShell
,执行如下命令,看到join ok
字样就成功了
3.2zerotier-cli.bat join 网络id
(就是在网页里面创建的那个网络) - 管理后台同意加入请求
zerotier-cli peers
可以看到planet
角色
Linux:
步骤如下:
- 安装
linux
客户端软件 - 进入目录
/var/lib/zerotier-one
- 替换目录下的
planet
文件 - 重启
zerotier-one
服务(service zerotier-one restart
) - 加入网络
zerotier-cli join 网络id
- 管理后台同意加入请求
zerotier-cli peers
可以看到planet
角色
安卓:
安装即可:kaaass/ZerotierFix: An unofficial Zerotier Android client patched from official client (github.com)
iOS:
需要越狱或者巨魔,开通巨魔的方法可以搜索本博客文章,在此不再赘述。
步骤如下:
- 安装
iOS
客户端软件(需要国外Apple ID
,直接商店搜索ZeroTier One
) - 安装
fileza
- 打开
fileza
,进入目录/private/var/mobile/Containers/Data/PluginKitPlugin/156541E4-A71B-40DC-B930-5286DC4ECA6D/Library/Application Support/com.zerotier.ZeroTier-One.ZeroTierPTP
- 替换目录下的
planet
文件 - 重启
zerotier-one
服务(关闭软件重新打开,或者重启手机) - 加入网络
zerotier-cli join 网络id
- 管理后台同意加入请求
群晖:
步骤如下:
- 安装
群晖
客户端软件,在Docker
端:Synology | ZeroTier Documentation - 打开配置目录:
/var/lib/zerotier-one
- 替换目录下的
planet
文件 - 重启
zerotier-one
服务(docker exec -it zerotier service zerotier-one restart
) - 加入网络
docker exec -it zerotier zerotier-cli join 网络id
- 管理后台同意加入请求
docker exec -it zerotier zerotier-cli peers
可以看到planet
角色
iStoreOS
步骤如下:
- 打开
iStore
,搜索:ZeroTier
,安装 - 先别启用,打开配置目录:
/etc/config/zero/
- 替换目录下的
planet
文件 - 在
iStore
中启用ZeroTier
- 然后加入
网络id
- 管理后台同意加入请求
- 用就行了
Apple TV:
目前还没找到修改文件的地方,先搞一个支持zerotier
的openwrt
路由器吧~以下来自SMZDM
:
zerotier设置
1. 首先将R2S
也加入虚拟网络,在openwrt
后台管理中填入虚拟网络ID
,并允许客户端NAT
。
2. 设置虚拟网络路由
我的R2S
分到的虚拟ip
为10.81.33.114
,在Routes
我们再新建一个路由
我这里已经设置过了,Target
应根据路由器的网段来决定,比如我的R2S
局域网访问地址为192.168.2.1
,则Target
则应填192.168.2.0/24
,Gateway
则填R2S
分配到的虚拟ip
,这里是10.81.33.114
。
openwrt设置
除了zerotier
上的设置,还要对openwrt
进行设置,使得流量可以通过虚拟广域网传播
我们在openwrt
网络
>接口
里新增一个zerotier
接口,系统会为其分配一个zt
开头的物理接口,我的是zt6xtbbu66
。对该接口进行设置,传输协议
选择静态地址
,ipv4地址
填分配的虚拟ip
,ipv4子网掩码
是默认的225.225.225.0
,在防火墙设置
中创建/分配防火墙区域
选择lan
接着在 网络
>防火墙
里自定义防火墙规则,增加以下规则
iptables -I FORWARD -i zt6xtbbu66 -j ACCEPT
iptables -I FORWARD -o zt6xtbbu66 -j ACCEPT
iptables -t nat -I POSTROUTING -o zt6xtbbu66 -j MASQUERADE
记得将zt6xtbbu66
换成你自己对应的物理接口,重启防火墙
测试
这个时候,R2S
下的设备应当已经加入zerotier
广域网了,以我的小猫盘为例,在局域网下它的访问地址为192.168.2.147:5000
,在安卓手机上通过ZerotierOne
连接zerotier
广域网,并断开WiFi
,在浏览器中访问192.168.2.147:5000
。