The issue I am facing:
I would like to set up Pi-Hole in a more dynamic fashion, where I can selectively configure whether devices on the network should be using pihole DNS, or whether they should be using another DNS.
While its of course possible to do this on the device itself, I would like to make it easier than having to dig through the network settings each time on each device, as some users on my network are not very tech savvy, and would like to "flip" a virtual switch to enable to dns sink.
I can assign static IPs to individual devices on the network if that makes it easier, also happy to use things like docker if required.
While probably out of scope for this forum, it be very cool to have the same setup work for deciding whether connections should be routed through a VPN running on the same Pi.
Details about my system:
My router is a FritzBox 5470.
Devices on the network are varied, phones, pcs, laptops and consoles / apple TV.
Pi-hole is running on a raspberry pi 4, and I have a spare one that I can also use if two would be required.
Pihole group management allows you to define machine membership of groups that have defined adlists/blacklists/whitelists. Although all machines would use the same pihole DNS server,you could configure a group to not use any adlist so no blocking whatsoever. Would this accomplish what you are seeking.
Thanks, this is perfect timing – I've just been on a friend's desktop remotely trying to work out how to stop his Velop mesh nodes from sending many thousands of PTR requests to Pi-hole in each ten minute block. They are swamping the Query Log 24/7 and rendering it near impossible to do any proper detective work with other devices.
Unfortunately they are hard coded to use DHCP (presumably from a broadband router in the typical use case). This linked article looks like it may offer a way to let Pi-hole respond to the DHCP requests but point the DNS traffic to the original broadband router, thus keeping the PTR requests away from Pi-hole.
I'll check it in detail tomorrow and create a new thread for reference if it's viable and works.