Openwrt ipv6 中继
参考资料
http://lwz322.github.io/2018/10/06/IPv6_CERNET.html
http://www.v2ex.com/t/700446?__cf_chl_jschl_tk__=31caa54803d3638a0fbb754b7d1539ba59194987-1598586247-0-ATKHIxnJdra9hFHOrvxmszn6bfukYUOcT_F9FcIlf_fg3_HZhRkRRUF30mQup4K_HnTCH4kwqlhF3p-ng1yGExoWOAXVAd4Axxc3RU8Jt7x27orVtHVA9ZsZNRVdTzoe7YIgOwmTZrFsKnq4rqbkGv36hgbc8TVi0IfirmqCrOdJjtcOpDLMwp6yqgfEYnUd9hJyBnvKhXNrjtrfMa-LAVFouEEaXbEWNShYpCkhIYsBhBATeJKxmjtuPrpvpnnuFqIQzoLioDeEsCdiTrtv0DIlkhaq0z6oaMsB6m4R6YpVqei9iv29Dy5d2DMCxDiAfANTT9x5bQJOHjegzgX0b1U更新
1
20.08.28 初始
导语
这些天被 ipv6 的部署打击到了,重新刷计算机网络.😡.
这一篇是 openwrt 下 ipv6 网络的中继..说实话还并不怎么理解故障背后的原因,因此这一篇仅仅是记录而非教程了.
基础
ipv6 的部署分配 ip 等,与 ipv4 完全不同,具体参考这一篇 IPv6与路由.
理论上的内容,等待刷完相关内容再做更多解释.
网络拓扑
- 主路由通过 PPPoe 拨号,得到了 IPv6-PD (/64),连接主路由可用分配 ipv6 地址.
- 主路由之后是桥接的副路由,与主路由在同一个网段,ipv6 中继等也正常.
- 最后才是我自己的 x86 路由器,别问为什么套娃,出租屋能有这网就不错了.
- x86 路由有一个私网段,ipv4 一直没啥问题,但是 ipv6 ….
- x86 路由可以通过无线网卡或网线连接上级路由.
路由器是使用的固件是 Lean’Openwrt ,在编译时选择 Extra packages ---> ipv6helper
即可启用完整的 ipv6 支持.
记录
上文也说了,现在对这些故障背后的原因尚不理解,仅仅为记录了.
常规
开始是通过无线网卡连接上级路由
新建 WWAN6
- 新建了 DHCPv6 客户端.
- 接口选择连接上级路由的无线网络,提交保存.
- 确保
- 基本设置
- 协议: DHCPv6 客户端
- 请求 IPV6 地址: try
- 请求指定长度的 IPv6 前缀: 自动
- 防火墙设置: 与 wwan 在同一组
- 基本设置
重启连接后发现已经有了 WWAN6 /64 的 v6 地址,还有对应的 pd /64.
lan 口设置
- 一般配置
- 基本设置
- IPv6 分配长度: 64
- IPv6 后缀: ::1
- 高级设置
- 使用内置 IPv6 管理
- 基本设置
- DHCP 服务器
- IPv6 设置
- 路由通告服务: 混合模式
- DHCPv6 服务: 混合模式
- NDP 代理: 混合模式
- DHCPv6 模式: 无状态的 + 有状态的
- 总是通告对排港博客认路由
- IPv6 设置
此时连入 lan 口的设备都自动分配了 ipv6 地址,很完美是吗? 但是没法正常访问 ipv6 网络.没法 ping 通,也没法正常解析.
路由器无法联网
对照网上这样有 ipv6 地址,但是无法访问 ipv6 网络的有几种常见解决方法.
接口 -> 全局网络选项-> IPv6 ULA 前缀删除.什么原理不太知道.
网络 -> 负载均衡 -> 策略,规则.全部改成 对排港博客认(使用主路由表). 可能有 ipv6 路由有关.
网络 -> DHCP/DNS -> 高级设置 -> 禁止解析 IPv6 DNS 记录,取消勾选.这个应该仅仅影响 DNS 解析,不影响 ping6.
网络 -> 防火墙 -> 通信规则 ,添加两条从 wwan -> lan ,从 lan -> wwan 的转发规则.
以上无效,关闭负载均衡/防火墙.
全部尝试无效后,转而通过有线连接上级路由.
此时才发现通过无线连接时,路由器 ipv4 可以 ping 通,但是 ipv6 ping不通,有线连接 ipv6 ping 是通的.
无线 ipv6 不通,与网卡还没关系..这可能与 ipv6 的路由表有关,等待进一步探究.
设备无法联网
换成有线连接后,路由器可以正常访问 ipv6 网络,但是 lan 口的设备还是不行.仅有 ipv6 地址,还是无法访问 ipv6 网络.
找了 N 久后在 v2ex 的这个帖子 OpenWRT 成功获取 IPv6 地址却无法使用,说如果以上还不通,需要使用slaac 获取 ipv6 才行,并且给出了配置.
接口 -> 全局网络选项-> IPv6 ULA 前缀删除
ssh 到路由器,修改 /etc/config/dhcp.
1
2
3
4
5
6
7
8
9
10
11config dhcp 'lan'
option dhcpv6 'disabled' # 重点是这里禁用 dhcpv6
option ra 'relay' # 对应 lan 口的路由通告服务->中继模式
option ndp 'relay' # 对应 lan 口 NDP 代理-> 中继模式
config dhcp 'wan6' # 下面这个有没有用还没测试.
option interfere 'wan'
option dhcpv6 'disabled'
option ra 'relay'
option ndp 'relay'
option master '1'
设备能正常使用 ipv6 网络了…
参考
至今还没有搞清楚 ipv6 配置的各种问题的原因.一下是收集的一下参考资料
- IPv6与路由: ipv6 分配的基础知识.
- OpenWRT IPv6 三种配置方式
- OpenWrt配置IPv6 NAT
- 如何在路由器后获取 IPv6 地址
- 进阶类教程】多种无PD的情况下给内网配置IPv6的方法
- 电信PPPOE的Ipv6配置方法
- 家用宽带的IPv6配置
结束语
这些天来,打击有点大…从头学起吧…