Check that IPv6 works

Every server gets one IPv6 address, set up on its first boot. How to check it works from inside and outside, and what to do if a config change broke it.

Every VPSNine server gets one IPv4 address and one IPv6 address. The panel shows both on the server's page, and vps9 servers show prints them too.

There's nothing to set up. On the first boot, cloud-init writes the network settings for you: both addresses on eth0, a default route for each, and DNS servers. On Ubuntu they end up in /etc/netplan/50-cloud-init.yaml. Debian 12 may keep them under /etc/network/interfaces.d/ instead.

The examples below use 2001:db8:9::2, an address reserved for documentation. Use the one from your server's page.

Check it from the server

bash
ip -6 addr show dev eth0 scope global
ip -6 route show default

The first should list your address. The second should have a default via line. Then try a real connection:

bash
curl -6 -sI https://example.com

An HTTP/ status line means IPv6 works.

Check it from outside

From another machine that has IPv6:

bash
ping -6 -c 3 2001:db8:9::2
ssh root@2001:db8:9::2

If your own connection has no IPv6, ping fails with Network is unreachable before it ever leaves your machine. That's your end, not the server. Try from another server instead.

If you use ufw, it already covers IPv6 (IPV6=yes in /etc/default/ufw is the default), so the rules you set apply to both addresses.

One address, not a range

Your server has one IPv6 address. Don't add others from the same network to it: they belong to other customers' servers, and the host firewall drops traffic from any address that isn't yours.

If it stopped working

It almost always follows a change to the network config.

  • No global address in ip -6 addr. The config that set it is gone or was edited. If you kept a copy of the original file, put it back. On Ubuntu, test with netplan try: it rolls back after 120 seconds unless you press Enter, so a mistake can't lock you out for good.
  • The address is there but curl -6 hangs. The default route is missing. Check ip -6 route show default.
  • RTNETLINK answers: File exists. You tried to add an address or route that's already set. Nothing is wrong.
  • You lost SSH after the change. Log in on the serial console to fix the file. It needs a root password, so set one in advance with passwd.

If you don't have the original file, open a support ticket with the server's name and we'll send you the values to put back. The panel doesn't show the IPv6 gateway, so you can't rebuild the file from it alone. Reinstalling the server from the panel also brings back a working setup, but it wipes the disk.

Be first when orders open

Join the waitlist and we'll send you one email when VPSNine launches. Pick a plan if you already know which one you want, and we'll size the first servers around it.