温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。
一、背景分析
目前家庭路由基本上是由光猫拨号,然后再接一个或多个路由器做 DHCP 或 WIFI,在 IPv4 环境下没什么问题。但是运营商开放 IPv6 以后就发现,通过路由器接入的设备获取不到 IPv6。
一般来说,通过光猫拨号,WAN 口获取到的 IPv6 PD 块是 /56
,然后在 LAN 口分配的是 /64
。但是我们知道,IPv6 最小单位是 /128
,因此即便 WAN 获取到 /64
,IPv6 地址块仍然还是可以继续往下划分的。
因此,我们可以得出结论,路由器获取不到 IPv6 的原因,是路由器的配置有问题,我们需要调整配置来使旁路由(二级路由、多级路由)支持 IPv6。
二、配置指导
1、简要网络拓扑
WAN -> 光猫 -> 二级路由器 -> 三级路由器 -> 终端设备
在此网络中,光猫只负责光电转换,二级路由器负责拨号上网,三级路由器面向终端设备负责接入
2、简要配置
在路由器 网络 -> 接口 -> LAN 口的 DHCP 服务处(OpenWRT 在 WAN 页面),将
- 路由通告服务:设置为服务器模式
- DHCPv6 服务:设置为服务器模式
- NDP 代理:设置为中继模式
- DHCPv6 模式:设置为有状态的 + 无状态的
- IPv6 分配长度:设置为
62
只要 WAN 口获取到的前缀足够大,LAN 前缀可以一直配置到 61 、62 、63 、64,下面接入的设备都有 slaac,要再细分下去也可以,只是下面不能用 slaac 了,只能 statefull。
由于二级路由器 LAN 口又作为了三级路由器的 IPv6 服务端口,所以在二级路由器的 WAN 口需要修改一下配置,命令行中编辑 /etc/config/dhcp
,修改:
......
config dhcp 'wan'
option interface 'wan'
option ignore '1'
option ra 'relay'
......
这样三级路由就可以获取到一个 /62
大小的 IPv6 地址块进行分配了。
语音测试
参考文章:
1、《光猫拨号,二级路由 IPV6 的正确设置教程.》
2、《OpenWrt旁路由(网关)模式IPV6设置方法》