As you might know, Europe finally runs out of IPv4 addresses this year. Due to the shortage of IPv4 addresses, all websites need to shift from IPv4 to the IPv6 environment in the next few years.
But, no worries! If you are using AWS, you can easily get your website ready for IPv6. Here’s a step-by-step guide for how to enable IPv6 on Ubuntu Server on AWS.
1. Go to VPC Dashboard and select your VPC. Then click “Edit CIDRs”.
2. Add an IPv6 CIDR and close the window.
3. Go to Route Tables and select your route table used for your public website.
4. Add a new destination in the section below. Enter [::/0] and select the Internet Gateway.
5. Go to Subnets and select your subnet in the route table. Then click “Edit IPv6 CIDRs”.
6. Add an IPv6 CIDR and enter value like .
7. Go to EC2 Dashboard and select your instance. Then click “Manage IP Addresses”.
8. Assign a new IP address and click “Yes, Update”. Now you can see your website’s public IPv6 address.
9. Make sure you allow IPv6 network traffic in security groups like this.
10. Go to Route 53 and create a new record set. Choose the type “AAAA – IPv6 address” and enter your public IPv6 address associated with your instance.
11. Enable IPv6 in your web server. If you are using Nginx, the configuration looks like this.
12. Now you are ready to configure IPv6 on Ubuntu. If you are using Ubuntu Server 16.04 LTS, edit the network interfaces.
If you are using Ubuntu Server 18.04 LTS released in April 2018, you probably do not need to edit the network configuration because IPv6 is enabled by default. Ubuntu Server 18.04 LTS uses Netplan instead of the network interfaces, and you can check the current configuration under the /etc/netplan/ directory.
You are done! Now you should check the IPv6 connectivity to make sure it’s working. You can use the Linux command below to ping to the IPv6 host.
You can also use IPv6 testing tools available online, but I recommend the Qualys SSL Server Test to you if you want to test both of the SSL/TLS security and IPv6 connectivity of your website. The result looks like this.