avatar
创建私有zerotier 控制器并作为Moon节点自定义根服务器

admin 58 19th May, 2020

                                           
                         创建私有zerotier 控制器并作为Moon节点自定义根服务器 (ztncui)
辣条①号 2019年7月15日 Linux System 运维 4,805 3

zerotier-one介绍

    这是个好东西,打洞专用,使用UDP进行打洞,致力于开源SDN,SD-WAN解决方案,属于开源精品(仅仅是客户端开源,服务端不开源但是可以免费使用100个连接,所有这里用三方的开源组件搭建Moon端).跨平台多终端
    将复杂的互联网用点对点的形式进行组建,并且在上面附加一层 VXLAN-like 虚拟网络层 来提高局域网的可见性,安全性.
Bash
Zerotier 定义了几个专业名词,以及优势

#使用 zerotier-cli listpeers 命令时能看到这几个名词。充当 moon 的机子最好有公网 IP
    PLANET  :行星服务器, Zerotier 各地的根服务器,有日本、新加坡等地
    Moon    :卫星级服务器,    用户自建的私有根服务器,起到中转加速的作用
    LEAF    :相当于各个枝叶,   就是每台连接到该网络的机器节点

#zerotier-one优势
    1:控制端(ZeroTier 官网)功能足够强大,可以下发路由表、准入控制、IP分配、流量规则等,
    2:可以建立中转服务器(Moon 服务器),从而实现更好的链接效果
    3:接近于免费。个人用户最多可以接入 100 节点设备,
    4:客户端开源。你完全可以自己编译
Bash
搭建开源的Moon 卫星中转节点

#ztncui依赖于zerotier,所以需要先安装zerotier
    curl -s https://install.zerotier.com | sudo bash

#安装ztncui软件,并启动
  UBUNTU 系统中 使用 sudo apt-get install  例如  yum install https://download.key-networks.....
    yum install https://download.key-networks.com/el7/ztncui/1/ztncui-release-1-1.noarch.rpm -y
    yum install ztncui -y
    echo "HTTPS_PORT = 3443" > /opt/key-networks/ztncui/.env

    systemctl restart ztncui

#web登录ztncui控制台
    https://ip:3443
    账户:admin
    密码:password

#将本机配置为moon节点
    #进入zerotier-one的配置文件目录
    cd /var/lib/zerotier-one
    #在/var/lib/zerotier-one 目录下生成moon.json
    zerotier-idtool initmoon identity.public >> moon.json

    vi /var/lib/zerotier-one/moon.json
    #将这行修改为
    "stableEndpoints": [ "主机ip1/9993","主机ip2/9993" ]

    #生成签名文件,此命令会生成一个签名文件在当前目录下,文件名如 000000deadbeef00.moon (机器 A 的 id 为 deadbeef00)
    zerotier-idtool genmoon moon.json

    #关闭selinux

#(备注)使用方式,及其他系统参看ztncui的社区文档
    https://key-networks.com/ztncui/
Bash
zerotier-one客户端安装

#linux安装zerotier-one
    curl -s https://install.zerotier.com | sudo bash

#linux若作为本地转发网关,需要关闭selinux

#加入网络
    zerotier-cli join xxxxxxxx
Bash
zerotier-one客户如何加入自定义的Moon节点

#方法一:
    zerotier-cli orbit deaxx22 deaxx22

#方法二:
    在客户端的zerotier-one配置目录,创建moons.d  并将Moon节点的/var/lib/zerotier-one/000000deadbeef00.moon 文件复制到刚才的moons.d目录下

    #linux目录    /var/lib/zerotier-one/
        mkdir /var/lib/zerotier-one/moons.d/
    #windows目录 C:\ProgramData\ZeroTier\One
    #FreeBSD/OpenBSD目录: /var/db/zerotier-one

    scp root@192.168.60.3:/root/000000106a05f02c.moon /var/lib/zerotier-one/moons.d/
    zerotier-cli orbit 106a05fxxc 106a05fxxc

    #若是客户端作为本地转发网关,需要设置SNAT以及开启,内核转发 
        #echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
        #sysctl -p
        #iptables -t nat -A POSTROUTING -s 192.168.255.29/24 -o br-lan -j SNAT --to-source 192.168.60.3
Bash
zerotier-one客户端操作帮助

#客户端目录路径
    cd /var/lib/zerotier-one

#重启客户端
    systemctl restart zerotier-one

#zerotier-cli用法指引
    zerotier-cli info           #查看当前zerotier-one的信息
    zerotier-cli listpeers          #列出所有的peers
    zerotier-cli listnetworks       #列出加入的所有的网络
    zerotier-cli join <network>     #加入某个网络
    zerotier-cli leave <network>        #离开某个网络
    zerotier-cli listmoons          #列出加入的Moon节点
    zerotier-cli orbit <world ID> <seed>    #加入某个Moon节点
    zerotier-cli deorbit <world ID>     #离开某个Moon节点
                      
                                       
要分享此代码段,请复制此网址并发送给您的朋友
RAW代码数据

评论

需要身份验证

你必须登录才能发表评论.

登录
    目前没有评论.