Bobcares

How to enable IPv6 on a Vultr instance without losing network connectivity?

by | Feb 7, 2019

It’s true that IPv6 will eventually replace IPv4.

That’s why, most Cloud Hosting providers support IPv6 on their servers.

Can I setup IPv6 on my Vultr VPS from my end?

Yes, you can setup IPv6 on the Vultr instance from your end. But, a single bad step can affect the server connectivity.

At Bobcares, we help server owners configure IPv6 address on their Vultr instances as part of our Managed Cloud Services.

Today, we’ll discuss how we enable IPv6 address on a Vultr instance without losing server connectivity.

 

Why you need IPv6?

Firstly, let’s see the main benefits of IPv6.

  • Provides more address space which is needed for large scale business.
  • Support security using IPsec(Internet Protocol Security).
  • Enable large data packets to be sent simultaneously conserving the bandwidth.

 

Similarly, IPv6 also has some downsides. Some of them are difficulty in converting IPv4 to IPv6, IPv4 and IPv6 machines can’t communicate directly, and much more.

How to enable IPv6 on a Vultr instance?

Now, let’s see how our Support Engineers enable IPv6 on Vultr instances. IPv6 can be enabled on an existing Vultr instance or a new Vultr instance. Let’s see both cases in detail.

1. Add IPv6 on a new Vultr instance

IPv6 is not enabled by default when creating a new Vultr instance. This option must be manually selected while creating a new Vultr instance.

Server owners can enable IPv6 during server setup from Servers > Deploy New server(+ symbol) > Additional Features > Enable IPv6 of Vultr account control panel.

 

vultr ipv6

Enable IPv6 while creating a new Vultr instance

 

However, we’ve seen instances where users missed to enable IPv6 support when they create a new Vultr instance. That’s why our Support Experts make it as a checklist point while creating new Vultr instances.

So, now your question will be, is it possible to add IPv6 support on an existing Vultr instance?

Yes, it’s possible to add IPv6 to an existing Vultr instance.

 

2) Add IPv6 on an existing Vultr instance

Now, let’s see how our Support Experts add IPv6 on an existing Vultr instance. Note that this involves a series of steps that should be done carefully, because an incorrect edit or change in the wrong configuration file can affect the server connectivity.

1) Power off the Vultr instance

Enabling IPv6 address requires network configuration changes. So, we always recommend to power off the Vultr instance before making any changes. We shutdown a Vultr instance from Servers > Click on the instance hostname > Click on Server Stop(top right corner) as shown in the below image.

 

vultr ipv6

How to stop a Vultr instance?

 

2) Enable IPv6

The next step is enable IPv6 on the server from Vultr account control panel. We enable it from Servers > Click on the instance hostname >  Settings > IPv6. After successful completion, the new IP address will be shown like the below image.

 

vultr ipv6

How to enable IPv6 from Vultr control panel?

 

After adding the IPv6 subnet, we can power on the Vultr instance.

3) Update Network configuration

It’s not enough to enable the IPv6 address from the Vultr account control panel. To make this IPv6 address usable, we must manually configure the network. However, the steps to change the network configuration file depends largely on the operating system of the server.

For example, to enable IPv6 on CentOS servers, we add the following lines in the interface file /etc/sysconfig/network-scripts/ifcfg-eth0.

IPV6INIT="yes"
IPV6ADDR="2001:19f0:5:4af9::100/64"
IPV6_AUTOCONF="yes"

 

Similarly, on Ubuntu and Debian servers, we make changes to the file /etc/network/interfaces. This includes adding the IPv6 address, netmask, etc. On the other hand, in Windows servers, we identify the public interface name using ipconfig command and add the IPv6 addresses to the server.

Most importantly, we restart the networking service after making changes in the network interface file. For instance, on CentOS 7 servers, we restart the network service using the below command.

systemctl restart network.service

 

Similarly, if the server has IP forwarding enabled the IPv6 will not work as expected. In such cases, our Support Experts check if IP forwarding is enabled using the below command.

sysctl net.ipv4.ip_forward

 

If enabled, we’ll add/update the following parameters in /etc/sysctl.conf file.

net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2

 

Most importantly, before making any changes, we always recommend that these files should be backed up.

 

4) Reboot the Vultr instance

Finally, the server must be restarted for the IPv6 to work properly. We restart the server from Servers > Click on the instance hostname > Click Server Restart(twisted arrow icon).

 

vultr ipv6

How to restart Vultr instance?

 

We verify the new IPv6 address using the ifconfig command once the reboot is complete. And, the highlighted section shows the IPv6 address.

vultr ipv6

IPv6 enabled in the server

 

5) Firewall modifications

Last but not least, our Support Engineers make necessary changes on the server firewall to allow services to listen on this IPv6 address. Also, we allow incoming and outgoing connections from this IPv6 address. Once this is done, we verify the IPv6 connectivity using ping6 command.

Vultr IPv6 – Common problems

Now, we know how to enable IPv6 on a Vultr instance. However, users may come up with number of problems when they start using IPv6. Let’s see some of the common problems.

1) Vultr supports IPv6 only but ISP supports IPv4

We’ve seen instances where customers purchase Vultr instance that only supports IPv6. However, their ISP only supports IPv4, so that users can’t access the server via SSH. In such cases, our Support Engineers recommend server owners use free gateways or tunnels like TunnelBroker that route you through IPv6 over the existing IPv4 connections.

2) Network configuration errors

Another common error we see is that IPv6 address doesn’t respond to ping requests and throws error like this:

ping: sendmsg: Network is unreachable

 

In such cases, we check and identify the network configuration file for errors. Once the problem is identified, we’ll correct it, reboot the server, and finally test it again.

That’s why, we always recommend that critical file be backed up before any changes are made.

 

3) IPv6 connection timeout

Similarly, another common problem we see is that an attempt to access the applications using IPv6 get timed out. For example, we’ve seen customers complain that SSH through IPv6 times out.

In this case, our Support Engineers identified that the problem was with the server firewall rules. We found that the customer allowed SSH connections in the iptables firewall. But, iptables is for IPv4 connections while IP6tables is for IPv6 connections. So, we explicitly allow SSH connections in ipt6tables firewall to fix this problem.

[Do you need a server expert to enable IPv6 on your Vultr instance? Our Support Experts can help you here.]

Conclusion

In short, enabling IPv6 on a Vultr instance require a series of steps and this should be done accurately. Today, we’ve discussed how our Support Engineers enable IPv6 on a Vultr instance and fix the common errors with it.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

SEE SERVER ADMIN PLANS

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

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

Speed issues driving customers away?
We’ve got your back!

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF