Ping IPv6 IP Address With ping6 Command

last updated in Categories , , , ,

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?

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
$ ping6 IPv6-address
$ ping6 2001:4860:b002::68

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

PING 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

--- 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, type:
$ host -t AAAA
Sample outputs: 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
--- 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
$ 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!!'


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
ping -6 2607:f0d0:1002:51::4


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

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


16 comment

  1. I got:
    $ ping6
    connect: Network is unreachable

    Does it means my network didn’t give me an ipv6 address?
    On I got:

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

    1. 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.

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

  2. 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……..”

  3. How can I configure my IPv6 address on the file: /etc/sysconfig/network/ifcfg-lo on openSuse 13.2?

    I tryed:

    but it´s not working.
    When I add the address by command: ip -6 address add 2804:CC4::4/128 dev lo
    It works.

    Could ypu help me?

  4. I cannot ping without mentioning the interface

    $ ping6 fe80::20c:29ff:fe4e:691c
    connect: Invalid argument

    $ ping6 fe80::20c:29ff:fe4e:691c%eth1
    PING fe80::20c:29ff:fe4e:691c%eth1(fe80::20c:29ff:fe4e:691c) 56 data bytes
    64 bytes from fe80::20c:29ff:fe4e:691c: icmp_seq=1 ttl=64 time=0.031 ms
    64 bytes from fe80::20c:29ff:fe4e:691c: icmp_seq=2 ttl=64 time=0.036 ms

    Perhaps you have a single interface in your box?

Leave a Comment