X
X

Select Your Currency

$ US Dollar Euro £ British Pound
X
X

Select Your Currency

$ US Dollar Euro £ British Pound

Knowledge Base

HomepageKnowledge BaseNew VirtFusion Based VPS[Bug] On Ubuntu, IPv6 doesn't work....

[Bug] On Ubuntu, IPv6 doesn't work. How to fix this?

Last Updated: 29-01-2026

There's an identified technical bug on existing VirtFusion-based systems at C-Servers prior to 29-01-2026, where cloud-init incorrectly deploys IPv6 on Netplan's routing configuration, upon installation of any Ubuntu operating system (18.04, 20.04, 22.04 or 24.04). Common symptoms are very high packet loss (90%+) or entirely non-existent IPv6 connectivity, exclusively on Ubuntu-based systems, with IPv4 still working correctly.

This is due to a deprecation of the "gateway" parameter on Ubuntu, previously used by cloud-init, and replacement with the "routes" parameter. This parameter, specific to Ubuntu only, has incorrect Router Advertising (RA) parameters, with a very long IPv6 address which is used for... nothing. 

After talking to VirtFusion's support, we now have a way of fixing this issue: making Ubuntu not accept RA.

There is a fix for this issue - and it's simple

The fix we will provide works for all Ubuntu versions we provide, starting from 18.04 up to 24.04 LTS.

However, this fix works by default in many cases on Ubuntu 24.04 LTS simply with the existing preconfiguration we attempted, meaning that, if you wish to use Ubuntu 24.04 LTS, a reinstall could be the only thing necessary to get IPv6 working again. Regardless of that working or not, we'll still provide below what are the necessary configurations to get IPv6 working again for all versions of Ubuntu.

For Ubuntu 20.04 LTS, 22.04 LTS and 24.04 LTS

  1. If you have reinstalled a Ubuntu version after 29-01-2026, C-Servers has automatically fixed this for you on all versions and all templates. If for some reason after install you don't have IPv6 connectivity, this is due to a cloud-init fault, and you can simply write the following command:

    sudo systemctl restart systemd-networkd

    and it will work right away. IPv6 working is persistent accross restarts. 

    If you are installing from an ISO or this doesn't work, you'll need to ensure you have the cloud-init and qemu-guest-agent packages installed and do option 2, written below.

  2. If you have installed a Ubuntu version before 29-01-2026, and you don't want to reinstall the system: the only difference is that, since there was no file provisioned from the template, you will create a new file on the Netplan folder, with the exact same text. Verify your interface name with:

    ip -6 addr

    If you see something like "enp3s0" or "enp4s0" or any other name like "eth0" or "ens3", that is the name of the interface.
    After confirming the name, you access the Netplan folder just like written above ("cd /etc/netplan") and create the new file, called "99-user-conf.yaml", like this:

    sudo nano 99-usr-conf.yaml

    Nano will say "New File" - which it is - and you'll simply copy and paste the following text, adapting the interface name to your exact interface name as seen before:

    network:
      version: 2
      ethernets:
        enp3s0:
          accept-ra: false

    Ctrl+O to save, Enter to accept saving, Ctrl+X to exit, and the same restart to the systemd-networkd service:

    sudo systemctl restart systemd-networkd

    And you can confirm you no longer have that long IPv6 address, by doing the "ip" command:

    ip -6 addr

    Lastly, you can confirm you now have proper IPv6 connectivity by doing the "ping" command:

    ping google.com

    It will default to IPv6 and it will now work correctly. This change is also persistent accross restarts.

For Ubuntu 18.04 LTS x86

Specific for Ubuntu 18.04 LTS, the instructions are slightly different. While the fix is implemented on the system, it is not assumed automatically by default upon install, but the default interface is correct by default (ens3), so changing it does not resolve the IPv6 issue.

What needs to be done is to:

1. Reinstall the Ubuntu 18.04 LTS on your system, regardless of the present status of the system;
2. After logging in and everything's complete, simply run the following command:

sudo systemctl restart systemd-networkd

And you will immediately gain IPv6 connectivity, which will be persistent accross restarts as well.

This was tested successfully on all versions of Ubuntu.

Did you find it useful?
(334 times viewed / 3 people found it helpful)

Powered by WISECP
Top