If I ping6 external ipv6 hostnames or addresses (e.g. ipv6.google.com) it works, but if I try to ping6 an ipv6 hostname or address it doesn't work. If I ping the same address from a windows machine on the LAN, it works. Why would this happen?

Target Machines are running Windows 7 or Server 2008 R2 and Teredo My machine is running Ubuntu 10.04 and Miredo

link|improve this question

33% accept rate
Please provide examples of how you are pinging the machine. – Jeremy Visser Feb 21 '11 at 11:57
feedback

migrated from stackoverflow.com Feb 21 '11 at 11:23

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 1 down vote accepted

You might want to try pinging the link-local address to narrow it down between a firewall or other networking problem between the two hosts, and a Teredo problem. I have heard of problems where, when using Teredo-based IPv6 addresses, you cannot ping other machines on your own subnet. For example, I can ping a Windows 7 machine on the same network as my Ubuntu machine by doing this (on my Ubuntu machine):

$ ping6 -c 5 -I eth0 fe80::e1ce:694a:18c0:6530

Note, the -I argument is important when pinging a link-local address because otherwise the host OS has no way to know which link-local interface you're talking about. (for all it knows, you want to use the Teredo interface, or the loopback interface, for example.)

link|improve this answer
It works if I add the -I eth0 argument! Thanks! I wonder why ping6 wouldn't pick eth0 first though just like ping does – David Feb 22 '11 at 6:33
@David, it can't pick eth0 because the address alone is not enough information - all interfaces have a link-local address in the fe80::/64 subnet. if you have a global unicast address assigned to the interface, the per-interface distinction would not be needed. If the address starts with fe80::, it is a link-local address and requires an interface to "scope" the request. Sometimes you'll see the scope written after the address, such as fe80::1%eth0. (all that said; I think you're right in that if there was only one non-loopback interface, the system should pick that one.) – Mike Feb 22 '11 at 6:42
feedback

I'm not sure exactly what you're trying to ping, but if you're trying to ping a Windows machine then Windows Firewall may be blocking the ping request - disable it and it should work.

link|improve this answer
Windows firewall can't be the problem because I can ping from other windows machines, just not from my Ubuntu machine – David Feb 22 '11 at 6:32
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.