本文不限于多层路由使用IPv6 的情况,提供解决IPv6 无法获取的更硬核的方法,需要有ssh 工具。(无安卓设备,测试环境win、mac、ios)
首先明确一点,就是如果想让你的设备得到GUA 地址,即访问
bash
6.ipw.cn
你可以直接得到一个完整的GUA 地址如图
正常情况下,你的小米路由器wifi下的设备在光猫下的任意一层路由中都可以实现这个状态。
只需要遵循几个原则:
1、小米路由器WAN口可以成功得到IPV6-PD 前缀
2、小米路由器的LAN口可以成功的看到一个小于等于64 的前缀地址。
ps:如果你在小米路由器下有多层路由或者多个设备都想划分子网那么你需要了解IPv6 子网划分的知识,如果你了解的很完善,下列两个工具会帮助你更快的划分IPv6 子网,并更高效的配置多层路由下的IPv6 地址。
计算多层子网
bash
https://subnetonline.com/pages/subnet-calculators/ipv6-subnet-calculator.php
枚举子网和host 范围
bash
https://www.site24x7.com/zhcn/tools/ipv6-subnetcalculator.html
3、不必过多的关注小米路由器的IPv6 上网方式,当然能选择DHCPv6 是最理想的状态(更可控、但前缀要求严格),直接设置为DHCPv6的运行方式。
前提在网页管理端打开ipv6功能关闭防火墙。
直接进入路由器ssh 界面
bash
uci show network.lan
查看当前lan口的ipv6 前缀
bash
ifstatus lan
修改后为60 ,正常默认为64
修改代码
bash
uci set network.lan.ip6assign='60'
修改后不要重启路由器,重启网络就好,重启后就失效这里不做固化展示。
bash
/etc/init.d/network restart
实际地址效果
小米路由器端效果:
第二层openwrt
可以看到第三层 openwrt 可以拿到 /63 前缀并下发到lan
测试
bash
6.ipw.cn
开启IPv6的proxy
关闭proxy