背景应该基本都了解了 后面公网v4会越来越紧张 而家宽基本都支持了ipv6 可是 上班摸鱼有几家支持v6了啊 网上有不少内网穿透的方法 也研究了阵子zerotier 以前网上基本都是用官方控制器然后自建moon mjj为啥不釜底抽薪直接自建全套啊 自建moon的时候有遇到过连不上的情况 自建全套后就没发现了 此方法不需要注册zerotier账号 也没有官方免费50个限制 这里以docker套娃debian里运行为例 手工安装 mjj觉得不好用 直接删就是了 教程使用系统:Ubuntu apt install docker.io yum install docker docker run -d --name=systemd-debian --privileged --network=host --hostname=debian10 -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-debian:10 docker exec -it systemd-debian sh apt install nano wget net-tools -y
apt install ./zerotier-one_1.6.6_amd64.deb
cd /var/lib/zerotier-one 修改默认9993端口 不改可以跳过 nano local.conf { "settings": { "primaryPort": 9994 } } systemctl restart zerotier-one 主机需放行9994(默认9993)的tcp和udp 而不是网上说的udp 生成moon文件 zerotier-idtool initmoon identity.public >> moon1.json nano moon1.json 修改 "stableEndpoints": []括号里为"公网ipv4/9994" 双栈就"公网ipv4/9994","ipv6/9994",如果前面没改就是9993 如出口ipv4:1.2.3.4就是stableEndpoints": ["1.2.3.4/9994"] 如出口ipv4:1.2.3.4 ipv6:1:2:3:4:5::8就是stableEndpoints": ["1.2.3.4/9994","1:2:3:4:5::8/9994"]
自建planet 用小工具把moon文件转换成world.bin 再改成planet即可 chmod 777 mkmoonworld-x86 ./mkmoonworld-x86 ./moon1.json 想多几个节点就用其他小鸡生成moon2.json moon3.json据说最多4个 ./mkmoonworld-x86 ./moon1.json ./moon2.json ./moon3.json 会生成world.bin再给改名 mv world.bin planet systemctl restart zerotier-one 网上还有说自建planet后还自建moon的 个人觉得没必要 找个延迟最低的自建 不需要多节点吧
下载ztncui控制器 apt install ./ztncui_0.7.1_amd64.deb nano /opt/key-networks/ztncui/.env ZT_ADDR=127.0.0.1:9994(不改默认就是9993端口)
主机xshell里再开一个页面 把planet拷出来 df -Th看下面很长的那个 /var/lib/docker/overlay2/xxx很长的那个目录/merged/var/lib/zerotier-one目录里planet拷到本地备用 后面要替换
主机安装socat端口转发web apt install socat yum install socat socat tcp-listen:3001,reuseaddr,fork tcp:127.0.0.1:3000 (嫌麻烦也可以直接修改前面/opt/key-networks/ztncui/.env配置文件 官网和github有说明 个人觉得没啥必要 按需用就是了) http://公网ip:3001 admin password 首次登陆要让改密码 点Add network 会出现一个很长的网络id 创建虚拟局域网 图省事就easy setup 比葫芦画瓢 如10.1.1.0/24 10.1.1.1-10.1.1.254 个人不喜欢dhcp就直接手工分配ip了 routers里add 10.1.1.0/24 网关留空
本地安装zerotier 替换planet win:C:\ProgramData\ZeroTier\One linux:/var/lib/zerotier-one 重启服务 win:services.msc里最下面那个zerotier的服务 重启 linux:systemctl restart zerotier-one 检查planet是否生效(可选,planet后面有你的ip/9994) linux:zerotier-cli peers win:zerotier-cli peers(需管理员运行powershell)
加入虚拟网络 linux:zerotier-cli join xxx(前面创建网络时的那个很长的id) win:右下角zerotier图标加入或者直接管理员powershell输入zerotier-cli join xxx
ztncui网页控制器刷新下应该就出现了你的设备 member id可以本地zerotier-cli info查看 勾选authorized并分配ip 前面member name可以自己备注
删掉成员的时候好像要重启ztncui才行 软件问题
互ping一下 个人觉得还是挺满意的 然后就是大局域网玩了
哦 对了 安卓可以用zerotierfix ios据说无解 planet就是了(/etc/config/zero/planet)
|