Solved Can't ping6 anywhere with IPv6

Hi, wondering if I can get a bit of help with IPv6.
Following instructions in FreeBSD Handbook have the following in /etc/rc.conf for IPv6:

Code:
ifconfig_em0_ipv6="inet6 accept_rtadv"
rtsold_enable="YES"
ipv6_defaultrouter="2607:xxxx:1001::1"
ifconfig_em0_ipv6="inet6 2607:xxxx:1001:0000:0000:0000:0000:00a1 prefixlen 64"

Other than ping6 to itself, gets 100% packet loss.
Code:
# ping6 2607:xxxx:1001::a1
PING6(56=40+8+8 bytes) 2607:xxxx:1001::a1 --> 2607:xxxx:1001::a1
16 bytes from 2607:xxxx:1001::a1, icmp_seq=0 hlim=64 time=0.287 ms

# ping6 google.com
PING6(56=40+8+8 bytes) 2607:xxxx:1001::a1 --> 2607:f8b0:400b:80e::200e
^C
--- google.com ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
We have other VM's on the network running other OS's and they can ping6 anywhere and can be ssh'd to using their IPv6 addresses.

Normally we run pf but in trying to debug this issue, rc.conf has pf off:
Code:
pf_enable="NO"

Thanks for your help!
 
Hi SirDice, are you saying to remove:
Code:
ifconfig_em0_ipv6="inet6 accept_rtadv"
rtsold_enable="YES"

and just have the two lines:
Code:
ipv6_defaultrouter="2607:xxxx:1001::1"
ifconfig_em0_ipv6="inet6 2607:xxxx:1001:0000:0000:0000:0000:00a1 prefixlen 64"

Thanks.
 
Yes, use set 1 for SLAAC or set 2 for statics, not both.
 
Hi SirDice,
Using set 2 only, rebooted the server.. tried again..

Code:
# ifconfig_em0_ipv6="inet6 accept_rtadv"
# rtsold_enable="YES"
# ipv6_defaultrouter="2607:xxxx:1001:0000:0000:0000:0000:0001"
ipv6_defaultrouter="2607:xxxx:1001::1"
ifconfig_em0_ipv6="inet6 2607:xxxx:1001:0000:0000:0000:0000:00a1 prefixlen 64"
Code:
# ping6 2607:xxxx:1001::1  (our gateway)
PING6(56=40+8+8 bytes) 2607:xxxx:1001::a1 --> 2607:xxxx:1001::1
^C
--- 2607:xxxx:1001::1 ping6 statistics ---
6 packets transmitted, 0 packets received, 100.0% packet loss
Thanks.
 
Make sure it's not something obvious like the wrong addresses or gateway address. Also make sure the traffic isn't blocked by a firewall, either local or somewhere in between this machine and the gateway.
 
Hi SirDice,
Using the same gateway as other slave servers and KVM VM's use which do not exhibit this behavior.

Slave Server:
Code:
# ping6 google.com
PING google.com(yyz10s13-in-x0e.1e100.net) 56 data bytes
64 bytes from yyz10s13-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=4.28 ms

From a VM:
# ping6 google.com
PING google.com(yyz10s13-in-x0e.1e100.net) 56 data bytes
64 bytes from yyz10s13-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=3.98 ms

Below is routing table from the FreeBSD Server:

Code:
This FreeBSD Server
# netstat -6nr
Routing tables

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::/96                             ::1                           UGRS        lo0
default                           2607:xxxx:1001::1             UGS         em0
::1                               link#3                        UH          lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
2607:xxxx:1001::/64               link#1                        U           em0
2607:xxxx:1001::a1                link#1                        UHS         lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%em0/64                     link#1                        U           em0
fe80::216:3cff:feac:4ab7%em0      link#1                        UHS         lo0
fe80::%lo0/64                     link#3                        U           lo0
fe80::1%lo0                       link#3                        UHS         lo0
ff01::%em0/32                     2607:xxxx:1001::a1            U           em0
ff01::%lo0/32                     ::1                           U           lo0
ff02::/16                         ::1                           UGRS        lo0
ff02::%em0/32                     2607:xxxx:1001::a1            U           em0
ff02::%lo0/32                     ::1                           U           lo0


From a linux VM

Code:
netstat --protocol=inet6 -nr
Kernel IPv6 routing table
Destination                                 Next Hop                                Flags Metric Ref    Use Iface
2607:xxxx:1001::/64                         ::                                      U     256    1        0 eth0
fe80::/64                                   ::                                      U     256    0        0 eth0
::/0                                        2607:xxxx:1001::1                       UG    1      34031       0 eth0
::1/128                                     ::                                      U     0      182       1 lo
2607:xxxx:1001::b0d5:386b/128               ::                                      U     0      74326       1 lo
fe80::216:3cff:fedf:7e07/128                ::                                      U     0      0        1 lo
ff02::1/128                                 ff02::1                                 UC    0      1318       0 eth0
ff00::/8                                    ::                                      U     256    0        0 eth0

Not sure at all what is preventing the FreeBSD Server to not be able to use IPv6 but its definitely not the firewall on our router or all other hosts behind it would not be able to get out on IPv6.

Thanks.
 
Using the same gateway as other slave servers and KVM VM's use which do not exhibit this behavior.
You may want to take a closer look at the VM configuration itself. From FreeBSD's point of view these settings are correct and should work. But the VM configuration might be the one that's interfering.
 
Think the problem is solved.
Since the FreeBSD Server is a VM, our hosting side has 'assigned addresses' and using SLAAC which I believe are the two lines in /etc/rc.conf

Code:
# ifconfig_em0_ipv6="inet6 accept_rtadv"
# rtsold_enable="YES"

Do NOT pull the assigned address(s) which are required. The VM creation software has ipstealing enabled so if the address used is not an assigned address, the VM is prevented from using it.

I appreciate your help SirDice as always.
 
Back
Top