I set up a Pi-hole server and configured my router to hand it out to all devices as the DNS server. Everything seemed to work, except Homekit, where all devices shared from my C8 hub using HomeKit integration on latest software showed as "Not responding." This was even with all blocking in the Pi-hole disabled so I don't think it has anything to do with access to Apple servers. As soon as removed the Pi-hole as the DNS server in my router, Homekit integration started working again.
While Pi-hole was still configured as DNS server, i tried resetting my C8 and the Homekit integration but didn't work. Everything is running iOS or TV OS v17.
Any ideas why this would have broke the integration? I can re-enable it to collect more info.
Default config except for the allow/block lists which were disabled for this testing. But I'm almost certain mDNS wouldn't be working with Pi-hole so you already figured it out
There is really no reason mDNS would stop working unless you disable the service on the router.
Did you totally disable DNS on the router when you switched it to the pi-hole or just change the DHCP DNS address handed out? Or did you set the pi-hole as the upstream DNS server on the router (very bad idea IMO)? If you disabled the router DNS it may have also disabled mDNS on the router along with it.
I run Adguard Home here and everything works totally fine. DNS is still enabled on the router for local hostname lookups. mDNS is runing on the router and on my Adguard Server.
Try installing avahi-daemon on your pi-hole machine, should not really require any configuration. That might help if the mDNS on the router is disabled for some reason.
I have Cloudflare set as the upstream DNS in pi-hole, and also as the "WAN DNS" in my router. I configured LAN DNS like this under DHCP server settings, 192.168.50.12 being the pi-hole:
This has nothing to do with the mDNS issue; however, it would be good practice to give the Pi-hole an address that is outside of the range assigned by DHCP.
I have an RT-AX68U running the Merlin firmware, here are my settings and everything works fine here. I also have mDNS running on my DNS server as backup but I am certain the mDNS on the router is still running as well. Possibly having the mDNS on the DNS server is what is helping me?
Pihole isn’t the problem. I have pihole set up with the default block list and HomeKit works great (also on iOS/TVOS 17). It also worked with one of the extreme block lists. Maybe an incorrect setting on your router?
Just switched to the Merlin firmware and also gave the pi-hole a static IP outside of the DHCP pool. Still have the same problem once router is configured to use pi-hole DNS just like @jtp10181 's
Looks like avahi-daemon was already installed and running on DNS server too. Restarted it and now things seems to be working...