ZeroTier这个工具很多人都在使用,还是很不错的,而且很多路由器有集成插件.这次折腾是需求是,本地网络没有IPV6,但是需要访问IPV6的网络,感谢ZX大佬提点.
需要用到的
1、 VPSundefined2、ipv6地址块(这个he.net可以获取,最简单的方法是将 VPS 接入 HE 的 IPv6 Tunnel Broker
https://tunnelbroker.net/ ,注册帐号后点击左侧“User Functions”中的“Create Regular Tunnel”,在“IPv4 Endpoint”中填入你 VPS 的 IP 地址,“Available Tunnel Servers”是自行选择一个隧道入口,就近选择即可,然后点最下方”Create Tunnel“,耐心等待创建成功后你会来到隧道详情页面,你会看到”Routed /48“右侧有个”Assign /48“,点一下,申请/48地址块,并记录下这个地址块,后面需要用到),或者也可以用自己有广播好的ipv6{ip地址标记①}.
代码语言:txt复制安装 ZeroTier,直接在 VPS 上执行
curl -s https://install.zerotier.com/ | sudo bash
安装完成后会显示一个 10 位的网络ID,请记下来,等会要用{标记②} 在注册了 ZeroTier 帐号后,创建一个网络等会需要用到.
代码语言:txt复制进入这个网络的详情界面后,首先看到“Settings“,记下左上角的 Network ID{标记③} ;找到右侧的“IPv6 Auto-Assign”,勾选“ZeroTier RFC4193”{如果是用自己地址不要勾选,用he的才要},取消勾选“ZeroTier 6PLANE” 接着往下找到“Members”,在最下方“Manually Add Member”处输入我们之前记下②,然后“ Add New Member”,这时你会看到你的 VPS 出现在了网络成员列表中,并记下灰色的 fd35 开头的 IPv6 地址④ 回到 VPS,执行此命令,用③替换<NetworkID>
zerotier-cli set <NetworkID> allowGlobal=true
在操作VPS之前确定你VPS可以ipv6,还有要开启转发 系统配置
编辑/etc/sysctl.conf,加入
代码语言:txt复制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
代码语言:txt复制然后执行更新系统配置
sysctl -p
回到网页上的“Settings“,在”Managed Routes“中添加两条路由
第一个空填①,第二个空不填
第一个空填::/0,第二个空填④
然后在”IPv6 Auto-Assign“处勾选”Auto-Assign from Range“,第一个空填①,然后别动,等待一会,会自动帮你填写好 v6 地址范围(如果没有自动就自己用https://www.vultr.com/tools/subnet-calculator-ipv6/ )
将设备接入虚拟局域网以获取 IPv6
以 Windows 为例: 前往 http://www.zerotier.com/download.shtml 下载客户端,安装 首次运行会让你登录 ZeroTier,登陆完后应该会自动帮你加入你在前面建立的那个虚拟局域网(Win10会提示发现新网络之类的),然后右击托盘图标,”Show Networks“,将”Allow Global IP“、”Allow Managed IP“、”Allow Default Route“这三个全部打勾 如果”Show Networks“中什么也没有,就右击托盘图标退出程序,再重开一次,这是 ZeroTier Windows 客户端的问题,重启才会更新网络信息 如果没有自动加入,就右击托盘图标,”Join Network“,输入框中填写③,并打勾所有勾,然后”Join“ 接着我们需要设置 IPv6 DNS,打开 控制面板->所有控制面板项->网络和共享中心,点击”ZeroTier One xxxxxxx“的连接,属性,Internet 协议版本 6,设置 DNS 为谷歌 IPv6 DNS2001:4860:4860::8888和2001:4860:4860::8844,一路确定保存 尝试在命令提示符中ping -6 google.com,Ping 通就说明成功接入 IPv6 了
test
https://test-ipv6.com/
https://ipv6-test.com/
还有些实际情况可以根据自己的需要修改,参考教程:
https://moe.best/tutorial/zerotier-ipv6.html
https://lantian.pub/article/modify-computer/zerotier-one-own-ipv6-tunnel.lantian