MENU

#笔记#使用zerotier组建内网/搭建zerotier的转发服务器moon

March 5, 2020 • Read: 1034 • 网络笔记

在使用gost的其中,我突然想到了某位群友说过的zerotier组建内网,以提升爬墙速度,于是今天找了半天Google教程写下了这份记录。

1.环境要求

  • 服务器:zerotier-moon中转机器一台 客户端几台(至于几台看你自己加入)
  • 有一定的Linux基础,虽然教程中简化了很多步骤,但是一定要有Linux一点点基础
  • 本次我的本地电脑上Mac,所以如果你的本地电脑不是Mac 在使用zerotier时候可能需要搜索

2.开始使用zerotier

首先你需要进入https://my.zerotier.com/ 注册一个账号。

然后选择Networks添加一个网络

add networks_空白网络

如图所示,你会得到一个Your Networks ID (我的ID打了马赛克)

注意的是:每次我们添加VPS到zerotier到时候都需要点进我们的network ID 拉到后方,然后Auth?的方框上勾选 如图

add networks_空白网络

3.搭建zerotier-moon服务器

在国内一台Linux服务器上安装好zerotier

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

3.1加入network

zerotier-cli join <network id>  #<>需要去除 network ID 参考上图马赛克位置

3.2生成moon模板

cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json

3.3修改moon.json

vi 编辑 moon.json,修改 “stableEndpoints” 为 VPS 的公网的 IP,以 IPv4 为8.8.8.8例:
"stableEndpoints": [ "8.8.8.8/9993" ]

其中8.8.8.8是你国内中转VPS的公网IP 后面/9993是zerotier默认端口

3.4 生成签名文件

zerotier-idtool genmoon moon.json

生成签名文件后你将会得到一个000000xxxx.moon的文件

3.5 将moon节点加入网络

在 VPS 的 Zerotier 安装目录下(/var/lib/zerotier-one)建立文件夹 moons.d,将生成的 .moon文件拷贝进去。
重启 zerotier,重启电脑。至此,VPS 上(moon 服务器)配置完成。

cd /var/lib/zerotier-one
mkdir moons.d
cp 生成的moon文件全名 moons.d #这里的moon文件是刚才我们3.4生成的签名文件

3.6 记录moon的ID

我们后面爬墙的客户端跟服务端都需要加入moon的网络中,所以ID是必须要记住的

grep id /var/lib/zerotier-one/moon.json | head -n 1
"id": "xxxxxxxxxx" #此处是你需要记住的ID

3.7 重启zerotier

复制过去后我们需要重启zerotier 并重启VPS

systemctl restart zerotier-one
reboot

其中我们的moon节点建立完成了。

客户端加入moon

这里只说了Linux的加入

moon的服务端节点建立后,我们退出服务端的机器,开始连接我们客户端ssh

重复上面的zerotier的安装,安装完成后我们同样的也要先加入network ID

zerotier-cli join <network id>  #<>需要去除 network ID 参考上图马赛克位置

注意:这里的ID是第2步的ID不是3.6的moon的ID

然后我们再加入moon网络

zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx #这里的xxx是我们的3.6获得的moon ID 需要重复两次!

然后重启systemctl restart zerotier-one

不出意外的话你的VPS就连接上了刚才我们建立的moon节点,此刻我们只需要ping一下你其他组进moon节点的机器就可以看到是否加入。

其他客户端下载:https://www.zerotier.com/download/
因为本人没有Windows的机器,暂时不使用windows进行演示了

测试有没有加入moon

zerotier-cli listpeers

如果后面有moon则成功了

修改moon服务节点自定义端口

默认的moon节点使用的是端口:9993

但是有的时候我们需要自定义端口

cd /var/lib/zerotier-one 也就是zerotier运行的目录下建立local.conf文件

vi local.conf #写下如下配置

{

 

      "settings":

   {

      "primaryPort":9994 #自定义端口

    }

}

完整的local.conf配置

{
    "physical": { /* Settings that apply to physical L2/L3 network paths. */
        "NETWORK/bits": { /* Network e.g. 10.0.0.0/24 or fd00::/32 */
            "blacklist": true|false, /* If true, blacklist this path for all ZeroTier traffic */
            "trustedPathId": 0|!0 /* If present and nonzero, define this as a trusted path (see below) */
        } /* ,... additional networks */
    },
    "virtual": { /* Settings applied to ZeroTier virtual network devices (VL1) */
        "##########": { /* 10-digit ZeroTier address */
            "try": [ "IP/port"/*,...*/ ], /* Hints on where to reach this peer if no upstreams/roots are online */
            "blacklist": [ "NETWORK/bits"/*,...*/ ] /* Blacklist a physical path for only this peer. */
        }
    },
    "settings": { /* Other global settings */
        "primaryPort": 0-65535, /* If set, override default port of 9993 and any command line port */
        "portMappingEnabled": true|false, /* If true (the default), try to use uPnP or NAT-PMP to map ports */
        "softwareUpdate": "apply"|"download"|"disable", /* Automatically apply updates, just download, or disable built-in software updates */
        "softwareUpdateChannel": "release"|"beta", /* Software update channel */
        "softwareUpdateDist": true|false, /* If true, distribute software updates (only really useful to ZeroTier, Inc. itself, default is false) */
        "interfacePrefixBlacklist": [ "XXX",... ], /* Array of interface name prefixes (e.g. eth for eth#) to blacklist for ZT traffic */
        "allowManagementFrom": "NETWORK/bits"|null, /* If non-NULL, allow JSON/HTTP management from this IP network. Default is 127.0.0.1 only. */
        "allowTcpFallbackRelay": true|false /* Allow or disallow establishment of TCP relay connections (true by default) */
    }
}
Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

2 Comments
  1. 百三 百三

    没明白为什么这样可以提高爬墙速度

  2. [...]具体的zerotier教程:https://www.aihoom.com/1826.html[...]