https://my.zerotier.com
教程: 内网穿透工具ZeroTier,从简单到复杂的玩法,无保留,一期全放送_哔哩哔哩_bilibili
修改路由表
局域网指向旁路由设备 A
局域网未指向旁路由设备 B
外网设备C
https://my.zerotier.com/network
路由表 A
: ZerpTier``192.168.191.0/24
路由表 B
: 局域网 192.168.11.0/24
软路由安装了 ZerpTier
后,软路由就有了 ZerpTier
网络的路由表
-
局域网指向旁路由设备 A
可以访问外网设备 C
192.168.191.0/24
, 指向旁路由的设备 A 就知道如何访问其他ZerpTier
的外网设备 C 外网设备 C -
外网设备C
不能访问局域网指向旁路由设备 A
外网设备 C,虽然有 ZerpTier
网络的路由表,但是只能访问到旁路由 192.168.191.39
, 不能访问 局域网指向旁路由设备 A
- 解决
因此需要在 ZeroTier
手动添加路由表, 指向旁路由在 ZeroTier
的 IP 地址
相当于给外网设备添加 路由表 B
局域网未指向旁路由设备 B
不能访问外网设备C
同理,在主路由添加路由信息,将 192.168.191.0/24
的连接指向旁路由,让旁路由利用自身路由表路由
全隧道模式
让外网设备通过家里的软路由访问网络,不走自身网络,家里的会再连接
相当于让一个设备的全部网络走家里,缺点: 无法p2p时速度非常慢
0.0.0.0/0
相当于 外网设备C
都根据这个路由表,将流量转发到 软路由
然后打开覆盖默认路由的选项
Allow Default Router Override
Linux
安装 ZeroTier
和节点控制器
ZeroTier
端口开放 UDP 9993
和 TCP 9993
节点控制器 TCP 3443
此外,卸载命令:
dpkg -P zerotier-one
rm -rf /var/lib/zerotier-one/
节点 506f2eff25
title:ZeroTier
一键安装命令:
curl -s https://install.zerotier.com | sudo bash
卸载:dpkg -P zerotier-one
rm -rf /var/lib/zerotier-one/
启动并开启自启
systemctl start zerotier-one.service
systemctl enable zerotier-one.service
进入安装目录
cd /var/lib/zerotier-one/
生成节点配置
zerotier-idtool initmoon identity.public> moon.json
修改moon.json
"stableEndpoints": []改为
"stableEndpoints": ["47.xx.xx.10/9993"]
生成签名
zerotier-idtool genmoon moon.json
创建目录
mkdir moons.d
将生成的签名移动到创建的目录
mv 00000050c0acc251.moon moons.d/
重启服务
systemctl restart zerotier-one
----加入---
加入moon服务器,使用安装生成的节点
加入moon
然后在 openwrt
中添加
zerotier-cli orbit
zerotier-cli orbit xxxx xxxx
然后重启
linux : systemctl restart zerotier-one
openwrt : service zerotier restart
自建节点控制器
自建的 Moon 服务器,会根据已连接的设备,自动选择走 moon 还是官方 planet 还是 p2p, 但如果官方 planet 无法访问,就用不了 节点网络控制器
,因此需要自建 节点网络控制器
来授权节点间的访问
docker run -d --name ztncui -p 3000:3000 -e HTTP_ALL_INTERFACES=yes -e HTTP_PORT=3000 -e ZTNCUI_PASSWD=password keynetworks/ztncui
报错 version `GLIBCXX_3.4.20’ not found 解决方法 - 简书 (jianshu.com)
然后 easy setup
然后让节点控制器,自己加入自己,这样可以避免公网端口访问
zerotier-cli join xxxxx
命令
systemctl restart zerotier-one
netstat -tulnp
sudo systemctl status ztncui
zerotier-cli listpeers
linux : systemctl restart zerotier-one
openwrt : service zerotier restart
zerotier-cli info -j
查看 tcpFallbackActive 是否为 true ,如是,则说明当前走的是最慢的 relay 模式,必然不是直连
zerotier-cli peers
查看相应 LEAF 的 path 栏是否有 ip 地址,如果没有,表示是 relay,也不是直连
实测。通过 ping 查看延时,传输大文件查看速率,如果延时较低、传输速度接近上下行带宽,基本可以确定就是直连了
linux : `systemctl restart zerotier-one`
openwrt : `service zerotier restart`
测试
1440P
电脑使用软件, 不连接软路由,手机流量连接不上,手机 wifi 连接最后 P2P, 快
(户外手机连接电脑,电脑使用软路由)电脑使用软件, 连接软路由,手机流量连接电脑 zerotier IP , 手机流量可以连接上,慢,延迟 400, 手机 wifi 连接不上
(户外手机连接软路由,软路由连接电脑)电脑不使用软件, 连接软路由,手机流量连接局域网电脑 IP, 会根据路由表转到软路由 zerotier IP ,可以连接上 ,超级慢
,同 wifi 下,还是局域网电脑 IP, 无意义
自己搭建的 moon
连接非常快
,但是测试时不时卡顿,wifi
可以 P2P
, 非常流畅,但是手机流量无法p2p
此外因为zerotier本身是代理软件,手机使用 zerotier 后无法使用clash