使用ZeroTier搭建虚拟局域网

为什么要搭建虚拟局域网?

由于近来在学校做的一些工作需要使用到学校的服务器,而连接学校的服务器必须在校园网内才可以,有时候十分不方便,于是就想到我要搭建一个“跳板”, 这样我就能在非校园网环境下先ssh登录这个位于校园网环境之内的跳板然后再登录到这个服务器了。

并且这个虚拟局域网搭建起来以后,我所有位于这个虚拟局域网之内的设备都能像位于一个物理局域网之中那样自由的互相访问了,这也是极好的。比如假如我在实验室的电脑上写了一半的代码想回到宿舍以后接着写,而我又事先忘记把代码同步到网络存储当中,这时我只需要在寝室以后用寝室的这台笔记本将代码文件scp回这台设备上即可,很方便吧!

实现方法

非常的简单只需要ZeroTier这个开源软件即可,这个软件非常好,Linux、Windows、Mac以及安卓和ios都有实现, 而且还提供免费的虚拟私人局域网管理服务最多支持100台设备连接。

首先进入ZeroTier的官网,进入下载页面下载你的设备所需的zerotier版本, 比如我有两台Linux设备和一台ios设备,我就按照官网上给出的命令下载安装了Linux版的ZeroTier,如果用Windows和Mac也很简单而且还提供了图形界面。 ios上只需要在AppStore里面下载ZeroTier One这个App即可。

然后你可以选择连接一个公共的虚拟局域网”Earth”或者搭建自己的虚拟局域网,按照官网上的提示操作以后就会给你一个Earth的网络号, 你只需要在本地的客户端加入这个网络即可,比如在Linux上输入命令sudo -H zerotier-cli join 8056c2e21c000001然后返回200,就表面已经加入成功了,这时你访问”http://earth.zerotier.net/“这个url会弹出一个网页告诉你在Earth里的ip地址。 Earth

这时候你可以试一下把另一台设备也这样连接进来,这两台设备之间就已经可以互相访问了。 公共的虚拟局域网有个好处是所有其它位于这个网络里面的人都能访问到你的设备,当然这也许是比较危险的,而且网络的速度好像也慢一些。

如果你想要搭建属于自己的虚拟局域网,需要在官网页面上注册一个账号,然后登录进入管理界面内创建局域网,所有操作都是基于网页界面的,非常简单就不多说了, 唯一一点需要注意的就是在给设备分配ip的时候有些地址实际上是不能使用的,也许你在控制面板上选择自动分配会更好一点。 再设置好所有局域网属性之后,就像之前加入Earth那样将自己所有的设备加入进来就行了,设备进来之后,你可以在控制面板里管理他们,给他们分配权限、取名字之类的。

到这里就一个虚拟局域网就搭建完成了,很简单吧!这都归功于ZeroTier开发团队所做出的大量努力,这个工具真的是太良心了!几乎全平台全设备都囊括了,这个项目是开源的,他的github主页在这里进去点个star,学习一个什么的挺好的。

投入使用

正好我有一台树莓派由于我太懒之前一直都没能发挥出它的价值,天天放在那里吃灰,正好现在把它拿出来放到实验室连接局域网后当跳板机了。 目前使用情况是,虽然大多数时候是可以连接的,但是有时候貌似不太稳定而且速度有些慢,敲一条命令显示出来是能明显感觉到延迟的,还不知道是哪里出了问题,我会尝试去改善一下的。