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.
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
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 22.214.171.124/24 gateway 126.96.36.199 # 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
% ip addr | grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 188.8.131.52/24 brd 184.108.40.206 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!
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.