Adding second ipv6 address to a linode (Debian 9)

I had the Spamhaus problem, so support set me up with an exclusive /64 IPv6 block. (Thanks!) Now I am trying to make use of it.

I've gotten as far as editing /etc/network/interfaces and /etc/resolv.conf. Auto-configure networking is off.

I can ping6 both of the addresses when I'm on the machine.

% ping6 -c1 2600:3c03::f03c:91ff:fec8:1f24
PING 2600:3c03::f03c:91ff:fec8:1f24(2600:3c03::f03c:91ff:fec8:1f24) 56 data bytes
64 bytes from 2600:3c03::f03c:91ff:fec8:1f24: icmp_seq=1 ttl=64 time=0.060 ms

% ping6 -c1 2600:3c03:e000:2dd::1
PING 2600:3c03:e000:2dd::1(2600:3c03:e000:2dd::1) 56 data bytes
64 bytes from 2600:3c03:e000:2dd::1: icmp_seq=1 ttl=64 time=0.042 ms

But when I try this from another linode, only the primary address works. No joy from 2600:3c03:e000:2dd::1.

Same results with curl 'http://[2600:3c03:e000:2dd::1]'. Works on the machine itself, but hangs from anywhere else.

What am I missing? This is the first time I've messed with /etc/network/interfaces, so my ignorance is large.

My /etc/network/interfaces file:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# Also

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0

# IPv4 gateway and primary address.
iface eth0 inet static

# IPv6 gateway and primary address.
iface eth0 inet6 static
  address 2600:3c03::f03c:91ff:fec8:1f24/64
  gateway fe80::1

# IPv6 secondary address (in assigned block).
iface eth0 inet6 static
  address 2600:3c03:e000:02dd::1/64

5 Replies

Oh, and:

% ip addr | grep inet 
    inet scope host lo
    inet6 ::1/128 scope host 
    inet brd scope global eth0
    inet6 2600:3c03:e000:2dd::1/64 scope global 
    inet6 2600:3c03::f03c:91ff:fec8:1f24/64 scope global 
    inet6 fe80::f03c:91ff:fec8:1f24/64 scope link 

I’ll be honest, I couldn’t spot anything wrong with your config.

Have you done a full reboot - through Manager? The last time I had a prefix assigned to me they advised this may be necessary to allow the platform to pick up the routing.

I’ve always done a full reboot like this just to make sure my config was correct on boot, and I didn’t get any surprises the next time I did a routine reboot!

Hello @zarfiftf
Did you ever find a solution to this? I have exactly the same behaviour as you are experiencing. I have tried numerous things in the /etc/network/interfaces file - starting with the equivalent of what you have.

It is as if the routing outside of the box might not be in place.

I may have a possible solution to this situation, given my own experiences using secondary IPV6 addresses as the outgoing address.

Sometimes, Linux seems to use the first IPV6 address added to an interface as the outgoing address. So, things could be switched slightly in the configuration file posted above, like this.

# IPv6 gateway and primary address (in assigned block).
iface eth0 inet6 static
  address 2600:3c03:e000:02dd::1/64
  gateway fe80::1

# IPv6 secondary address.
iface eth0 inet6 static
  address 2600:3c03::f03c:91ff:fec8:1f24/64

Thanks for that. I have tried the addresses in different orders. I just can't get out through the assigned address. I can access it locally - ping, telnet to port 80 on webserver etc. However, doing something like

curl -6 --interface 2600:3c01:e000:2fe::1

won't get out. However, using the SLAAC address it will.

Can't see anything specific in the firewall config.

Behaves like a local address.


Please enter an answer

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] (

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct