docker方式部署Zerotier Planet(Zerotier根服务器)
ZeroTier 介绍(参考:GitHub - xubiaolin/docker-zerotier-planet: 私有部署zerotier-planet服务)
安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动 Docker
systemctl start docker
开机自启动
systemctl enable docker
可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你的地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安装git
yum update && yum install git -y
下载项目源码
git clone https://github.com/xubiaolin/docker-zerotier-planet.git
执行安装脚本
cd docker-zerotier-planet
./deploy.sh
根据提示来选择即可,操作完成后会自动部署
下载 planet 文件
脚本运行完成后,会在 /tmp/ 目录下有个 planet 文件
下载该文件以备用
新建网络
访问 http://ip:3443 进入controller页面
使用默认账号为: admin
默认密码为: password
客户端配置
Windows 配置
首先去zerotier官网下载一个zerotier客户端
将 planet 文件覆盖粘贴到 C:ProgramDataZeroTierOne
重启ZeroTier One 服务
加入网络
使用管理员身份打开PowerShell
执行如下命令,看到join ok字样就成功了
zerotier-cli.bat join 网络id
登录管理后台可以看到有个个新的客户端,勾选Authorized就行
执行如下命令:
PS C:Windowssystem32> zerotier-cli.bat peers
200 peers
<ztaddr> <ver> <role> <lat> <link> <lastTX> <lastRX> <path>
fcbaeb9b6c 1.8.7 PLANET 52 DIRECT 16 8994 1.1.1.1/9993
fe92971aad 1.8.7 LEAF 14 DIRECT -1 4150 2.2.2.2/9993
PS C:Windowssystem32>
可以看到有一个 PLANTET 和 LEAF 角色,连接方式均为 DIRECT(直连)
到这里就加入网络成功了
Linux 客户端
步骤如下:
安装linux客户端软件
进入目录 /var/lib/zerotier-one
替换目录下的 planet 文件
重启 zerotier-one 服务(service zerotier-one restart)
加入网络 zerotier-cli join 网络 id
管理后台同意加入请求
zerotier-cli peers 可以看到 planet 角色
OpenWrt更新planet
root@OpenWrt:~# find / -name planet
/etc/config/zero/planet
安卓客户端配置
Zerotier 非官方安卓客户端发布:支持自建 Moon 节点 - V2EX
https://github.com/kaaass/ZerotierFix/releases
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 角色
管理面板SSL配置
管理面板的SSL支持需要自行配置,参考Nginx配置如下:
upstream zerotier {
server 127.0.0.1:3443;
}
server {
listen 443 ssl;
server_name {CUSTOME_DOMAIN}; #替换自己的域名
# ssl证书地址
ssl_certificate pem和或者crt文件的路径;
ssl_certificate_key key文件的路径;
# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
ssl_prefer_server_ciphers on; #使用服务器端的首选算法
location / {
proxy_pass http://zerotier;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name {CUSTOME_DOMAIN}; //替换自己的域名
return 301 https://$server_name$request_uri;
}
卸载
docker rm -f zerotier-planet
阅读剩余
THE END