内网穿透工具之ZeroTier

0    100    4

👉 本文共约4494个字,系统预计阅读时间或需17分钟。

今天我给大家介绍一款基于软件的内网穿透神器—zerotier,点对点的网络链接速度只取决于自己的网络带宽,可以让你轻松自如地实现远程办公。

官方文档:https://zerotier.atlassian.net/wiki/spaces/SD/overview

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

创建网络

首先登录zerotier官网,注册账号,建立网络,下载客户端软件,

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

点击“注册(Sign Up)”,输入注册信息,或者授权用谷歌账号、微软账号登录,

注册完成后,用新建的账号密码登录,进入网络设置页面,首先创建网络(Create A Network),

访问控制要选择“私人网路(PRIVATE)”,其他保持默认即可,姓名和描述可以根据自己的爱好填写,创建好的网络ID是16位的数字加字母组合,记住,后面的步骤要用到,网络设置页面也不要关闭,后面的步骤也要用。

https://my.zerotier.com/

内网穿透工具之ZeroTier

下载客户端

转到下载页面,选择你合适的客户端应用程序并下载,

https://www.zerotier.com/download/

内网穿透工具之ZeroTier

下载完成后,安装客户端应用程序,安装选项保持默认即可,

安装完成后,程序会自动启动,在windows任务栏的图标是这样的,接下来就开始操作加入你先前搭建好的网络,

内网穿透工具之ZeroTier

会自动配置服务,开机后会自动启动:

内网穿透工具之ZeroTier

默认安装路径

  • Linux: /var/lib/zerotier-one
  • FreeBSD / OpenBSD: /var/db/zerotier-one
  • Mac: /Library/Application Support/ZeroTier/One
  • Windows: C:\Program Files (x86)\ZeroTier\One

加入网络

点击“Join New Networks”,会跳出对话框,在对话框中输入你的16位数的网络ID,点击“Join”,然后回到官网的网络页面,

这时网络页面中会出现一个未加入网络的设备ID信息,ID和你客户端应用程序中显示的ID一致,点击左边的小方框,打上对勾,IP地址会自动生成,你也可以在IP地址下面的长方框里输入自己指定的IP地址,然后点击“加号”添加,再把原来自动生成的IP地址删除即可,为了与其他设备区分,你可以根据自己的喜好填写“short-name”和“description”,

内网穿透工具之ZeroTier

添加网络完成后,网络状态会变成“ONLINE”,同时右边会显示你的公网IP地址,回到客户端应用程序,你会发现,已经加入到网络中,并可以看到你在网络页面中设置的IP地址,到此第一台客户端设置基本完成。

配置第2台客户端

接下来再到你的另一台设备上按照同样的步骤设置,zerotier支持 windows、MacOS、Linux、安卓手机和平板、苹果手机和平板、Openwrt路由器、群晖NAS,设置方法大同小异,你只要下载安装相应的应用程序并按步骤一步步设置即可。

设置完成后,你就可以通过zerotier网络分配的IP地址来访问办公室的电脑设备了,对于一般的网络来说,用微软的远程桌面几乎没有延迟,你还可以通过IP地址来连接公司的打印机,实现远程打印,也可以通过IP地址来访问公司网络上的共享数据。

Linux客户端

https://www.zerotier.com/download/#downloadLinux

https://my.zerotier.com/

其它:

手机使用

1、苹果手机直接在应用商店安装

2、安卓手机下载:https://apkpure.com/zerotier-one/com.zerotier.one

命令行配置

除了以上设置方法,通过命令行也可以让你的设备加入zerotier网络,

首先在文件管理器中找到zerotier的安装目录,默认的位置是:C:\Program Files (x86)\ZeroTier\One

在linux中:

然后搜索“cmd”,打开命令行,在zerotier安装目录下输入命令:

然后到官网网络设置页面去打对勾确认让他加入网络,完成后,用命令行验证,

会显示你的zerotier网络ID等信息,证明你已经加入到网络中,

可以看到网络中的其他设备,这里注意的是有些设备是zerotier官方的节点,并不是别人偷偷侵入了你的网络。

其它

需要进一步说明的是,在官网的网络设置页面中有“管理线路(Managed Routes)”选项,这是一个可以让你通过一台设备访问整个局域网的功能,如果你需要访问办公室局域网或者家庭网络中的其他设备(比如打印机和网络中的共享数据),你可以在这里设置,

在“添加路线(Add Routes)的设置中,在“目的地(Destination)”输入要访问的局域网网段和掩码,在“通过(via)“输入你的设备IP地址,比如你要访问的局域网IP网段是192.168.1.1 ~ 192.168.1.255,需要输入,

Destination:192.168.1.0/24 via:192.168.192.4

搭建moon节点,让你的zerotier网络更安全高效

在上边的教程中,我们成功地搭建了zerotier网络,达成了远程办公的目的,你甚至还可以坐在星巴克咖啡厅里,跟生意伙伴商务活动的同时,随时调用公司内部的共享数据资料,这也是科技进步给我们带来的种种便利之一。

在zerotier网络体系中,根服务器(root server)被称为星球(planet),而每一台联网设备都被称为叶子(leaf),两台星球之间是通过星球节点握手建立隧道连接的,而zerotier作为一家总部位于加州的美国公司并没有在中国设有根服务器,因此在两台设备连接时受制于星球节点的连接质量,不免要产生高延迟,因此我们可以按照官方指引来搭建月亮(moon)节点,让设备相互连接时通过我们自己搭建的月亮节点来握手建立隧道,从而降低握手时的网络延迟、也提高联网稳定性和安全性。

首先要说明的是,搭建月亮节点的服务器对硬件要求不高,但是必须有公网IP地址,如果公司的网络环境不具备条件,可以通过购买云计算服务器来实现。现在国内的云计算服务商主要有阿里云、华为云、腾讯云、天翼云等,都可以满足你的需要,这些供应商时常有打到骨折的优惠活动,每年一两百元人民币的成本也不是什么压力,再者说来,这一台云计算服务器还可以同时为你搭建网站或者其他的应用。如果对于搭建moon节点还没有信心,可以到这些云计算供应商的国际站点注册,薅一台免费试用2-3个月的服务器来测试,其实这些云计算的香港节点与大陆站点相比延迟也差不了多少;当然国际大厂也有羊毛可以薅,谷歌云、甲骨文云、亚马逊云、微软云都提供免费试用的云主机,甲骨文云还提供终身免费的选项。

两台联网设备都打开ipv6,测个ping值,在两台设备同城并且是同一个宽带接入商(中国移动)的条件下,ping值6毫秒左右,这个级别的ping值,在感觉上基本与局域网内设备的相互连接没有区别。这是由于zerotier在两个具有公网ipv6设备之间直接建立了隧道连接,不再需要多层NAT地址转换。

需要说明的是,搭建moon节点是为了替代planet节点在联网设备握手时的作用,降低设备之间握手时的延迟,也提高你的zerotier网络的稳定性和安全性,并不能直接降低联网设备相互访问时的ping值。也许有人会质疑,既然有了公网ipv6,直接用ipv6不就可以了吗?在实际应用场景中绝大多数ipv6都是动态的,并且ipv6的地址都很难记住,不适合日常应用的场景,当然你设置了ddns除外。

zerotier的服务器都在海外,因此我们国内用户使用时可能会出现无法连通P2P的情况,这样会导致所有流量都经由zerotier官方服务器中转,延迟和丢包会非常严重

因此我们可以搭建一个moon服务器,moon服务器相当于一个中转服务器,可以保证我们能够顺畅打通P2P,保证低延迟和不丢包

因为moon服务器只起到一个握手的作用,在P2P打通后就没有moon服务器啥事了,因此不用担心moon服务器的延迟和宽带会影响联机体验,但是moon服务器务必位于国内,如果服务器位于海外的话,数据经由GFW出口,可能无法顺利打通P2P.

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

moon节点搭建过程

安装moon服务器端

云服务器购买以后,选择linux系统,然后用ssh登录,开始安装:

等待进度条走完后,进入zerotier-one目录

生成json文件

用vi编辑moon.json,主要是把云服务器的ip写进去,购买云服务器主要就是为了这个。

23.23.23.23是你服务器公网IP,9993是端口,注意要在云服务器防火墙和安全组上放开9993端口

编译成配置文件,对配置文件进行签名

这步做完会在目录下生成一个000000开头的.moon文件,新建一个moons.d目录,并把它复制进去

请输入自己的文件名,或者用tab自动补全

重新启动zerotier

配置客户端

把这个文件000000xxxxx.moon复制出来,找到客户端的以下目录:

Windows: C:\ProgramData\ZeroTier\One
Linux: /var/lib/zerotier-one
FreeBSD/OpenBSD: /var/db/zerotier-one

同样新建moons.d目录,把那个000000xxxxx.moon放进去,最后重启客户端进程,就可以和moon握手啦!穿透速度嗷嗷的上去了!

检查是否配置成功

看到云服务器ip,还有- moon结尾的服务器,就说明运行成功了。

例如:

常用命令

参考

https://www.toutiao.com/article/7135719394788901391/

https://www.toutiao.com/article/7137094817636532747

https://blog.csdn.net/weixin_43851864/article/details/120910424

https://www.cnblogs.com/NanKe-Studying/p/16343774.html

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

3 × 3 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部