[CentOS] IPv6 on Centos 6

Sat Aug 11 00:24:12 UTC 2012
Alan Batie <alan at peak.org>

We've been running ipv6 for a year or so now, but some of our newer
instances (all on an ESX cluster) are not working.  It looks like it's
all of our Centos 6 instances.  I'm hoping someone can point me in the
right direction...

tshark indicates that it's neighbor discovery that's failing:

<centos666.peak.org> [26] # cat ../network
NETWORKING=yes
HOSTNAME=centos666.peak.org
GATEWAY=207.55.16.1
NETWORKING_IPV6=yes
IPV6_AUTOTUNNEL=no
IPV6_DEFAULTGW=2607:f678::1

<centos666.peak.org> [27] # cat ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE=Ethernet
BOOTPROTO=none
IPADDR=207.55.16.66
PREFIX=22
GATEWAY=207.55.16.1
DNS1=69.59.192.71
DNS2=69.59.192.72
DOMAIN=peak.org
DEFROUTE=yes
IPV6INIT=yes
NAME="System eth0"
IPV6_AUTOCONF=no
IPV6ADDR=2607:f678::16:66/64
IPV6_DEFROUTE=yes

<centos666.peak.org> [28] # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:98:70:8B
          inet addr:207.55.16.66  Bcast:207.55.19.255  Mask:255.255.252.0
          inet6 addr: fe80::250:56ff:fe98:708b/64 Scope:Link
          inet6 addr: 2607:f678::16:66/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1862 errors:0 dropped:0 overruns:0 frame:0
          TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:136703 (133.4 KiB)  TX bytes:33944 (33.1 KiB)

ipv6 is working locally:

<centos666.peak.org> [29] # ping6 2607:f678::16:66
PING 2607:f678::16:66(2607:f678::16:66) 56 data bytes
64 bytes from 2607:f678::16:66: icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from 2607:f678::16:66: icmp_seq=2 ttl=64 time=0.038 ms
^C
--- 2607:f678::16:66 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1870ms
rtt min/avg/max/mdev = 0.038/0.039/0.040/0.001 ms

but not on the lan:

<centos666.peak.org> [5] # ping6 2607:f678::1
PING 2607:f678::1(2607:f678::1) 56 data bytes
>From 2607:f678::16:66 icmp_seq=2 Destination unreachable: Address
unreachable
>From 2607:f678::16:66 icmp_seq=3 Destination unreachable: Address
unreachable
>From 2607:f678::16:66 icmp_seq=4 Destination unreachable: Address
unreachable
>From 2607:f678::16:66 icmp_seq=6 Destination unreachable: Address
unreachable
>From 2607:f678::16:66 icmp_seq=7 Destination unreachable: Address
unreachable
>From 2607:f678::16:66 icmp_seq=8 Destination unreachable: Address
unreachable
^C
--- 2607:f678::1 ping statistics ---
8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7892ms


tshark for that ping:

<centos666.peak.org> [38] # tshark -n -i eth0 ip6
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
  0.000000 2607:f678::16:66 -> ff02::1:ff00:1 ICMPv6 Neighbor solicitation
  1.000019 2607:f678::16:66 -> ff02::1:ff00:1 ICMPv6 Neighbor solicitation
  2.000043 2607:f678::16:66 -> ff02::1:ff00:1 ICMPv6 Neighbor solicitation
  4.001030 2607:f678::16:66 -> ff02::1:ff00:1 ICMPv6 Neighbor solicitation
  5.001076 2607:f678::16:66 -> ff02::1:ff00:1 ICMPv6 Neighbor solicitation
  6.001045 2607:f678::16:66 -> ff02::1:ff00:1 ICMPv6 Neighbor solicitation
^C6 packets captured


A centos 5.8 vm with the same virtual network connections works fine:

<ns6.peak.org> [103] # ping6 2607:f678::1
PING 2607:f678::1(2607:f678::1) 56 data bytes
64 bytes from 2607:f678::1: icmp_seq=0 ttl=64 time=1.34 ms
64 bytes from 2607:f678::1: icmp_seq=1 ttl=64 time=0.894 ms
64 bytes from 2607:f678::1: icmp_seq=2 ttl=64 time=0.871 ms

--- 2607:f678::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.871/1.035/1.342/0.219 ms, pipe 2
<ns6.peak.org> [104] # ping6 ipv6.google.com
PING ipv6.google.com(pz-in-x67.1e100.net) 56 data bytes
64 bytes from pz-in-x67.1e100.net: icmp_seq=0 ttl=52 time=14.1 ms
64 bytes from pz-in-x67.1e100.net: icmp_seq=1 ttl=52 time=14.3 ms
64 bytes from pz-in-x67.1e100.net: icmp_seq=2 ttl=52 time=14.3 ms

--- ipv6.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 14.185/14.296/14.380/0.081 ms, pipe 2

<ns6.peak.org> [489] # tshark -i eth0 -n ip6
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
  0.000000 2607:f678::56 -> 2607:f678::1 ICMPv6 Echo request
  0.000720 2607:f678::1 -> 2607:f678::56 ICMPv6 Echo reply
  1.000990 2607:f678::56 -> 2607:f678::1 ICMPv6 Echo request
  1.001759 2607:f678::1 -> 2607:f678::56 ICMPv6 Echo reply
  2.001004 2607:f678::56 -> 2607:f678::1 ICMPv6 Echo request
  2.001841 2607:f678::1 -> 2607:f678::56 ICMPv6 Echo reply
  3.002983 2607:f678::56 -> 2607:f678::1 ICMPv6 Echo request
  3.003680 2607:f678::1 -> 2607:f678::56 ICMPv6 Echo reply
  4.003991 2607:f678::56 -> 2607:f678::1 ICMPv6 Echo request
  4.010478 2607:f678::1 -> 2607:f678::56 ICMPv6 Echo reply
  4.650129 2607:f678::1 -> 2607:f678::56 ICMPv6 Neighbor solicitation
  4.650171 2607:f678::56 -> 2607:f678::1 ICMPv6 Neighbor advertisement
12 packets captured