Jump to content
  • 11

Push DNS server via SLAAC (or DHCPv6)



I use Pi-hole on my home network to block ads. All I had to do with IPv4 was set the DHCP server in my Keenetic device.

I recently switched my ISP and they provide IPv6 connectivity. I managed to have IPv6 working, but now the router pushes via SLAAC its IPv6 address as DNS server to clients. So now my devices prefer IPv6 and reach to the router for DNS resolution, bypassing the Pi-hole on my home network.

I tried to find an option to change the DNS server address pushed via SLAAC but couldn't find one. I saw that I can change SLAAC to DHCPv6 but I can't find where to set the options.

Is it possible to change the DNS server pushed to IPv6 clients?


  • Upvote 1
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
3 minutes ago, vst said:

This is not possible now. The router always advertises its DNS proxy address(link-local address of LAN).

Then it's not possible to have a DNS server in the LAN at the moment, when dual-stack is present 😞. As far as I know clients will prefer IPv6 and bypass the DNS server on the LAN.

Should I open a thread in the feature request section?

Link to comment
Share on other sites

  • 0

Today I was looking around and found that the standard radvd daemon is used for sending router advertisements in the LAN. It is launched with the configuration file located at /var/run/radvd.conf (which is a symlink to /tmp/run). This means that the configuration file is generated at runtime and can't be edited by the user 🥲

This is the content of the file (one entry for each subnet, IP addresses redacted):

/tmp/run # cat radvd.conf 
interface br0 {
        AdvSendAdvert on;
        AdvOtherConfigFlag on;
        AdvManagedFlag off;
        prefix 2a00:xxxx:xxxx::/64 {
                AdvOnLink on;
                DeprecatePrefix on;
                AdvAutonomous on;
                DecrementLifetimes on;
                AdvPreferredLifetime 716;
                AdvValidLifetime 716;
        RDNSS fe80::xxxx:xxxx:xxxx:xxxx { };

The DNS server is advertised with the RDNSS option, so hopefully a CLI command can be added to have the user set the preferred DNS server 👍

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...