Ping IPv6 IP Address With ping6 Command

by on February 12, 2008 · 11 comments· LAST UPDATED June 12, 2013

in , ,

I'm unable to ping an IPv6 address. I'm getting error:

ping 2001:db8::1428:57ab
ping: unknown host 2001:db8::1428:57ab

My network and Linux based operating system is configured for IPv6 IP address. How do I ping an IPv6 address on Linux?

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
Requirementsping6
Estimated completion timeLess than a minute
Regular ping command only works with IPv4 address. Use ping6 command to send ICMPv6 ECHO_REQUEST packets to network hosts from a host or gateway. This command uses the ICMPv6 protocol's mandatory ICMP6_ECHO_REQUEST datagram to elicit an ICMP6_ECHO_REPLY from a host or gateway. ICMP6_ECHO_REQUEST datagrams (pings) have an IPv6 header, and ICMPv6 header formatted as documented in RFC2463. The ping6 command available on Linux, BSD, Apple OS X and other Unix-like operating systems. MS-Widows user can use ping -6 command as described here.

ping to IPv6 host example

Type the command as follows:
$ ping6 localhost
$ ping6 host.domain.com
$ ping6 IPv6-address
$ ping6 2001:4860:b002::68

The best way is to ping global website such as ipv6.google.com, enter:
$ ping6 ipv6.google.com
Sample outputs:

ping6 ipv6.google.com
PING ipv6.google.com(2001:4860:b002::68) 56 data bytes
64 bytes from 2001:4860:b002::68: icmp_seq=0 ttl=59 time=58.4 ms
64 bytes from 2001:4860:b002::68: icmp_seq=1 ttl=59 time=56.4 ms
64 bytes from 2001:4860:b002::68: icmp_seq=2 ttl=59 time=62.1 ms
64 bytes from 2001:4860:b002::68: icmp_seq=3 ttl=59 time=56.8 ms
64 bytes from 2001:4860:b002::68: icmp_seq=4 ttl=59 time=56.5 ms
64 bytes from 2001:4860:b002::68: icmp_seq=5 ttl=59 time=59.5 ms
--- ipv6.google.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5002ms
rtt min/avg/max/mdev = 56.443/58.329/62.150/2.045 ms, pipe 2

ping by an IPv6 IP address

First, use the host command to find out IPv6 address for www.cyberciti.biz, type:
$ host -t AAAA www.cyberciti.biz
Sample outputs:

www.cyberciti.biz has IPv6 address 2607:f0d0:1002:51::4

Type the following command:
$ ping6 2607:f0d0:1002:51::4
Sample outputs:

PING 2607:f0d0:1002:51::4(2607:f0d0:1002:51::4) 56 data bytes
64 bytes from 2607:f0d0:1002:51::4: icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from 2607:f0d0:1002:51::4: icmp_seq=2 ttl=64 time=0.027 ms
64 bytes from 2607:f0d0:1002:51::4: icmp_seq=3 ttl=64 time=0.021 ms
64 bytes from 2607:f0d0:1002:51::4: icmp_seq=4 ttl=64 time=0.023 ms
^C
--- 2607:f0d0:1002:51::4 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3831ms
rtt min/avg/max/mdev = 0.021/0.031/0.056/0.015 ms

One more example:
$ host -t AAAA www.google.com
$ ping6 -c 4 2607:f8b0:4000:805::1010

Sample outputs:

Fig.01: ping6 command in action

Fig.01: ping6 command in action

How do I confirm that IPv6 is configured or working on my Linux based system?

Type the following commands (see How To Test Linux Operating System for IPv6 Networking Support for more info):

 
[ -f /proc/net/if_inet6 ] && echo 'IPv6 ready system!' || echo 'No IPv6 support found! Compile the kernel!!'
 

And

 
lsmod | grep -qw ipv6 && echo "IPv6 kernel driver loaded and configured." || echo "IPv6 not configured and/or driver loaded on the system."
 

Sample outputs:

Fig.02: Verifying Linux IPv6 support.

Fig.02: Verifying Linux IPv6 support.


A note about MS-Windows XP/7/8/server users

You can test an IPv6 connection by using the ping command. At a command prompt, type:
ping -6 www.cyberciti.biz
ping -6 2607:f0d0:1002:51::4

References

Read ping6 man page for more information:
$ man 8 ping6

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 11 comments… read them below or add one }

1 dalia July 19, 2008 at 12:49 pm

ping ipv6 between windows and linux

Reply

2 dalia July 19, 2008 at 1:11 pm

ping ipv6 in windows

Reply

3 Sandi April 9, 2010 at 7:33 pm

Try pinging the loopback 127.0.0.1 and see what you get.

Reply

4 Sandi April 9, 2010 at 7:34 pm

or try ::1 which is correct for IPv6.

Reply

5 Brian May 26, 2010 at 6:38 pm

I couldn’t get PING6 to work… but noticed that PING uses PING -6 #### to work…

Reply

6 sohbet May 9, 2011 at 8:54 pm

Good and many many thanks buddy really nice great post and keep up the good work

Reply

7 Calle June 14, 2011 at 8:20 pm

On Windoze you will use ‘PING -6′, on -NIX you will use ‘PING6′.

Reply

8 Antonello June 6, 2012 at 9:15 am

I got:
$ ping6 ipv6.google.com
connect: Network is unreachable

Does it means my network didn’t give me an ipv6 address?
On http://ipv6test.google.com/ I got:

“No problems detected.
You don’t have IPv6, but you shouldn’t have problems on websites that add IPv6 support.”

Reply

9 Hans June 12, 2013 at 9:47 am

Note the word ‘add’ in this misleading answer. It says, that your software is ready, but your ISP is not. But your computer will know how to ask for the IPv4-version of the site.

Reply

10 Antonello June 12, 2013 at 11:36 am

thank you .. by now I already changed ISP.. but I admit nothing to do with IPv6.. not yet on top of my priorities ;-)

Reply

11 jeremy wentworth July 25, 2013 at 12:32 pm

On a mac, if you get “ping6: UDP connect: No route to host”
Then, add your interface as an argument “ping6 -I en2 fe80::aa……..”

Reply

Leave a Comment

Tagged as: , , , , , , , , ,

Previous Faq:

Next Faq: