openwrt 的 ipv6 设置问题

2015-04-23 23:11:53 +08:00
 linxy19957

学校的原生v6双栈
路由器拿到了2001开头的64位地址和fe80开头的网关地址,可以连接到ipv6的internet
openwrt是两个月前编译的trunk版
安装了6relayd(2013-10-21)把dhcpv6、rd、ndp都设置成relay
ifconfig
br-lan
inet6 addr: 2001:250:1006:dff0:79e0:xxxx:b7da:a94e/64 Scope:Global
inet6 addr: fe80::2076:93ff:fe28:57b4/64 Scope:Link
pppoe-wan
inet6 addr: fe80::79e0:4458:b7da:a94e/10 Scope:Link
inet6 addr: 2001:250:1006:dff0:79e0:xxxx:b7da:a94e/64 Scope:Global

lan和wan的ipv6地址是一样的,这有问题吗?

执行ip -6 route结果是
default from :: via fe80::da49:bff:feb5:7c55 dev pppoe-wan proto static metric 1024
default from 2001:250:1006:dff0::/64 via fe80::da49:bff:feb5:7c55 dev pppoe-wan proto static metric 1024
2001:250:1006:dff0::/64 dev pppoe-wan proto static metric 256
2001:250:1006:dff0::/64 dev br-lan proto kernel metric 256 expires 259097sec
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 dev br-lan proto kernel metric 256
fe80::/64 dev eth0.2 proto kernel metric 256
fe80::/10 dev pppoe-wan metric 1
fe80::/10 dev pppoe-wan proto kernel metric 256

ip -6 neigh的结果是
fe80::6026:d44:7b3b:c73b dev br-lan lladdr 74:86:7a:13:0b:5b REACHABLE

客户机可以拿到2001开头的、与路由器不同的ipv6地址,但是无法ping通ipv6.google.com,tracert的结果从第一跳开始就是请求超时
用odhcpd结果基本一致,看到有人说odhcpd和6relayd会冲突,我就把odhcpd卸载了,结果依旧

大神们帮忙看看这是什么问题

896 次点击
所在节点    OpenWrt
8 条回复
pagxir
2015-04-24 00:38:29 +08:00
你确定你们学校分配的IPv6地址是 /64 的么?如果不是的话,而是只有一个v6地址,得用NAT6的了。不过这种问题不难处理,自己抓包调一下就知道了。
linxy19957
2015-04-24 09:25:03 +08:00
@pagxir 感谢你的回答,wan口拿到的地址是/64的,我想应该就是了吧
抓包的结果有来自路由器的NA和NS,但是没有RS和RA,这大概是哪里的问题呢?
linxy19957
2015-04-24 13:25:27 +08:00
@pagxir 更正一下,我这次抓包等了很久,发现是有RA的,只是等很久才有一个而已
pagxir
2015-04-24 13:36:42 +08:00
1、准备一个IPv6的VPS, 在VPS上听包。
2、尝试在客户机执行ping6, 对VPS的v6地址发送ping6包。
3、确认VPS上是否没有接收到PING包。
4、客户端抓包,看看链路层目的 MAC是否是openwrt的LAN口的MAC.
5、openwrt在LAN听包,确认LAN口收到了客户机器的PING6包。
6、openwrt上在WAN口听包,确认客户机的PING6包已经由WAN出去。

7、openwrt上的WAN口抓包。
8、VPS上向openwrt的V6地址发送PING6包。
9、VPS上向客户机器的V6地址发送PING6包。
x、看openwrt是否听到PING6的包。

另外,请确认客户端的防火墙是关闭的。
linxy19957
2015-04-25 15:18:24 +08:00
@pagxir 在客户端上发送ping请求,抓包结果显示lan收到了请求,并从wan发送了出去,wan口没有收到回复,服务器也没有收到请求
在openwrt上发送ping请求,请求从wan发送了出去,并且收到了服务器的回复
pagxir
2015-04-25 18:27:17 +08:00
说明的客户机拿到的IPv6地址有问题,无法路由出去,所以你得NAT6.
pagxir
2015-04-25 18:29:02 +08:00
顺便问一句,你的 openwrt 和 客户机拿到前面64位是否是一样的。
linxy19957
2015-04-25 18:30:53 +08:00
@pagxir 是的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/185846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX