Understanding IPv6 on Contabo VPS: Why You May Only See One Usable Address

A large number of VPS providers promote the use of the IPv6 protocol with a full /64 block. Theoretically that would allow you to allocate and utilize billions of unique IPv6 addresses on your server. Nonetheless, there have been multiple reports of a confusing situation with several users operating the Contabo EU nodes, the assigned subnet is /64, but only one IPv6 address is reliable.

The Issue Users Encounter

A common case goes like this:

  1. The VPS is configured to accept IPv6 subnet (such as xxxx:xxxx:xxxx:xxxx::/64).
  2. The server sets the address of the first address in that block (typically terminating with ::1) automatically.
  3. Inbound connections of that primary IPv6 work well. Pings to the IPv6 DNS servers of Google are successful, latency appears to be okay and also there is correct routing of inbound traffic.
  4. However, when users manually allocate other IPv6 addresses of the same block (::2, ::3, ::10), it breaks down.
  • At other nodes, the additional addresses are not able to make any connection out of them (100% packet loss).
  • Outbound traffic is never masqueraded or NAT666ed on other nodes, and the addresses can be added locally. Whichever address is utilized, the world will only see one fixed IP.

How to Test if Your IPv6 Block is Routed

If you want to confirm whether your Contabo IPv6 block supports multiple addresses, here are the steps:

  1. Add some test IPv6 addresses
# Add extra IPv6 addresses from your /64
for i in {10..15}; do
ip -6 addr add xxxx:xxxx:xxxx:xxxx::$i/64 dev eth0
done

2. Send outbound requests with each IPv6

for i in {10..15}; do
echo "Testing ::$i"
curl -6 -s --interface xxxx:xxxx:xxxx:xxxx::$i https://ifconfig.co/ip
done

3. Interpret the results

  • In case all tests come back as different IPv6s — You have a routed /64.
  • When the first address only works — only the primary address can be used, the subnet is not routed.
  • When all the addresses are the same external IPv6 — The provider is operating based on NAT66, and real IPv6 rotation cannot be made.

Visual Explanation

Here’s a simple way to visualize the difference:

Case A: Routed IPv6 /64 (ideal)

Your VPS (eth0)
├── ::1 → Seen as ::1
├── ::2 → Seen as ::2
├── ::3 → Seen as ::3

Each IPv6 is unique and visible on the internet.

Case B: Non-routed /64 (Contabo common case)

Your VPS (eth0)
├── ::1 → Seen as ::1
├── ::2 → X (not reachable)
├── ::3 → X (not reachable)

Only one IPv6 is usable.

Case C: NAT66 / masqueraded setup

Your VPS (eth0)
├── ::10 → Seen as ::15
├── ::11 → Seen as ::15
├── ::12 → Seen as ::15

All addresses collapse into one external IPv6.

Why It Matters

A single IPv6 address is not an issue to the majority of users. Simple web hosting, email servers, and application backends are all acceptable using a single address.

However, in some applications, including: running Lavalink audio nodes load balancing or IP rotation of rate-limited services a single IPv6 wins the race of being assigned a /64.

The Solution

You will need to submit a support request and request a routed IPv6 subnet specifically in case you require real IPv6 rotation on a Contabo VPS. With a routed block:

  • You are able to give your server several IPv6 addresses (::2, ::3, ::100…).
  • The individual addresses will be accessible on the internet.
  • Applications which are dependent on IP rotation will eventually get the full /64.

Takeaway

The nodes of Contabo that are connected to the EU VPS technically support an IPv6 subnet, although you will only have one practical IPv6 address depending on how the server is configured. When actual IPv6 rotation is needed in your project, the safest route is to ask Contabo support to provide you with a properly routed block.

It is not a bug in Ubuntu or Docker networking, but it is a weakness in the implementation of the provider routes IPv6. It is best to know this up front and save yourself hours of troubleshooting and can select the correct plan to suit your needs.

from Stories by Thiranjaya Sundarapperuma on Medium https://ift.tt/0kXrFSu
via IFTTT

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top