ZeroTier 你自己的虚构主干网

智能化是如今的一个抢手话题。在我作为网站牢靠性工程师(SRE)的日常上班中,我的局部职责是将尽或许多的重复性义务智能化。但是咱们当中有多少人在日常生存、非上班生存中这样做呢? 往年,我专一于智能化上班,以便咱们可以专一于关键的事情。

在成功一切智能化的同时,我在一些远程站点上遇到了艰巨。我不是一个网络专家,所以我开局钻研我的选用。在钻研了各种虚构公用网络(VPN)、配件端点、防火墙规定以及支持多个远程站点的一切物品后,我感到困惑、火暴,并对这一切的复杂性感到丧气。

而后我发现了ZeroTier。ZeroTier 是一个加密的虚构主干网,准许多台机器像在一个网络上一样通讯。代码所有是开源的,你可以自行托管控制器,或许经常使用ZeroTierOne服务,有收费或付费方案。我如今经常使用的是它们的收费方案,它很弱小、牢靠,而且十分稳固。

由于我经常使用的是 Web 服务,所以我不计划具体引见运转控制器和根服务。ZeroTier 在他们的​ ​文档​ ​中对如何做到这一点有完整的参考,而且十分好。

在 Web 用户界面中创立了我自己的虚构网络之后,客户端的装置简直是微无余道的。ZeroTier 有 APT、RPM、FreeBSD 和许多其余平台的软件包,所以让第一个节点上线不须要什么致力。

装置终了后,客户端就会衔接到控制器服务,并为节点生成一个惟一的 ID。在 Linux 上,你经常使用​ ​zerotier-cli​ ​​命令来参与一个网络,经常使用​ ​zerotier-cli join NETWORKID​ ​命令:

 zerotier-cli info info 469584783a .x.x ONLINE

你也可以经常使用​ ​zerotier-cli​ ​来取得衔接和可用节点的列表,扭转网络设置,以及分开网络。

Image of Setting up a New Node

在参与一个网络后,你必定同意该节点的访问,可以经过网络控制台或调用运行程序编程接口(API)。这两种方法在 ZeroTier网站上都有文档说明。衔接两个节点后,无论你身在何处或位于防火墙的哪一侧,你都可以相互衔接,就像你们在同一个修建的同一个网络中。我的关键用例之一是​ ​远程访问我的家庭助理环境​ ​,而不须要关上防火墙端口或将其泄露在互联网上(对于我的家庭助理设置和关系服务的更多信息,见后文)。

我自己做的一件事是为外部 DNS 设置了一个​ ​Beta ZeroNDS 服务​ ​。这为我治理自己的称号服务或为我一切的公家主机和 IP 地址创立公共记载缩小了很多复杂性。我发现操作说明十分便捷直白,并且能够在大概 5 分钟内为我的公家网络树立一个 DNS主机。每个客户端必定准许 Zerotier 设置 DNS,这在 GUI 客户端中十分便捷。要使它在 Linux 客户端上经常使用,请经常使用:

 zerotier-cli setNETWORKID 

在你增加和删除主机时,不须要其余更新,它“就能上班”。

 zerotier-cli info info 469584845a .x.y ONLINE zerotier-cli join93afae596398153a  join OK zerotier-cli peers peers<ztaddr> <ver> <role> <lat> <link> <TX> <RX> <path>61d294b9cb  PLANET  DIRECT   .7.73.34/999362f865ae71  PLANET  DIRECT   .7.76.38/9993778cde7190  PLANET  DIRECT   .195.13.66/999393afae5963 .x LEAF  DIRECT   .188.31.177/41848992fcf1db7  PLANET RECT  DI47  . .173.159/9993

我只提到了它一切配置的外表。ZeroTier 还准许在 ZeroTier 网络之间树立桥接、初级路由规定等。它们甚至有一个​ ​Terraform 提供者​ ​​和一个​ ​很棒的 Zerotier 资源​ ​清单。到当天为止,我正在经常使用 ZeroTier 衔接四个物理站点的机器,其中三个在 NAT 防火墙前面。Zerotier 的设置很便捷,而且治理起来简直齐全不费劲。

您可能还会对下面的文章感兴趣: