15.1. Testing Your Linux System for IPv6 Support

How do you know if your Linux system supports IPv6 and is ready to use it?

There are a few basic tests you can run to check your system for IPv6 readiness.

First, check kernel support:

	$ cat /proc/net/if_inet6
	00000000000000000000000000000001 01 80 10 80       lo
	fe8000000000000002036dfffe0083cf 02 40 20 80     eth0

The file /proc/net/if_inet6 must exist, and this example shows two up interfaces with IPv6 addresses. You can also see if the IPv6 kernel module is loaded:

	$ lsmod |grep -w 'ipv6'
	ipv6       268960 12

Now, ping6 localhost:

	$ ping6 -c4 ::1
	PING ::1(::1) 56 data bytes
	64 bytes from ::1: icmp_seq=1 ttl=64 time=0.047 ms
	64 bytes from ::1: icmp_seq=2 ttl=64 time=0.049 ms
	64 bytes from ::1: icmp_seq=3 ttl=64 time=0.049 ms
	64 bytes from ::1: icmp_seq=4 ttl=64 time=0.049 ms

	--- ::1 ping statistics --
	4 packets transmitted, 4 received, 0% packet loss, time 3000ms
	rtt min/avg/max/mdev = 0.047/0.048/0.049/0.007 ms
	All systems are go for IPv6.

As the output says, you are good to go.

All Linux distributions from this century should support IPv6 without needing any extra configuration. If yours doesn't, which would be very unusual, you'll need to use the documentation for your distribution to figure out what to do. Peter Bieringer's "Linux IPv6 HOWTO" (http://tldp.org/HOWTO/Linux+IPv6-HOWTO/index.html) should also be helpful.