IPv6 VPS is a VPS (Virtual Private Server) which only has an IP address version 6. In general, VPS service providers provide IP version 4 (IPv4) addresses, or also provide both; IPv4 and IPv6. But there are some VPS providers that only provide IP version 6 addresses (IPv6), for example Vultr.
The advantage of a VPS that only gets IPv6, one of which is the price; could be cheaper. However, there are drawbacks too; that is, you need an extra way to connect to the VPS, because Internet providers rarely implement IPv6 networks, as a result it is certain that it is difficult to connect to an IPv6 VPS, because IPv4 networks are not connected to each other with the IPv6 network.
However, that doesn't mean we can't access the IPv6 VPS, with a few ways, God willing, we can be connected.
There are 2 ways I have tried to connect to an IPv6 VPS. The first way is to temporarily attach IPv4 to the VPS, only used so that we can connect to the VPS and install EasyEngine. After completing the installation & configuration, we release IPv4 again. This method has drawbacks, which are quite complicated and inefficient. Because every time you update the server, update the WordPress plugins, install themes / plugins; you must re-paste the IPv4 address.
The second way is to make a router like pfSense, and put it in front of the IPv6 VPS earlier (see topography below). In this way, the IPv6 VPS will be able to connect to the IPv4 network via a router. Another advantage, we can do NAT, by port forwarding the IPv4 router, so that it can be used to make SSH connections to IPv6 VPS. The downside of this scenario is that you have to pay extra to build this router. Like renting 2 VPS. However, if you have a lot of IPv6 VPS, in my opinion this method is quite effective.
For this article, I will discuss the first scenario first. I will write the second scenario in a separate article.
Oh yes, so that the webserver can be accessed, we will use the service from CloudFlare, which we will place as a reverse proxy. Another advantage of using CloudFlare, we can install free SSL, free CDN, security, and other features that can be activated if you need. For that, your domain nameservers must use CloudFlare.
I assume you already have a Vultr account. Create a server "IPv6 Only" with Ubuntu OS version 12.04, 14.04, 16.04 or Debian version 7 or 8 (as I write this article EasyEngine only supports those OS and versions only).
NOTE: If you plan to create a large number of IPv6 VPS, and use scenario two; it's a good idea to activate the private IP feature, by checking the option "Enable Private Networking".
If the server status is already "Running", click Manage. Then click "Attach Reserved IP". To paste an IPv4 address, click "Add New Reserved IP". On the column Location, select the location according to the server you created earlier. For Type, select IPv4. And for labels, please fill in the name you want. Continue to click Add. (see image below)
NOTE: The price of this IPv4 is $3 per month, with a minimum usage of 24 hours. So we will rent for 24 hours only, or it will cost around $0.1 or around Rp. 1,500 only. Don't forget that after the IP is not used, it must be removed (released) so that there are no more IP lease bills.
The next step, click the icon Manage IP (pencil drawing), at choice "Attach to server", select the server we just created, and click Attach.
We have already attached IPv4, but we have to manually set it on the server, not automatically attach to the server. For that, click on the icon View Console (image icon like a monitor) on the server page that we created earlier. An example of a display like this:
Please login to your server first. Then replace ip with the following command.
For Ubuntu 16.x, add the following line in
/ etc / network / interface :
Address is filled with the IPv4 address that we "attached" earlier, the netmask can be seen in IPv4 details, and for gateways, usually Vultr uses the IP suffix xxx.xxx.xxx.1 as a getaway. For example, above my IPv4 18.104.22.168, then the gateway is 22.214.171.124
NOTE: For other versions of Ubuntu, or those using Debian, go ahead look here for example.
After completing the configuration as above, don't forget to restart networking with the command
sudo /etc/init.d/networking restart.
Now try SSH access with IPv4 that we pasted earlier, if it is successfully connected, it means that the IPv4 configuration is successful.
After the SSH connection is successful, now we can install EasyEngine as usual. For the tutorial, I have written it before here.
But there is a little bit of Nginx configuration we have to change. By default the Nginx configuration from EasyEngine only runs on IPv4 addresses, so we will change it to run on IPv6, because our VPS will only have IPv6.
Create a new file in
/var/www/yoursitename.com/conf/nginx/ipv6.conf, and enter the following configuration:
listen [::]: 80;
server_name www.yoursitename.com yoursitename.com;
Save the configuration, then restart Nginx with the command
sudo service nginx restart.
So that our website can be accessed by all networks, both IPv4 and IPv6; we will use CloudFlare services which will act as a tunnel between IPv4 to IPv6.
On the DNS page, create AAAA record, and enter your IPv6 server. For example, see the image below.
Click Add Record, and test in the browser, if the website can be opened, then you have succeeded!
Make sure all the website configuration is done; for example if you use WordPress, please install it theme and plugins required. If everything is ok, don't forget to uninstall it (detach) IPv4 from your server, and do the detach (released).