IPv6 is here! This is what you need to know to get started…

IPv6 is Here!

Hey, fellow citizens of the InterWebs! Do you know SSDNodes now has IPv6 ? If you want to know more about IPv6 and make your apps future-proof, follow along...

Testing your ISP

First thing you need to know is whether your ISP provides you with IPv6 support. Having an IPv6 VPS means nothing if the computer on your desk, or anything else on your home network, can't connect to it. So, the easiest way to test that it is not the case is to use https://test-ipv6.com/ . This website will let you know if you can or can't access websites on IPv6.

IPv6 Test Failure

This shows that my current ISP doesn't support IPv6. A very easy workaround for this issue would be to switch to your mobile carrier's data plan because there's a high likelyhood that your 4G LTE uses IPv6. After switching to my mobile hotspot, I got a perfect score for IPv6 readiness.

IPv6 Test Success

Accessing web content

If you want to see web content (like HTML pages) being served on your IPv6 address, try installing Nginx and viewing its default page on your browser:

$ apt install nginx -y;
$ systemctl start nginx;

Now, in your web browser type in the following: http://[2602:ff16:1:0:1:f5:0:1] just replace the 2602:ff16:1:0:1:f5:0:1 with your actual IPv6 address.

You can use ip addr command inside your VPS to know your address.

$ ip addr
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:f3:e8:f7:c7 brd ff:ff:ff:ff:ff:ff
    inet 63.250.55.61/24 brd 63.250.55.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 2602:ff16:1:0:1:f5:0:1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:f3ff:fee8:f7c7/64 scope link
       valid_lft forever preferred_lft forever

This is a sample output, with the IPv6 address next to inet6 just copy that value without the /64 and paste it into your browser. For example, http://[2602:ff16:1:0:1:f5:0:1] shows me the following:

Nginx Default Page

DNS Settings

Eventually, you would want to point an actual domain name to your website like https://example.com and while doing that you want to be careful and, instead of creating an A record where a domain name points to an IPv4 address, you will have to create an AAAA record where your domain name points to a IPv6 address.

This is it! Now you are ready to delve into the world of IPv6 and not have to worry about running out of IP addresses ever again!