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?
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
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
www.cyberciti.biz has IPv6 address 2607:f0d0:1002:51::4
Type the following command:
$ ping6 2607:f0d0:1002:51::4
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
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!!'
lsmod | grep -qw ipv6 && echo "IPv6 kernel driver loaded and configured." || echo "IPv6 not configured and/or driver loaded on the system."
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
Read ping6 man page for more information:
$ man 8 ping6