内网穿透神器zerotier,从会用到用好

大家好,今天跟大家深入的探讨一下我一直在用的内网穿透工具zerotier。

至于其他的内网穿透方案,都略逊于zerotier方案,要么是太复杂,要么是需要购买服务器自建服务,要么是稳定性不如zerotier,后面有机会逐一给大家介绍。

我知道很多朋友已经使用过zerotier,但是也请不要走开,我会说一些大家很少听到的zerotier的事情,一方面方便大家排障,更重要的是提高内网穿透的速度以及使用的方便度。

zerotier原理

为照顾没使用过zerotier的朋友,我先给大家介绍下zerotier的工作原理

img

zerotier内网穿透的核心是UDP打洞,不论两台设备是否在同一个内网中,只要这两个局域网的NAT方式达到了打洞的要求,就可以进行打洞,也就是建立一条隧道

打洞技术的原理比较简单,就是NAT内网的节点需要在NAT上建立自己的一条转发映射关系(这就是所谓的在NAT上打下一个洞),然后外网的节点就通过这个”洞”来进行通信。

提高zerotier性能

了解了zerotier工作原理总结一下提高zerotier性能的方法

1、网络环境,选择相对优秀的运营商,以山东为例,联通直接给公网ip,首选;电信公网ip需要申请,也可;移动铁通嘛,NAT方式不适合打洞,据说有的能够打洞成功,但是大部分情况是无法打洞的;

即使你有独立ip,zerotier也是需要的,因为你不可能把你网络中所有的设备都开放到公网,你要是真的那么做,就等着被入侵吧。

2、zerotier增加路由条目,每个内网环境只需要增加一条路由,登录一台设备到zerotier中就可以被其他网络访问到,不需要每个提供服务的设备单独安装,安装zerotier的首选设备是路由,现在许多路由系统内置了zerotier,不需要单独安装;

3、理论上任何一台设备都可以作为路由使用,让许可设备通过内网ip访问到,但是不同设备允许转发的配置不一样的,openwrt的比较简单,

1
2
3
4
5
6
iptables -I FORWARD -i zt3jnsuifh -j ACCEPT
iptables -I FORWARD -o zt3jnsuifh -j ACCEPT
iptables -t nat -I POSTROUTING -o zt3jnsuifh -j MASQUERADE
# zt3jnsuifh 为虚拟网卡名字
# 通过 ip a可以查看
# 同时要去常规设置,允许转发

4、在打洞失败的情况下,所有的流量都会通过zerotier的公共服务进行数据中转,而zerotier是在海外的,如果你在中国大陆,想要提速,就需要建立moon服务器,moon服务提供的功能相当于frp,国内的vps相对来说价格较高,可以考虑购买香港服务器

在你网络情况比较好的情况下,是不需要自建moon服务器,因为每次打洞都成功,moon根本不会被访问到。

以上就是使用zerotier的一些要点

zerotier的安装教程,视频里我就不说了,我会写到文档里,大家需要的就去看吧

我只说下,使用的流程

1、申请zerotier账号,开通网络,免费额度足够你用了,查看虚拟网络id

img

img

2、如果你路由器内置了zerotier,直接填上申请到的虚拟网络id

3、打开zerotier后台,勾选加入的路由设备

img

4、windows端安装zerotier较为简单,exe安装包直接装,启动后加入网络,填上申请到的虚拟网络id

img

5、linux端

1
curl -s <https://install.zerotier.com> | sudo bash

加入网络

1
2
3
#将网络ID替换成你自己的即可
sudo zerotier-cli join 8bd5124fd****3d4
sudo systemctl enable zerotier-one.service

6移动端,直接搜索zerotier one安装,加入网络即可

记得,新设备加入都要去zerotier后台许可。