I use https://www.vultr.com/tools/subnet-calculator-ipv6/ to get the "Address Range Start" and "Address Range End" of my Linode VPS, I then added the IPs in /etc/network/interfaces and everything did work as expected.

However I have two different Linode instances now and even though I get different IPv6/64 IPs, when I use the subnet ipv6 calculator, I get identical start range and end range. Why is this happening? How can I get a list of IPv6 ips that I can use?

The two IPs are

2600:3c03::f03c:91ff:fee5:1c9a / 64 
2600:3c03::f03c:91ff:fe60:42fb / 64 
  • In most circumstances, your IPv6 address range will be a /64. Every address in the 64-bit prefix is usable as an address, from the all-zeroes to the all-ones in the last 64 bits. If your two addresses share the same 64-bit prefix, then you will end up with the same address range. You don't specify what the addresses are, so I can't tell if anything is wrong. – Ron Maupin Aug 13 '17 at 17:15
  • @RonMaupin I updated my question with the two IPs – Arya Aug 13 '17 at 17:20

Your IP addresses are constructed from a single /64 link-prefix and the MAC addresses of each VM. The /64 looks like it is shared between all Linode customers in the data center.

That construction will only give you a single IP address per VM. It is likely that Linode have filters in place preventing you from using any other address in that /64 in order to prevent spoofing the IP address of another customer.

If you need more addresses the best solution from a technical point of view is that you get a shorter prefix (somewhere in the range from a /48 to a /60) routed to your VM.

I didn't find much detail on the Linode website, but I did find this:

Each Linode starts off with one global IPv6 address and additional IPv6 addresses can be added at no charge.


Those two addresses are in the same /64 prefix, so the valid address range will be exactly the same: 2600:3c03:: to 2600:3c03::ffff:ffff:ffff:ffff.

The first 64 bits of the address is the network. In this case, it is 2600:3c03::. The valid address range is all zeroes in the last 64 bits to all ones in the last 64 bits.*

That gives you a possible 18,446,744,073,709,551,616 addresses in that network that you can use.

*While IPv6, unlike IPv4, can use every address in a network for a host address, including the network address, and there is no broadcast in IPv6, so there is no broadcast address, the all-zeroes address is reserved for the router anycast address, and the last 127 addresses are reserved for anycast addresses (see RFC 2526, Reserved IPv6 Subnet Anycast Addresses). An anycast address is a unicast address that is shared among several hosts, so all the addresses in an IPv6 network are valid host addresses.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.