对于开发者而言,包括一些计算机爱好者在内,经常会需要自己的专属服务器;
一般而言,可以从云服务器厂商租借,免去硬件设备维护的一切烦恼,同时具有公网ip可供访问;
另一种可选的方案是将一些老旧设备装上linux服务器系统,相当于拥有了包括软硬件在内的整体服务器系统,但是这种方式经常会因为没有公网ip而烦恼,在ipv4的资源越来越紧俏的情况下,申请到公网ip也是越来越困难;
如果服务器只在局域网访问,则无需公网ip;倘若客户端多变,即有不同网段的设备需要访问服务器,则需要解决服务器的网络连接问题。
说到这,“内网穿透”一词就呼之欲出了,见名知义,就是让在局域网之外的终端,可以进入局域网内部,从而访问局域网内部的设备。
zerotier解决方案
当然,“内网穿透”已经成为一些公司的特有服务了,即一些企业已经在依靠这项服务赚钱了;
那么,对于个人用户而言,在“白嫖”传统的指引下,有没有免费的解决手段呢?(当然,既然是免费,这种解决方案自然会有质量不高、时常出问题的状况,肯定比不上花钱买服务)
zerotier产品则是其中之一
虚拟局域网
zerotier的本质是构建虚拟局域网,使得处于虚拟局域网内的设备能够互联互通。
-
在注册zerotier账号(可以正常访问,但由于服务器在*因此速度并不快)后,可以创建虚拟局域网(即获得一个网络id),一般的注册用户可以创建50个虚拟局域网;
-
对于需要进入虚拟局域网的设备,则要在每个设备上下载客户端;比如手头有一台私人服务器、一个笔记本电脑、一个台式机,则需要在服务器、笔记本、台式机上分别安装客户端;目前zerotier支持的操作系统包括windows、linux、MacOs、Android等多个平台。
-
每个设备安装好客户端后,开启客户端并在对应位置输入虚拟局域网id,验证通过后,这个虚拟局域网会为进入到这个网络中的每一台设备分配一个局域网ip(设备的管理等功能在网页端操作);例如在上述例子中,私人服务器得到的虚拟局域网ip为192.168.133.100,笔记本得到的虚拟局域网ip为192.168.133.101,台式机得到的虚拟局域网ip为192.168.133.102
-
得到上述信息后,便可以像访问公网ip那样,直接将每台设备的虚拟局域网ip当作公网ip使用;例如上例中笔记本通过ssh协议登陆私人服务器:ssh root@192.168.133.100;
-
注意:使用时每台设备都需要联网,但不需要设备的真实ip都在一个局域网下;
例如,私人服务器部署在公司,笔记本连的是手机热点,台式机接的是家庭路由器,显然三台设备的真实ip不属于同一个网段;
例如私人服务器的真实ip为192.168.10.188/24,zerotier虚拟局域网ip为192.168.133.100;
例如笔记本电脑的真实ip为192.168.20.126/24,zerotier虚拟局域网ip为192.168.133.101;
例如台式机电脑的真实ip为192.168.30.135/24,zerotier虚拟局域网ip为192.168.133.102;
但是在zerotier看来,这三台设备在同一个创建好的虚拟局域网中,因此可以使用虚拟局域网ip互联互通。