Openwrt ipv6 继续踩坑

  • 2018-11-11
  • 2,760
  • 12
  • 0

在前面的文章《电信PPPOE的Ipv6配置方法》和文章《OpenWRT 18.06配置ipv6内网机器无法正常获取地址的一个坑》中,提到了关于ipv6设置获得不到地址的问题,但是最近又出现了新问题,之前用的好好的,最近这段时间突然又没法获得ipv6地址了,又坑了我很久,之前以为是openwrt odhcpd的bug,但是编译了好几个版本仍然还是不行,实在没办法,无法解决,直到最近才发现其实是因为之前的Ipv6设置是错误的,能正常工作纯属运气好,或者是以前的软件默认配置了一些东西,等到Openwrt更新代码以后,又会出现其他问题的。

具体原因不明,但是解决方案已经有了,首先,之前的关于在《OpenWRT 18.06配置ipv6内网机器无法正常获取地址的一个坑》文章里对/etc/config/dhcp中把PPPOE WAN里添加3个option的设置方法是不对的,因为对于PPPOE WAN,默认忽略了DHCP配置,然后,在文章《电信PPPOE的Ipv6配置方法》中的设置方法正确,但对于OpenWRT 18.06而言,IPv6 ULA prefix为空的话,就会分配不了IP,解决办法是在Ipv6 ULA prefix里填上”fe80::/64″,如下图:

这时候,LAN会多一个fe80::1/64的地址,这时候,重启odhcpd,会发现内网正常分配Ipv6地址了,并且默认网关已经被指向fe80::1。此时第二个坑来了,无法上网!!ipv6虽然获得了地址,但是无论访问什么网络都是network unreachable,这个坑坑了我很久,最后发现竟然是防火墙的问题,在防火墙里添加两条Ipv6的转发规则,就可以了:

至此解决了之前的诡异问题。

 

看来Openwrt对于ipv6的支持只能说一般,坑还是挺多的,如果各位朋友碰到类似的问题,可以参考下笔者的解决思路。虽然到目前为止对于原理为什么会这样仍然不明所以~~

评论

  • lhp9916回复

    博客挺好看的,这个主题叫什么?

  • 猢狲回复

    请教我也是电信用户,改ppoe拨号,重启路由的前几分钟有ipv6,等会就连不通了,请教下你是怎么具体设置的防火墙啊?谢谢了

      • 猢狲回复

        x86版的Openwrt

    • Jarvis回复

      你这个问题其实我碰到过,你是不是内网机器前几分钟能获取ipv6地址,过了一段时间就获取不到ipv6地址了,如果是这个问题的话,就是那个IPv6 ULA前缀一定要按我这样填,不填就会这样。

      • 猢狲回复

        好的,我试试,另外请教下你说的防火墙里添加两条Ipv6的转发规则是怎么加的?小白在Openwrt里看得一脸懵逼

        • Jarvis回复

          防火墙通信规则那里,新建两条转发规则,名字你可以按我这样写,也可以随便写,源区域和目标区域分别是wan->lan和lan->wan,然后点添加并编辑的时候,限制地址写仅IPv6,协议TCP+UDP,然后保存就行

  • jjle回复

    我的路由器连上pppoe后会自动出现一个wan_6的接口,这个接口不能进行操作。然后这个接口获取的是2001开头的地址,有了这个接口之后内网就没办法获取ipv6地址了,请问你有没有遇到过这种情况呀

    • Jarvis回复

      自动出现wan_6是正常的,你把设置贴出来看看

  • wang回复

    请问openwrt ddns如何设置ipv6的域名解析,以前设置ipv4的域名解析没有问题,但现在获取ipv6公网ip后,ipv4无公网地址。域名是3322.org,ipv4的ddns自带的有,ipv6的域名提供商列表里面没有?

发表评论

*

浙ICP备16016405号-2
浙公网安备 33010602007544号