使用zerotier进行内网穿透,使外网客户端访问内网服务器
进入zerotier官网,注册
完成后进入个人中心,点击networks,选择创建网络,得到一个networkid
点击id进入设置,编辑名称
进入官网下载界面
选择对应系统下载
下载
#下载
curl -s https://install.zerotier.com | sudo bash
#等到提示success就说明安装完成了
#查看状态
zerotier-cli info
#结果显示200说明安装完成
200 info 48xxxxcf7b 1.10.5 ONLINE
加入组网
#加入网络,网络id是网页中创建网络的id
zerotier-cli join 网络id
#提示200 join ok说明加入成功
进入网页查看
点击members
查看,新加入的成员,点击授权,即江auth打勾,说明同意该成员加入网络
在下载页面,选择macos系统下载文件,根据提示安装,完成后打开terminal
查看状态,200说明安装完成
zerotier-cli info
执行与linux相同命令zerotier-cli join 网络id加入到网络中
同样在网页中查看并授权
下载windows版本,安装,完成后打开命令提示符窗口
查看安装状态
zerotier-cli.bat info
加入网络
zerotier-cli.bat join 网络id
同样在网页中查看并授权
在加入组网中mac电脑上,,选择其他一台设备,查看连接情况,其中ip在网页成员中的Managed IPs栏目
此刻说明已经组网成功
加入的成员ip可以设置成固定
# 1.查看状态
zerotier-cli status
200 info 295w18238c 1.5.6 ONLINE
# 2.查看节点状态 LEAF:普通成员,PLAENT:根,MOON:moon模式
zerotier-cli listpeers
200 listpeers
200 listpeers 17d739536c 21.209.202.191/32568;4805;4478 277 1.10.6 LEAF
200 listpeers 62f86wer71 50.7.252.138/9993;25018;170390 867 - PLANET
200 listpeers 2cewrrb432 12.52.23.211/29861;173;4742 190 1.10.5 MOON
选择一台云服务器,安装客户端,加入内网完成后
进入安装目录,生成moon.json配置文件,并编辑配置文件,将公网ip加入到stableEndpoints中,注意,格式需要加双引号,端口好固定【需要服务器提前开放端口,udp/tcp】
#进入安装目录
cd /var/lib/zerotier-one/
#生成moon.json配置文件
zerotier-idtool initmoon identify.public >> moon.json
#生成完,编辑moon.json
vim moon.json
{
"id": "",
"objtype": "world",
"roots": [
{
"identity":
"stableEndpoints": ["公网id/9993"]
}
],
"signingKey": “”,
"signingKey_SECRET": “”,
"updatesMustBeSignedBy": “”,
"worldType": "moon"
}
生成加密文件
zerotier-idtool genmoon moon.json
得到一个0000开头的.moon文件
在zerotier-one目录下创建moons.d文件,将加密文件移动进去
#创建moons.d文件夹
mkdir moons.d
#将加密文件移动到该文件夹下
mv 0000xxxx.moon moons.d
systemclt restart zerotier-one
需要服务器moon成员的ztaddr,可在网页或者服务器输入zerotier-cli info查看
加入
#addr需要两次
zerotier-cli orbit moon服务器addr moon服务器addr
在查看就会发现moon服务器成员从LEFT变成MOON了,如果连续查看几次后没有发生变化,过一会再查看
同样id参数需要传入两次
zerotier-cli.bat orbit xxx[id] xxx[id]