ZEROTIER: 很方便的一款VPN

前段时间用frp对pve、wrt等管理系统进行了内网穿透,但一直觉得暴露在公网很不安全,直至发现zeroTier这款vpn工具,用起来真的方便。

官网: https://www.zerotier.com/

github: https://github.com/zerotier/ZeroTierOne

说明

  • 官网注册,创建网络
  • 下载客户端,加入网络,会给每个客户端分配内网ip
  • 客户端之间使用内网ip可以互相访问
  • 默认网络中间服务器是zerotier提供的公用earth,网速可能会不理想

注册

  1. 官网 sign in
  2. 创建网络,选择私有,客户端进行加入时,需要经由你在网站上确认
    创建网络
    内网网段
    认证

客户端加入网络

支持品种

具体放操作方式参考文档

linux服务器加入网络方式

1
2
3
4
5
6
# 安装客户端
curl -s https://install.zerotier.com | bash
# 查看服务状态
systemctl status zerotier-one
# xxxxx为创建的Network ID
zerotier-cli join xxxxx
1
2
# 安装客户端,更安全,要求系统中安装了 GPG
curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | bash; fi

操作完后,去官网网络设置把Auth?打上勾

配置ZeroTier Moon

默认公用网络中继器速度比较慢,手头上有公网服务器的可以搭建ZeroTier Moon,走自己的服务器转发

进入zerotier-one程序所在的目录,默认为 /var/lib/zerotier-one

1
cd /var/lib/zerotier-one

zerotier-one目录

生成moon.json配置文件

1
zerotier-idtool initmoon identity.public >> moon.json

编辑moon.json文件

1
vim moon.json

修改 "stableEndpoints":[]"stableEndpoints":["ip/port"]

ip->云服务ip

port->一般为9993

moon.json

生成 .moon 文件

1
zerotier-idtool genmoon moon.json

将生成的 000000xxxxxxxxxx.moon 移动到 moons.d 目录

重启 zerotier-one 服务

1
systemctl restart zerotier-one

使用 Moon 节点

方法1,创建文件

在对应客户端创建 moon.d 文件夹,将moon节点的 000000xxxxxxxxxx.moon 复制一份到 moon.d 文件夹下

方法2,命令

1
2
3
4
5
6
7
8
9
# xxxxxxxxxx为moon节点id,对应.moon文件的6个0的后10位
zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx
# 查看所有节点
zerotier-cli listpeers
# 查看moon节点
zerotier-cli listmoons

# 删除节点
zerotier-cli deorbit xxxxxxxxxx

peers

moons

卸载

Linux

1
2
sudo dpkg -P zerotier-one
sudo rm -rf /var/lib/zerotier-one/

MacOS

参考官方文档:https://zerotier.atlassian.net/wiki/spaces/SD/pages/736690190/Uninstall+ZeroTier+from+your+Mac