Ping IPv4 addresses from an IPv6 host

ipv4ipv6

So, I've been given to believe that IPv6-only clients can access IPv4 servers by using addresses like: ::ffff:0:74.125.226.80 (that would be an address for google.com). I'm not IPv6 yet, but I may be soon. I have a miredo/teredo tunnel set up and I can ping normal IPv6 addresses just fine, but when I run:

ping6 ::ffff:0:74.125.226.80

it fails (Destination unreachable: Address unreachable)

Am I misunderstanding something? Can I actually get to IPv4 hosts over my IPv6 connection?

Best Answer

::ffff:0:74.125.226.80 is a dotted-decimal address, and not a real IPv6 address.

If you only have full, world-routable IPv6 address (with prefix and a /48) then you cannot communicate with the IPv4 world without a special tunnel.

They are for all intents and purposes two different protocols. You have two choices for communication between the two:

  • Dual-stack. Have both IPv4 (behind a NAT if need be) AND IPv6 (with a world-routable IP, and a link-local address) installed and configured. OS's will try to use IPv6 first, and fall back to IPv4 if that fails. Just make sure you're configured correctly (not a dotted-decimal address like above) and it works pretty seamlessly.

  • Tunnelling. If you have an IPv6 device, it needs to be aware of an IPv4 tunnel that it can use to broker your connections to the IPv4 world.