Failure to ping IPv6 address in Gentoo

I'm using Gentoo and failed to ping IPv6 address by the following command

ping6 ipv6.google.com -c 3

The result is 100% packet loss.

I have contacted Linode support and checked several areas. Linode support said it's quite tough to diagnose the problem and suggested me to seek support in the forum.

I have checked IPv6 privacy extension is disabled.

  • content of /proc/sys/net/ipv6/conf/eth0/use_tempaddr is '0'.

Please refer to the output of the several related commands for reference. Thanks a lot.

ifconfig

–------

eth0: flags=4163 mtu 1500

inet 106.187.97.149 netmask 255.255.255.0 broadcast 106.187.97.255

inet6 2400:8900::2858:6484:e8ea:e61 prefixlen 64 scopeid 0x0 inet6 fe80::f03c:91ff:fe96:2d21 prefixlen 64 scopeid 0x20

ether f2:3c:91:96:2d:21 txqueuelen 1000 (Ethernet)

RX packets 275726 bytes 46460135 (44.3 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 317620 bytes 101092501 (96.4 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ip -6 route


2400:8900::/64 dev eth0 proto kernel metric 3 mtu 1500

fe80::/64 dev eth0 proto kernel metric 256

default via fe80::1 dev eth0 metric 3 mtu 1500

ip -6 addr


1: lo: mtu 65536

inet6 ::1/128 scope host

validlft forever preferredlft forever

3: eth0: mtu 1500 qlen 1000

inet6 2400:8900::2858:6484:e8ea:e61/64 scope global dynamic

validlft 2591985sec preferredlft 604785sec

inet6 fe80::f03c:91ff:fe96:2d21/64 scope link

validlft forever preferredlft forever

ip -6 neigh


fe80::8678:acff:fe5a:15c1 dev eth0 lladdr 84:78:ac:5a:15:c1 router STALE

fe80::1 dev eth0 lladdr 00:05:73:a0:0f:ff router STALE

fe80::8678:acff:fe0d:95c1 dev eth0 lladdr 84:78:ac:0d:95:c1 router STALE

sysctl -a | egrep 6.eth0.forwarding


net.ipv6.conf.eth0.forwarding = 1

sysctl -a | grep conf.eth0.accept_ra


net.ipv6.conf.eth0.accept_ra = 1

net.ipv6.conf.eth0.acceptradefrtr = 1

net.ipv6.conf.eth0.acceptrafrom_local = 0

net.ipv6.conf.eth0.acceptrapinfo = 1

net.ipv6.conf.eth0.acceptrartrpref = 1up>

9 Replies

Can you show the output of "ip6tables-save"?

I wonder if ping6 fe80::1 -I 2400:8900::2858:6484:e8ea:e61 would work.

@retrograde inversion:

Can you show the output of "ip6tables-save"?

# Generated by ip6tables-save v1.4.21 on Wed Jan 28 15:56:40 2015
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [151:13512]
:POSTROUTING ACCEPT [151:13512]
COMMIT
# Completed on Wed Jan 28 15:56:40 2015
# Generated by ip6tables-save v1.4.21 on Wed Jan 28 15:56:40 2015
*security
:INPUT ACCEPT [2953:296040]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [582:46372]
COMMIT
# Completed on Wed Jan 28 15:56:40 2015
# Generated by ip6tables-save v1.4.21 on Wed Jan 28 15:56:40 2015
*raw
:PREROUTING ACCEPT [2933:294184]
:OUTPUT ACCEPT [506:38976]
COMMIT
# Completed on Wed Jan 28 15:56:40 2015
# Generated by ip6tables-save v1.4.21 on Wed Jan 28 15:56:40 2015
*mangle
:PREROUTING ACCEPT [2933:294184]
:INPUT ACCEPT [2933:294184]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [506:38976]
:POSTROUTING ACCEPT [506:38976]
COMMIT
# Completed on Wed Jan 28 15:56:40 2015
# Generated by ip6tables-save v1.4.21 on Wed Jan 28 15:56:40 2015
*filter
:INPUT ACCEPT [2933:294184]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [506:38976]
COMMIT
# Completed on Wed Jan 28 15:56:40 2015

Are you using dhcpcd?

@XReaper:

I wonder if ping6 fe80::1 -I 2400:8900::2858:6484:e8ea:e61 would work.

Same result - 100% packet loss.

@dwfreed:

Are you using dhcpcd?

Yes, and already used 'ipv6' USE flag in make.conf to make all software IPv6 compatible.

Linode support has mentioned that it my Linode has the following IPv6 addresses set:

2400:8900::2858:6484:e8ea:e61/64 (Global)

fe80::f03c:91ff:fe96:2d21/64 (Link Local)

But it should be the followings for IPv6 privacy extensions is disabled.

2400:8900::f03c:91ff:fe96:2d21/128 (Global)

fe80::f03c:91ff:fe96:2d21/128 (Link Local)

He suspected IPv6 privacy extensions is enabled that caused SLAAC to have issues and give you Linode the wrong IPv6 address. However, IPv6 privacy extensions is actually DISABLED in my Gentoo Linode.

dhcpcd defaults to doing a new method for privacy extensions, which generates stable addresses based on a secret key stored on the machine combined with the prefix from the router advertisement. However, this still doesn't work on Linode, because you must use the EUI-64-based SLAAC address. To disable this behavior in dhcpcd, remove 'slaac private' from your /etc/dhcpcd.conf.

@dwfreed:

dhcpcd defaults to doing a new method for privacy extensions, which generates stable addresses based on a secret key stored on the machine combined with the prefix from the router advertisement. However, this still doesn't work on Linode, because you must use the EUI-64-based SLAAC address. To disable this behavior in dhcpcd, remove 'slaac private' from your /etc/dhcpcd.conf.

The problem is solved, thank you so much. :D

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct