Pi-hole (with no blocking) as DNS server broke HomeKit integration

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.

The description of your PiHole setup isn't sufficiently adequate to diagnose the issue. FWIW, HomeKit requires mDNS (Bonjour) to be working.

1 Like

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 :slight_smile:

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.

2 Likes

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:

WAN DNS:

Maybe I need to leave "Advertise router's IP in addition to user-specified DNS" enabled?

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.

1 Like

You want to keep the advertise the router DNS OFF, otherwise clients will constantly be bypassing the pi-hole by going to the router for DNS.

You should check out the Merlin firmware: https://www.asuswrt-merlin.net/

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?

LAN DHCP

WAN


Here is a tool you can use to inspect the mDNS on your LAN as well
https://www.tobias-erichsen.de/software/zeroconfservicebrowser.html

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...

1 Like

And big thanks to all of you for helping me

1 Like