Local DNS Records not resolved on mobile devices

I am using PiHole inside Docker on a Raspberry Pi 3. The container is running alongside NginxProxyManager (and some other, not exposed, services) and is exposed on Port 8080.

The PiHole seems to mostly work correctly, but local DNS records only work on my Windows machine. On Windows all addresses (such as heimdall.local) are correctly forwarded to Nginx, which forwards it to the correct service. This works over LAN and WIFI for my Windows-Machine.

Note: The Windows Machine has NO manual entry in the hosts-file, which points to the Raspberry Pi.

On my iPhone & MacBook however, no local DNS Records are resolved and result in a timeout. I already checked, that all my devices are in fact using the PiHole as DNS.

DHCP is done by my router, which itself uses the PiHole as DNS and delivers the PiHole as preferred DNS over DHCP.

Under Advanced DNS Settings I activated Use Conditional Forwarding and disabled all other 3 Options.

Debug Token:

(Moderator edit: explicit debug log removed)

When providing a debug token, just post the token that is shown once the debug finishes (preferably by copy and paste). For your own privacy and security, please do not post the full, unsanitised output here.

Run from a client in your network, what's the output of:

nslookup pi.hole

And if that client would run Windows:

ipconfig /all

For the latter, we'd only be interested in output from the DNS server section.

Thank you very much!
I tried to generate the debug token, but the PiHole cannot reach the domain:

curl: (6) Could not resolve host: tricorder.pi-hole.net

Nonetheless, here are the outputs from nslookup and ipconfig

nslookup output from MacBook:

Server:		192.168.178.35
Address:	192.168.178.35#53

Name:	pi.hole
Address: 0.0.0.0

ipconfig /all output on Windows

DNS Servers . . . . . . . . . . . : 192.168.178.35

This wouldn't interfere with local DNS records, but since you are running a dockered Pi-hole, it seems you are also affected by a known issue (#956).

Please set the recommended FTLCONF_REPLY_ADDR4 Environment Variable for your container to your Pi-hole's IP address (likely 192.168.178.35).

Note that . *.local FQDNs are reserved for usage by the mDNS protocol .
They should not be used with DNS.

You should consider changing your local domain to something other than .local.

And since you are running a MacOS client, let's check DNS available servers for that as well:

scutil --dns

I think this resolved my problem. I changed the domain to *.home and now my MacBook can access my Services.

I also set the Env-Variable just to be sure.

Thank you so much!

And that would also be perfectly plausible. :wink:

Just a note why I also wanted us to scrutinise available DNS servers:
In case your router offers IPv6 connectivity, your router may advertise its own IPv6 address as DNS server in addition to Pi-hole, in which case IPv6-preferring clients would be able to by-pass Pi-hole, and Pi-hole's local name resolution with it.
That kind of behaviour would only be addressable by the router istelf, and not all routers do support respective configuration, unfortunately.

Fingers crossed that your issue was indeed only related to mDNS. :crossed_fingers: