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 https://www.linode.com/docs/guides/linux-static-ip-configuration/
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
address 45.79.180.30/24
gateway 45.79.180.1
# 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 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
inet 45.79.180.30/24 brd 45.79.180.255 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 http://www.usenix.org.uk/content/rblcheck
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.