Setup DHCPv6 with Prefix Delegation

IPv6 is the next generation IP addresses to ensure there are enough address across the Internet. This section guides you on setting up IPv6 with DHCPv6 with Prefix Delegation in DD-WRT router.

Enable IPv6

Firstly, head over to "Setup" > "IPV6". We will enable the configurations over there accordingly. The end results for a given firmware looks something as such:

Enable IPv6

The first job is to enable the IPv6 in order to have the rest the configurations available. Select the "enable" button.

Choose "DHCPv6 with Prefix Delegation" for IPv6 Type

Unlike the IPv6 provided by ISP, since we want DHCPv6 with prefix delegation, we select that.

Setup DNS

For both DNS locations, you can setup the DNS lookup IPv6 DNS address. From the example above, I use Cloudflare and Google DNS servers.

Disable All Services

Now that we're done, we should disable all the IPv6 services including Radvd. This is because we are going to use dnsmasq to handle the dhcp services.

Press "SAVE"

With all settings configured, press "SAVE" and not "APPLY" because we still got things to do.

Configure Dnsmasq

The next thing to do is to configure Dnsmasq to handle IPv6. Head over to "Services" > "Services" and scroll down to Dnsmasq. There are 2 sets of configurations to be done.

Configure default dnsmasq options

For default dnsmasq options, one should configure it to:

  • Enable Dnsmasq.
  • Enable Cache DNSSEC data.
  • Disable No DNS Rebind.
  • Disable Query DNS in Strict Order.
  • Disable Add Requestor MAC to DNS Query.
  • Enable RFC4039 Rapid Commit Support.
  • Keep 1500 maximum cache entries (adjust accordingly to the memory loads).

Additional dnsmasq options

Here are a list of additional dnsmasq options for IPv6.

no-resolv
no-negcache
server=1.1.1.1
server=8.8.8.8
server=2606:4700:4700::1111
server=2001:4860:4860::8888
local=/rover2155.local/
expand-hosts
domain-needed
dhcp-range=::1000,::FFFF,constructor:br0,ra-stateless,ra-names,12h
ra-param=br0,10,300
enable-ra
  • no-resolv = don't read /etc/resolv.conf and use specified DNS server.
  • no-negcache = disable negative caching to prevent unwanted failure name resolution.
  • server = specifies DNS server. You should specify both IPv4 and IPv6 separately.
  • local = specifies local domain server.
  • expand-hosts = add DNS domain name to short hostnames.
  • domain-needed = do not forward A or AAAA to upstream since they do not know anything about LAN.
  • dhcp-range = specifies the range of IPs from ::1000 to ::FFFF) against the network interface, with ra-stateless IP assignment, dual-stack hosts (ra-names) and lease time of 12 hours.
  • ra-param = non-default values for router advertisements sent to interface br0.
  • enable-ra = enable router advertisement.

That's all for enabling IPv6.