Backstory

I created a Hetzner server and saved some cost by having only an IPv6 address. However, I wasn’t able to ssh to the IPv6 address from my laptop, it would say “Network is unreachable”

ip addr command showed an IPv6 address though. It, however, was a link local address as it began with fe80:. This led me down a rabbit hole where I discovered that your ISP and your router have to support IPv6.

Fortunately, I have an Airtel XStream Fiber connection, which the internet says does support it. So, just needed to look up how to enable it on the router

Quick Check

Run the following in a terminal to see if your system is supporting IPv6:

ping ipv6.google.com

Steps

This is the login page of my router, so steps would be for this particular router. Other routers probably have similar steps

In the menu on the left, go to Advanced Setup > WAN Connections

The IP Version was selected as IPv4 by default, just change it to Dual.

Now when you scroll down, there will be a section called “IPv6 Setting”. It takes some time to fetch the IPv6 address as well as the DNS addresses from the ISP. Currently, the following settings work for me:

I rebooted the router as well as my laptop for it to be to able to connect to IPv6. Probably a reboot too many than required, but doesn’t really hurt