解决OpenWrt IPv6配置中的路由问题OpenWrt IPv6配置
IPv6(Internet Protocol Version 6)说白了就是来解决 IPv4 地址不够用这个老大难问题的。它不光地址多,还自带一些好用的特性,比如自动配置、内置安全啥的。而路由呢,就是指你的数据包怎么从A点跑到B点,中间经过哪些节点。在 OpenWrt 里,如果路由没设好,不同子网之间的设备根本没法愉快聊天。

常见的 IPv6 配置问题
我自己在 OpenWrt 上折腾 IPv6 的时候,真的踩了不少坑:
前缀分配不全或者根本是无效的:ISP 一般会给家庭用户分一个 /56 或 /64 的前缀,但有的时候,不知道为啥,这个前缀就是传不到内网设备上。
没有 RA(路由器通告)信息:如果没有正确发送 RA 消息,客户端设备就没办法自动生成地址,连 DNS 信息都拿不到。
防火墙拦住了该放行的流量:OpenWrt 默认的防火墙规则有时候太严格了,一些服务莫名其妙就用不了。
DHCPv6 配置不对:大多数情况下靠自动配置没问题,但有些时候还是得手动设 DHCPv6,不然内网设备就拿不到该有的信息。
邻居发现协议(NDP)出问题:NDP 是用来找同一链路上其他设备的,如果它挂了,整个 IPv6 通信就基本瘫痪了。
解决这些问题
1. 先检查 WAN 口设置
首先得确认 WAN 口到底有没有拿到 ISP 给的 IPv6 前缀。登录 OpenWrt 后台,在“网络”->“接口”里看 WAN 口状态。如果看到类似 inet addr:xxxx::/xx 这样的条目,那说明前缀拿到了。如果没有?重启光猫试试,再不行就只能打电话问 ISP 你们到底支不支持 IPv6 了——我当初就是这么干的。
2. 配置 LAN 接口
接下来得让 LAN 接口正确用上 WAN 口传来的信息。在“网络”->“接口”的 LAN 设置里:
勾上“Use DHCP for peer DNS”
根据需要选上“Send RA”
在“Advanced Settings”里面,可以指定 Prefix Delegation Size,一般用 /64 就行。最重要的是,一定要启用“Enable Router Advertisements”,不然设备根本没法自动生成 IPv6 地址!
3. 设置 DHCPv6 Server
如果你像我一样喜欢折腾,或者是在小办公室环境里用,那可能还得开 DHCPv6 服务器。在“服务”->“DHCP 和 DNS”里面:
启用“DHCPv6 Server”
设置地址分配范围
配置 DNS 服务器,让内网设备能解析域名
可以考虑设置静态租约,给打印机、NAS 这些设备固定 IP
4. 调整防火墙设置
OpenWrt 的防火墙默认会拦掉一些流量,得手动放行。进入“网络”->“防火墙”,添加规则允许 HTTP(S)、SSH 这些服务。特别注意不要屏蔽 ICMPv6,因为 NDP 和路径 MTU 发现都靠它!
5. 验证邻居发现协议 (NDP)
最后还得验证 NDP 到底工作正常不。可以用 ping 或 traceroute 测试连通性。我还装了 tcpdump 抓包看 NDP 报文有没有异常:
tcpdump -i br-lan icmp6
如果发现丢包或者延迟高,那可能就是这里出了问题。NDP 要是挂了,前面所有配置都白搭!
一点经验
在 OpenWrt 上配置 IPv6 确实不容易,但按上面步骤走下来,大部分问题都能解决。我总结了几点经验:
定期更新 OpenWrt 固件,修复漏洞还能有新功能
尽量用图形界面操作,减少输错的可能,但也要学点命令行备用
每次修改都记录一下,方便以后排查问题
搞清楚家里设备的 IP 和 MAC 地址对应关系,以后排查故障会轻松很多
多逛逛社区论坛,看看别人怎么解决的,真的能少走很多弯路
慢慢折腾下来,终于搭建了一个稳定支持 IPv6 的网络环境,上网体验好了不少,也为以后的应用打下了基础。
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看