zerotier-one介绍
这是个好东西,打洞专用,使用UDP进行打洞,致力于开源SDN,SD-WAN解决方案,属于开源精品(仅仅是客户端开源,服务端不开源但是可以免费使用100个连接,所有这里用三方的开源组件搭建Moon端).跨平台多终端 将复杂的互联网用点对点的形式进行组建,并且在上面附加一层 VXLAN-like 虚拟网络层 来提高局域网的可见性,安全性.
Zerotier 定义了几个专业名词,以及优势
#使用 zerotier-cli listpeers 命令时能看到这几个名词。充当 moon 的机子最好有公网 IP PLANET :行星服务器, Zerotier 各地的根服务器,有日本、新加坡等地 Moon :卫星级服务器, 用户自建的私有根服务器,起到中转加速的作用 LEAF :相当于各个枝叶, 就是每台连接到该网络的机器节点 #zerotier-one优势 1:控制端(ZeroTier 官网)功能足够强大,可以下发路由表、准入控制、IP分配、流量规则等, 2:可以建立中转服务器(Moon 服务器),从而实现更好的链接效果 3:接近于免费。个人用户最多可以接入 100 节点设备, 4:客户端开源。你完全可以自己编译
搭建开源的Moon 卫星中转节点
#ztncui依赖于zerotier,所以需要先安装zerotier curl -s https://install.zerotier.com | sudo bash #安装ztncui软件,并启动 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/
zerotier-one客户端安装
#linux安装zerotier-one curl -s https://install.zerotier.com | sudo bash #linux若作为本地转发网关,需要关闭selinux #加入网络 zerotier-cli join xxxxxxxx
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
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节点