AX1800 OpenWRT IPv6 问题
本帖最后由 neo 于 2022-8-6 09:32 编辑最近入手了 AX1800,自己编译了 5.4 内核开源固件,并开启 IPv6
OpenWrt 21.02-SNAPSHOT r16399+142-c67509efd7 / LuCI openwrt-22.03 branch git-21.284.67084-e4d24f0运营商给 PPPOE-WAN 下发了一个 240e:xx:xx:xx:xx:xx:xx:xx/64 地址,以及一个 240e:xx:xx:xx::/56 网段。
我把路由器的 br-lan 设置成 RA server/DHCPv6 disable/NDP relay
然后局域网设备就可以自动配置 IPv6 地址了,是 240e:xx:xx:xx::/56 的一个子网段,而且跟 br-lan 在同一个网段。
问题来了。从局域网 ping br-lan/pppoe-wan 都没有问题,但 ping 外网提示 destination unreachable, unreachable route
更诡异的是从公网 ping 局域网设备能通。
基本算是解决了。现在做一个总结。
问题的关键是 OpenWRT 会为 br-lan 生成一条路由策略规则(注意,不是路由规则)
...
32766:from all lookup main
...
4200000000: from 240e:389:4f00:2500::1/64 iif br-lan unreachable讲道理因为有 32766 这条,所有有数据包都应该通过 main 路由表(我们平时加的路由规则都在此表保存)才对。但现在看下来是走了下面这一条。所以从局域网发出去的包会收到 unreachable 消息。
解决的办法就是到 luci 后台 Network -> Routing -> IPv6 Rules 新建如下规则
保存并应用就好了。
现在讨论一下 IPv6 网络的其他问题。
就我观察,电信和联通都会给路由器分配两套地址。其中电信会给 pppoe-wan 分配一个 /64 地址,然后再额外分配一个 /56 网段(IPv6-PD)。而联通也是类似,但额外的网段为 /60。
如果打开 gl 路由器的 IPv6 功能,局域网里的设备只会分配到跟 pppoe-wan 一样的地址,而无法利用 PD 网段。而且 gl 后台的 IPv6 选项太少且过时,居然还提供 NAT6 功能。所以我建议不要使用 gl 的配置后台,而且直接使用 OpenWRT 的配置界面。
所以我们需要安装 luci-proto-ipv6 包(忘记 OpenWRT 有没有默认安装了)
本来 linux 默认是支持 IPv6 的。但 gl-sdk4-ipv6 会配置一个服务,每次启动时会强行禁用 IPv6。所以我们需要到 luic 的 System -> Startup 中禁用 gl_ipv6 服务。
然后就是删除 /etc/sysctl.d/99-disable-ipv6.conf (这个文件是 gl_ipv6 生成的)
最后就是重新开启各网卡的 IPv6 支持
uci set network.wan6.disabled='0'
uci set network.wwan6.disabled='0'
uci set network.tethering6.disabled='0'
uci commit network
然后就可以在 luci 的 Network -> Inerface 里面管理 IPv6 配置了。
为了充分利用 PD 网段,我们可以如下配置:
RA 是路由通告,我们改成服务器模式。这样路由器就会把 br-lan 所在的新网段通告给其他局域网设备。这些设备收到路由广播后会通过 SLAAC 自动配置 IPv6 地址。所以,也就没有必要再开启 DNCPv6 服务了。
提示destination unreachable, unreachable route可能是路由表少了规则
在我们的页面先设置试一试呢 萝卜大侠 发表于 2022-8-5 10:51
提示destination unreachable, unreachable route可能是路由表少了规则
在我们的页面先设置试一试呢 ...
基本破案了。OpenWRT 自己添加一条路由策略规则(已有的路由规则跟防火墙规则都没有问题):
4200000000: from 240e:xx:xx:xx::1/64 iif br-lan unreachable
最简单的办法是手工再加一条:
32766:from all lookup main
但 OpenWRT 这样做的原因还不确定 顶,学习了,紫薯布丁 看不懂,够学:lol:lol:lol:lol neo 发表于 2022-8-6 07:44
基本破案了。OpenWRT 自己添加一条路由策略规则(已有的路由规则跟防火墙规则都没有问题):
厉害了
我们实际测试也是发现OpenWrt的IPV6路由有些BUG 谢谢楼主分享! gl_ipv6也折腾到我了。明天按楼主这个方法试试看 萝卜大侠 发表于 2022-8-6 22:28
厉害了
我们实际测试也是发现OpenWrt的IPV6路由有些BUG
今天更新到 4.4.6 版本。发现 ipv6 问题还是没修,跟之前一样。是放弃治疗了吗?
页:
[1]