I have a Debian Sid router with the tunnel set up, and functional. I am able to ping6 and access IPv6 enabled services from the router. radvd is set up and functional, the Win 7 computer is obtaining an IP address (both v4 and v6). I'm fairly sure the problem is somewhere in the routing tables.
IP forwarding IS enabled.
grobe0ba@tethyes:/etc/network$ sudo ip -6 route
2001:470:1f06:96f::1 dev he-ipv6 metric 1024 mtu 1480 advmss 1420 hoplimit 0
2001:470:1f06:96f::/64 via :: dev he-ipv6 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 0
2001:470:1f07:978::/64 dev eth1 metric 1 mtu 1450 advmss 1390 hoplimit 0
2001:470:1f07:978::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 via :: dev he-ipv6 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 0
default via 2001:470:1f06:96f::1 dev he-ipv6 metric 1024 mtu 1480 advmss 1420 hoplimit 0
default dev he-ipv6 metric 1024 mtu 1480 advmss 1420 hoplimit 0
eth1 is my internal network interface, he-ipv6 the 6in4 tunnel interface
eth1 Link encap:Ethernet HWaddr 00:22:3f:f6:94:ea
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: 2001:470:1f07:978::1/64 Scope:Global
inet6 addr: fe80::222:3fff:fef6:94ea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5227761 errors:0 dropped:0 overruns:0 frame:0
TX packets:9999854 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:527412659 (502.9 MiB) TX bytes:1090676143 (1.0 GiB)
Interrupt:24 Base address:0xe000
he-ipv6 Link encap:IPv6-in-IPv4
inet6 addr: 2001:470:1f06:96f::2/64 Scope:Global
inet6 addr: fe80::c0a8:112/128 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10322 (10.0 KiB) TX bytes:1971 (1.9 KiB)
radvd.conf
interface eth1 {
AdvLinkMTU 1450;
AdvSendAdvert on;
prefix 2001:470:1f07:978::/64 {
AdvOnLink on;
AdvAutonomous on;
};
route 2001:470:1f06:978::1/64 {
AdvRouteLifetime infinity;
AdvRoutePreference high;
};
RDNSS 2001:470:20::2 {
AdvRDNSSOpen on;
AdvRDNSSLifetime infinity;
};
};
Looks like u have a bunch of duplicate route type stuff in your table. Here's mine (sanitized) for comparison:
2001:db8:1234:567::/64 via :: dev he6 proto kernel metric 256 mtu 1280 advmss 1220 hoplimit 0
2001:db8:4321::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 via :: dev he6 proto kernel metric 256 mtu 1280 advmss 1220 hoplimit 0
default via 2001:db8:1234:567::1 dev he6 metric 1000 mtu 1280 advmss 1220 hoplimit 0
Also, double check to make sure you're using the proper IPv6 addresses (routed /64 or /64 out of routed /48). The IPv6s you're using don't fit the "normal schema" of what I've seen from HE. Normally they change the 3rd quad and leave the 4th the same for routed /64, although if you have a /48 it's a completely different chunk.
Looking closely, I see that I did in fact thumbfinger some of the addresses, most likely by copying and pasting one that I had typed incorrectly.
I cleaned the routing table up by removing all the entries from it, and letting it rebuild itself, and here's what i got.
2001:470:1f06:96f::1 dev he-ipv6 metric 1024 mtu 1480 advmss 1420 hoplimit 0
2001:470:1f06:96f::/64 via :: dev he-ipv6 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 0
fe80::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 0
fe80::/64 via :: dev he-ipv6 proto kernel metric 256 mtu 1480 advmss 1420 hoplimit 0
default via 2001:470:1f06:96f::1 dev he-ipv6 metric 1024 mtu 1480 advmss 1420 hoplimit 0
I'm still able to ping out from the router, but anything behind the router is getting a Request Time Out, and now, I can't even ping the router.
New output from ifconfig
eth1 Link encap:Ethernet HWaddr 00:22:3f:f6:94:ea
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: 2001:470:1f07:96f::1/64 Scope:Global
inet6 addr: fe80::222:3fff:fef6:94ea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3965 errors:0 dropped:0 overruns:0 frame:0
TX packets:4193 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:502668 (490.8 KiB) TX bytes:2225372 (2.1 MiB)
Interrupt:24 Base address:0x2000
he-ipv6 Link encap:IPv6-in-IPv4
inet6 addr: 2001:470:1f06:96f::2/64 Scope:Global
inet6 addr: fe80::c0a8:112/128 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:424 (424.0 B)
radvd.conf
interface eth1 {
AdvLinkMTU 1450;
AdvSendAdvert on;
prefix 2001:470:1f07:96f::/64 {
AdvOnLink on;
AdvAutonomous on;
};
route 2001:470:1f07:96f::1/64 {
AdvRouteLifetime infinity;
AdvRoutePreference high;
};
RDNSS 2001:470:20::2 {
AdvRDNSSOpen on;
AdvRDNSSLifetime infinity;
};
};
And, halt! I solved the entire thing by adding a routing entry by hand that /etc/init.d/networking was refusing to add from an up command in /etc/network/interfaces. Thank you for pointing out my thumb-fingering in the addresses, jimb.