起因,三大运营商出口接近饱和,国际访问体验极差,于是想起了有个东西叫 6in4,然后又想起了这东西没加密,然后双想起了匹配到某些 sni 信息会被阻断 6in4 tunnel(憋住别问
顺带叒想起了 zerotier 可以打成二层组网,所以才有了这篇教程
正文
准备工作,需要一台境外的vps
、zerotier 账号
以及HE IPv6 tunnelbroker
(如果 vps 有/48 的 IPv6 可忽略)
本次演示用的是腾讯云的轻量级服务器(124.156 及 101.32),本地运营商为中国电信 AS4134
关于选择腾讯轻量级的原因是便宜还大碗,质量相对也不错,我这 udping 延迟稳定 8.6ms 高峰丢包 1.4%(此处贴出各区情况)
适合自己的 vps 才是最好的,同时因为 zerotier 组网的特殊性需要优秀的 NAT type 以及对 udp 不能 qos 得太惨(希望移动没事
软件地址:https://github.com/HMBSbige/NatTypeTester/releases
GitHub 加速:https://github.intel-2333.workers.dev/
①在/etc/sysctl.conf 中检查是否添加
net.ipv4.conf.all.forwarding = 1 net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv6.conf.all.proxy_ndp = 1 net.ipv6.conf.all.accept_ra = 2
添加并确认无误后执行
sysctl -p
②登陆 https://tunnelbroker.net/
并点击Create Regular Tunnel
创建隧道
在IPv4 Endpoint (Your side)
处填入你 VPS 的 IPv4 或域名地址
地址选择离你 VPS 最近的地方并检测延迟,此处使用 HE 的 HK 接入点
确认无误之后即可创建
创建完成后点击 Routed /48:
的 Assign /48
申请/48 地址并记录(后面要用)
然后打开example configurations
并选择你的系统
我是腾讯轻量级的centos7
,并无 DD,我选择Linux-net-tools(sit tunnel)
,复制后 ssh 执行即可
唔,我知道肯定有些人想用 route,记得 local 填写 v4 nat 地址(输入 ip a 中的 eth0 即可找到)
接入完成后ping dns.google -6
确认是否正常工作(PING dns.google(dns.google (2001:4860:4860::8888)) 56 data bytes)
由于重启会失效,建议添加进/etc/rc.local
进行开机自启
debian 以及 ubuntu 则添加进/etc/network/interfaces
并/etc/init.d/networking restart
再补充一点,如果想在 VPS 上修改 IPv4 优先的话需要拉高::ffff:权重
具体方法为创建/etc/gai.conf
并填入precedence ::ffff:0:0/96 100
③在 vps 上安装 zerotier
curl -s https://install.zerotier.com/ | sudo bash
安装完成后进入https://my.zerotier.com/创建网络
找到你的Network ID
并在 VPS 上执行
zerotier-cli set 此处替换你自己的 ID allowGlobal=true
打勾这里的 RFC4193
由于是 PRIVATE 网络,你需要手动打勾你自己的 VPS 并记录 fd 开头的那串 ipv6
在 Advanced
的Managed Routes
处添加两个路由并submit
,分别是
然后确认其余设置是否如下图一样
同时在 Add IPv6 Address Pool 填写并提交
④客户端入网部分
在 https://www.zerotier.com/download/ 下载对应的客户端并入网,同时因为是 PRIVATE 网络需要你手动勾选客户端
以手机客户端为例,填入网络 ID
,勾选route all traffic though zerotier
并加入网络即可
因为默认路由的原因,如果本地有 ipv6 的话记得手动设置zerotier
为default
或直接关闭 v6 即可