Network scanners cannot find hostnames

I have Pi-hole running on an ubuntu machine within hyper-v on windows server 2022.
Pi-hole's doing DNS duties, my Plusnet HubOne DHCP.
I've got names defined for all devices on the router and I can ping those names just fine.
I have conditional forwarding set in pi-hole.
My routers DHCP lease list shows the names.

Expected Behaviour:

Network scanning tools show either the hostnames devices report, or the names as defined and showing on my router.
Pi-hole web interface show all names.

Actual Behaviour:

Any tool I might use to scan the network, like Fing on my android mobile or Softperfect Netscan on a windows laptop dont return hostnames for most devices.
Three do reliably show, the router, hyper-v host and my windows laptop, but any others only ever show an IP.
Pi-holes web interface shows the same names and IPs as the tools.
If I remove pi-hole, all names show in these tools.

Is this the same as the 'dont see hostnames in web console' topics I've read?
Is there any way other than setting static IPs/reservations and editing a hosts file?
What might I be missing please?

Debug Token: https://tricorder.pi-hole.net/D61puIkD/

Thanks

Let's check whether your router's embedded DNS server at 192.168.5.254 does know about hostnames.

What's the result of

nslookup <supposedly-known-name> 192.168.5.254
nslookup <supposedly-known-name>.home 192.168.5.254
nslookup 192.168.5.19 192.168.5.254

Substitute <supposedly-known-name> with a hostname as listed by your your router.

Thanks

Using a smart plug as an example:
I can ping it by name just fine from my windows laptop, as either 'Smart-Consoles' or 'Smart-Consoles.home':

ping Smart-Consoles.home
Pinging Smart-Consoles.home [192.168.5.114] with 32 bytes of data:
Reply from 192.168.5.114: bytes=32 time=9ms TTL=255
ping Smart-Consoles
Pinging Smart-Consoles.home [192.168.5.114] with 32 bytes of data:
Reply from 192.168.5.114: bytes=32 time=9ms TTL=255
nslookup Smart-Consoles
Server:  Ubuntuserver
Address:  192.168.5.252

Name:    Smart-Consoles.home
Address:  192.168.5.114
nslookup Smart-Consoles 192.168.5.254
Server:  UnKnown
Address:  192.168.5.254

Name:    Smart-Consoles.home
Address:  192.168.5.114
nslookup 192.168.5.114 192.168.5.254
Server:  UnKnown
Address:  192.168.5.254

*** UnKnown can't find 192.168.5.114: Non-existent domain
nslookup 192.168.5.114
Server:  Ubuntuserver
Address:  192.168.5.252

*** Ubuntuserver can't find 192.168.5.114: Non-existent domain

It's Ubuntuserver/.252 that has Pi-hole on it .254 is my router

Query log in Pi-hole looks like this:

Tools>network looks like this:

It's similar in any network scanning tool I can think to try:
image
IP, MAC, no hostname

I guess those last two nslookups show the issue. scanning software was OK without pi-hole involved though.. so it's got me a confused tbh

Those two nslookups show that your router's internal DNS server does hold the A records for Smart-Consoles, but not the respective PTR records.
Pi-hole would need correct PTR type replies in order to associate observed IP addresses with hostnames (the same would be true for other services as well).

Your router's DNS server should be good enough to access hosts by name, but if you require reverse lookups to work, the best way to ensure that would be to create Local DNS Records in Pi-hole.

I've just reset my router and set nothing to do with pi-hole and still get the same.

It's been like this for a fair while now. I must have been mistaken, it can't have started when I added the pi-hole to my setup, but must have been when I upgraded to proper fibre and started using this router. Sorry to have bothered you with that bit.

How should I add local DNS records in Pi-hole to work around this pls? Can I do that and still use DHCP?

Just add them via Pi-hole's UI under Local DNS | DNS Records.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.