All devices on the local network should work as they did before the upgrade to v6.
Actual Behaviour:
The smart radio, which sits alone on an IoT wifi subnetwork, stopped working following the upgrade to Pi-hole v6. All other devices (laptops, phones, tv, etc., all on various subnetworks) continued working just fine.
To be clear: the radio connects successfully to its wifi network but does not load the radio stream, it gets stuck on "connecting". In the Pi-hole interface, I no longer see queries from the radio at all.
After a bit of digging, I noted that I the following error message sometimes shows up in the Tools> Pi-hole diagnosis tab: Warning in dnsmasq core: ignoring query from non-local network 192.168.XX.XX (logged only once) (where the IP is the one of the smart radio).
I read a bit about this, including to change, in the DNS settings, from Allow only local requests to Bind only to interface. But doing this does not seem to solve the issue, and, when I do make this change, I get an error message in the top-left Pi-hole status which shows a red dot with DNS server failure.
Now, having to make an exception for this while other devices are also on other subnetworks is weird, but it somehow rings a bell as something I might have had to do in the past, just FYI.
This resolved it for me as well. Before changing it, I only had log messages from _gateway and localhost.lan.
I still wants to raise the fact that all ranges on 192.168.x.1 is local. Unless local here is localhost (0.0.0.0), meaning _gateway, 192.168.1.1 or whatever within private subnets are non-local. At least according to the definition for pihole, the classification is currently wrong. 192.168.223.1 is one hop away, it's the router. My setup is simple, my router asks two local RPIs SBC running pi-hole. _gateway is often two hops away since it's device -> router -> any of the pihole servers.
Allow only local requests
Allows only queries from devices that are at most one hop away (local devices)