hyperoptic ipv6

Setup third party router to work with hyperoptic IPv6

Hyperoptic, the UK ISP, offer IPv6 support. Here is a link to their FAQ page: https://www.hyperoptic.com/faq/posts/static-ip-addresses/

But I had to configure my router manually to get provisioned with an IPv6 address.

Steps from hyperoptic

Hyperoptic share some steps for setting up a 3rd party router in the FAQ post linked above. Those steps are:

  1. Navigate to WAN interface section of router web GUI
  2. Select dual stack option for WAN interface (IPv4/IPv6)
  3. For address/prefix source select DHCPv6 (not static option)
  4. Enable prefix delegation (PD)
  5. Select SLAAC for IPv6 address creation method

I use a TP-Link Archer A7 1750 router, and many of these steps had a direct equivalent.

  1. In the advanced settings there was an IPv6 section.
  2. I could choose “Dynamic IP (SLAAC/DHCPv6)” as the internet connection type.
  3. I could enable “Prefix Delegation (PD)”

The steps that were not that obvious to me were:

For address/prefix source select DHCPv6.


Select SLAAC for IPv6 creation method.


For the router to get an IPv6 address (WAN), I can choose from the following options:

  1. Auto
  2. DHCPv6
  3. SLAAC

For the LAN settings, I can choose from the following options for an “Assigned Type”:

  1. DHCPv6
  2. SLAAC+Stateless DHCP

It wasn’t clear to me from the hyperoptic FAQ which combination of options to choose. If I choose the wrong options, I could see from the router logs:

dhcp6c : send solicit with DUID <trimmed>
dhcp6c : receive advertise with ipv6 <null> and dns <null>
dhcp6c : send request to server with ipv6 <null> and dns <null>
dhcp6c : receive reply from server with ipv6 <null> and dns <null>

It looked like I was getting a null address back.

Settings that worked for me

  • WAN: Set to “DHCPv6”, but I had to manually specify the DNS servers. Leaving the DNS server specification to the ISP would result in <null> dns.
  • LAN: Set to “SLAAC”, DHCPv6 also works for my laptop, but my phone will only use IPv6 via SLAAC.