Network Overview entries missing MAC, interface and hostname

Under Network Overview, I would have expected the hosts on my network to show their MAC address, their interface and hostname. I am using a pfSense installation that hands out DHCP to clients.
All clients have static DHCP reservations, and most of them include a hostname.

My clients are distributed over three VLANs:

  • VLAN1 (management) - where the network equipment lives, including firewall and pi-hole
  • VLAN10 (Trusted) - where our usual network devices live (laptop, tablet, smartphone)
  • VLAN20 (IOT) - where our IoT stuff lives (TV, thermostat, ereaders, Sonos, PV installation, etc.)
    All VLANs have internet using pi-hole. I can see that filtering works fine and ads are blocked over all 3 VLANs.

In pi-hole settings, I have the following configured:
DNS: upstream DNS server being 192.168.1.1 (my pfSense box)
Listen only on interface eth0
The 3 checkboxes under Advanced Configuration are turned off.
I have enabled conditional forwarding with the following settings:

  • Local network 192.168.0.0/16
  • Router: 192.168.1.1
  • Local domain name: empty

The situation in practice is that neither the MAC address, the interface as well as hostname is parsed to pi-hole. Strange side-effect is that VLAN1 does seem to expose details, that are picked up by pi-hole. How can I have the other VLANs transfer this information over?


With your setup, you won't be able to see the correct hardware address, but showing the right hostnames should be possible.

With regard to MAC addresses, what you see is the result of deploying VLANs in your network.

MAC addresses are link-local, i.e only visible to devices on he same network segment (aka link). By creating a VLAN, you define traffic on certain interfaces (commonly labeled ports on your router or switch) to define such a segment.

MAC addresses in one VLAN are ony visible in that VLAN, but not in any other. Hence, Pi-hole only knows about directly connected MAC addresses in your VLAN1.

IP addresses are of course visible network wide, but any inter VLAN communication has to be routed through a gateway.

You may be able to overcome this by setting up Pi-hole as your DHCP server, but that would require proper manual configuration of Pi-hole's embedded dnsmasq, and it may also rely on your router to be configured as DHCP relay, forwarding DHCP broadcasts to Pi-hole.

With regards to your hostname definitions:
The IP address to hostname association is only known by your pfSense router (or maybe not), which is acting as DHCP server.

You may configure Pi-hole to resolve local hostnames by either enabling Conditional Forwarding or by using your router as Pi-hole's only upstream DNS server.

Of course, this will only work if your router is able to provide the correct DNS replies for reverse and normal lookups of local addresses and hostnames - and there are routers that don't.
Seeing that some of your network equipment is Ubiquiti: Some EdgeRouter variants are known to fall into this category, unless they are explicitly configured use dnsmasq instead of ISC as DHCP server.
You'd have to research other models with Ubiquit's support.

Similarily, you'd have to find out how your pfSense installations fits into this.

1 Like

Thanks @Bucking_Horn for your quick response, much appreciated!
I am not in favor of tinkering around with dnsmasq settings, especially as this setup works really neat, and this is just a minor detail (that I hope to have fixed, but seems not to be the case :slight_smile: ).

Regarding the resolving of hostnames, I only have configured my firewall to be the upstream DNS server. I also tried with Conditional Forwarding, but the entries do not populate. Do you recommend any steps for me to check how I can get these in? I rebooted the pi-hole already with the right settings in place.

Thanks again!

[edit, I modified /etc/hosts and put the names in there. That works, but I rather would have them populated from the router, as I am not sure the /etc/hosts file will survive updates of pi-hole?]

You did check my above hints for irresponsive routers, didn't you?

You could check if your router knows about your hosts by running the following commands from your Pi-hole machine:

dig @192.168.1.1 some-host-name
dig @192.168.1.1 -x 192.168.x.x

In the first statement, replace some-host-name with an actual hostname of one your devices.
In the second, replace 192.168.x.x with a client's IP address, preferrably the one returned by the first statement.

Thanks @Bucking_Horn. I re-read it, and then knew what to do.
Apparently, the hostnames are for some reason not parsed, but that is not an issue.
I am using Unbound on pi-hole now, making use of /etc/hosts for hostname lookups!
This works like a charm! I only use Unbound on my firewall on the localhost interface, so that pfSense can perform DNS lookups. Lookups on other interfaces I have disabled now.

Have a nice day!

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