ubuntu搭建ZeroTier
ZeroTier简介
ZeroTier是一款VPN软件, 它相比 openVPN, wireguard 的好处是,客户端与客户端之间可以建立P2P直连
ZeroTier自己搭建服务器项目仓库地址: https://github.com/xubiaolin/docker-zerotier-planet
ZeroTier项目地址: https://github.com/zerotier/ZeroTierOne
ZeroTier 这一类 P2P VPN 是在互联网的基础上将自己的所有设备组成一个私有的网络,可以理解为互联网连接的局域网。
它的优点是,客户端与客户端之间可以建立P2P直连,默认情况下它会连接官网的服务器,但是我们可以通过docker-zerotier-planet这个开源项目来搭建自己的服务器,从而实现自己专用的网络
# 准备条件
具有公网 ip 的服务器(需要开放 3443/tcp 端口,9994/tcp 端口,9994/udp 端口)[这里的9994需要你根据实际情况替换]
安装 docker、git
这里以Ubuntu22.04为例
安装git
apt update && apt install git -y
安装docker
curl -fsSL https://get.docker.com |bash
如果网络问题,导致无法安装,可以使用国内镜像安装:
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
启动docker
service docker start
配置docker加速镜像(可选,不配也可以)
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https: //docker.mirrors.aster.edu.pl",
"https://docker.mirrors.imoyuapp.win"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 下载项目源码
git clone https://github.com/xubiaolin/docker-zerotier-planet.git
如果上面的方式下载不了,可以使用下面的加速方式下载
git clone https://ghproxy.imoyuapp.win/https://github.com/xubiaolin/docker-zerotier-planet.git
执行安装脚本
cd docker-zerotier-planet
./deploy.sh
安装,并按照相关提示设置即可
脚本运行完成后,会在 ./data/zerotier/dist 目录下有个 planet和moon 文件
将这两个文件下载下来
# 新建网络
访问 http://ip:3443 进入controller页面
登录
默认账号为:admin
默认密码为:password
创建网络, 得到网络 id
分配网络IP, 选中easy setup, 生成ip范围
# win客户端配置
首先去zerotier官网下载一个zerotier客户端
将 planet 文件覆盖粘贴到C:\ProgramData\ZeroTier\One中(这个目录是个隐藏目录,需要运允许查看隐藏目录才行)
Win+S 搜索 服务 找到ZeroTier One,并且重启服务
使用管理员身份打开PowerShell
执行如下命令,看到join ok字样就成功了
zerotier-cli.bat join 网络id(就是在网页里面创建的那个网络)
登录管理后台 http://ip:3443 可以看到有个个新的客户端,勾选Authorized就行
IP assignment 里面会出现zerotier的内网ip
执行如下命令:
zerotier-cli.bat peers
可以看到有一个 PLANTET 和 LEAF 角色,连接方式均为 DIRECT(直连)
到这里就加入网络成功了
# Linux 客户端(openwrt可以参考这个)
安装linux客户端软件
进入目录 /var/lib/zerotier-one
替换目录下的 planet 文件
重启 zerotier-one 服务(service zerotier-one restart)
加入网络 zerotier-cli join 网络 id
管理后台同意加入请求
zerotier-cli peers 可以看到 planet 角色
# 安卓端
https://github.com/kaaass/ZerotierFix