Is DHCPv6 (SLAAC + RA) WITHOUT DHCPv4 possible?

If I see correctly, the DHCPv4 and v6 servers cannot be activated independently?

Since DHCPv4 is handled by the router, I dont need another DHCPv4 server in the network.
However, PiHole should advertise itself as a v6 DNS Server to the network via RA, while using SLAAC.

Our "main" router supports the -O flag for v6, so SLAAC is needed instead of using DHCP for v6 addresses, and therefore allows RAs by other services in the network.

Am I misunderstanding this?
I cannot use ONLY the DHCPv6 RA part of the DHCP server built into pihole?

Is there a way to have RA on my Pi without having to migrate my DHCPv4 to the Pi aswell?

DHCPv6 and NDP are separate protocols.
Pi-hole does not enable a DHCPv6 server at all, it only would advertise itself as DNS server via NDP/SLAAC/RA.

With IPv6, its your router's job to regularly advertise network details, including IPv6 DNS server addresses, so in all likelihood, your router is already advertising an IPv6 DNS server address (which would allow clients to by-pass Pi-hole even if Pi-hole would advertise its own).

You should first find a way to configure your router to advertise your Pi-hole host machine's IPv6 as DNS server.
You'd have to consult your router's documentation sources on further details for its IPv6 configuration options.

If your router does not expose such an option, then you'd probably need another router, or clients would be able to by-pass your Pi-hole via your router's RDNSS supplied resolvers.

Yes, at least not via its UI.

You potentially could add a custom dnsmasq configuration file to that end, but as explained, you should first concern yourself with your router's IPv6 DNS options.

Such a custom configuration may only prove helpful if your router's only IPv6 DNS option would be to switch RDNSS either on (using whatever the router decides) or off completely.

Hm, thanks for your answer.

My router (a FritzBox) has the option to send the PiHoles IPv6 address as a DNS server. However, this is limited to a static one. Therefore, if the IPv6 changes (I can configure it to be a local address from fd00 or fe80, or a global delegated one) I have to change it (which isnt great).

So currently I use a static ipv6 on my pi, running on fd00::fa, therefore debian does not utilize SLAAC/DHCPv6 and all RAs are ignored. This also means theres no IPv6 connectivity (on the Pi itself), since no global address and gateway is assigned.

If I however use SLAAC, the IPv6 will of course change over time, in that case the global address and a local fe80: will be used, but then theres no static entry in the router possible.

Therefore I wanted to publish PiHoles DNS via RA from the Pi itself.

Then you should probably focus on using a static IPv6 from your host, or alternatively, consider not using an IPv6 DNS server address at all.

You should be able to either use your host's LLA EUI64 address straight away, which should not change at all, or you could use its ULA address and configure your host to construct an IPv6 interface identifier as a EUI64 or as a stable opaque id according to RFC7217.

Alternatively, you could also opt to not propagate an IPv6 DNS server address at all, which would force your clients to send DNS requests to your Pi-hole via IPv4 exclusively - FritzBox routers do support such a configuration.
This would also allow to easier identify each of your clients in Pi-hole's Query Log, which is why I personally prefer this configuration over seeing a bunch of IPv4 and IPv6 addresses for queries originating from the same device.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.