zerotier使用教程_zerotier简明教程

zerotier简明教程

最近使用zerotier替换了frp来实现内网穿透,zerotier是一个软交换机,使用zerotier可以让多台内网机器组成一个局域网。

首先要安装 zerotier-one 这个软件包,如果是ArchLinux,直接运行:

$ sudo pacman -S zerotier-one

如果是Ubuntu/Debian/CentOS,则运行:

$ curl -s https://install.zerotier.com/ | sudo bash

注:如果是Windows或者macOS、Android、iOS等,那么可以在 https://www.zerotier.com/download/ 下载zerotier

之后就完成了安装,然后我们要启动zerotier,并且让他开机自启动,运行:

$ sudo systemctl start zerotier-one.service

$ sudo systemctl enable zerotier-one.service

例如我有两台内网机器,于是都按照上面的描述进行了安装和启动。接下来要做的事情是到 https://my.zerotier.com/

里注册帐号并且登录,然后创建一个Network,创建之后点到这个网络里,拉到最上面,选择 Private(私有网络) ,这样别人加入的时候就需要认证,

如果想改名字的话,改个名字,其他不用动。然后复制 Network ID,就是拉到最上面的时候可以看到的一个类似 83048a0632246d2c 的字符串。

然后在两台内网机器上执行:

$ sudo zerotier-cli join 83048a0632246d2c

加入之后他们就启动了,但是还连不进我们创建的网络,因为我们选择了 Private(私有网络) ,我们还需要到 https://my.zerotier.com/

上面对接入的机器打勾,拉到 Members 这一节,把前面的两个勾勾选上。

这个时候执行一下 ip a 你会发现多了一个叫做 ztuzethlza 或者类似名字的设备,还有IP地址,这就是zerotier组建的局域网的IP

地址,但是这个时候你如果直接连接另外一台机器的话可能会非常慢,所以为了加速,我们还需要一台在国内的,或者是在国外但是访问

速度相当快的机器做转发。

搭建中转机器(moon)

首先把中转机器按照上述步骤一起加入网络,然后执行:

$ cd /var/lib/zerotier-one/

$ sudo zerotier-idtool initmoon identity.public > moon.json

接下来编辑一下 moon.json,把 "stableEndpoints": [] 这一节里加入中转机器的公网IP,例如 "stableEndpoints": ["1.2.3.4/9993"],其中

9993是默认监听的端口,接下来要把9993端口的防火墙放开(注意是UDP),如果你的机器外边还有防火墙的话,也要一起放开,例如阿里云的机器就有

防火墙规则,要一起把对应端口的UDP流量放行,此后,我们要生成moon的配置:

$ sudo ufw allow 9993/udp

$ sudo zerotier-idtool genmoon moon.json

接下来把中转服务器的 zerotier-one 重启:

$ sudo systemctl restart zerotier-one

加入moon

注意我们搭建moon的时候有一个 moon.json,我们把内网机器加入这个moon的时候,需要其中的一个id:

$ grep id /var/lib/zerotier-one/moon.json | head -n 1

"id": "xxxxxxxxxx",

复制这个id,然后在内网机器执行:

$ sudo zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx

注意,xxxxxxxxxx 要两遍。此后重启 zerotier,完毕。等一会儿之后,zerotier局域网内的机器就可以互相访问了,延时非常低:

$ ping 192.168.1.111

PING 192.168.1.111 (192.168.1.111) 56(84) bytes of data.

64 bytes from 192.168.1.111: icmp_seq=1 ttl=64 time=35.0 ms

64 bytes from 192.168.1.111: icmp_seq=2 ttl=64 time=37.1 ms

64 bytes from 192.168.1.111: icmp_seq=3 ttl=64 time=36.9 ms

^C

--- 192.168.1.111 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 4ms

rtt min/avg/max/mdev = 35.039/36.369/37.145/0.944 ms

注:如果是Windows/macOS/Android/iOS,那么可以使用所安装的图形客户端加入网络。

参考资料:

关注公众号,获得及时更新

更多文章

加载评论

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值