I am not familiar with that router, so cannot provide any direct support.
Other routers may display similar behaviour until configured to enable automatic DNS population from DHCP entries or to enable a different on-device DHCP server (e.g. Ubiquiti ER-X can switch to dnsmasq).
You should consult your router's manual and online support fourms to get help on this matter.
Alternatively, since you are running Pi-hole v5, you could manually set Custom DNS entries to make it aware of your preferred hostnames.
My RB is the DHCP server for my network. I lease to clients with the Pi-hole IP as the DNS server, and Pi-hole is set to conditionally forward my local domain to the RB.
Having the clients use the RB's DNS server will mean that Pi-hole will only see 192.168.25.2 as the source IP address. The web interface will not be able to show you any information on individual clients.
Ah, that's the problem. MTik DHCP server doesn't automatically populate the DNS static entries with client names. Needs some "tricks". Check the script attached (modify for your local domain name preference.)
# When "1" all DNS entries with IP address of DHCP lease are removed
:local dnsRemoveAllByIp "1"
# When "1" all DNS entries with hostname of DHCP lease are removed
:local dnsRemoveAllByName "1"
# When "1" addition and removal of DNS entries is always done also for non-FQDN hostname
:local dnsAlwaysNonfqdn "1"
# DNS domain to add after DHCP client hostname
:local dnsDomain "lan"
# DNS TTL to set for DNS entries
:local dnsTtl "00:15:00"
# Source of DHCP client hostname, can be "lease-hostname" or any other lease attribute, like "host-name" or "comment"
:local leaseClientHostnameSource "lease-hostname"
:local leaseComment "dhcp-lease-script_$leaseServerName_$leaseClientHostnameSource"
:local leaseClientHostname
:if ($leaseClientHostnameSource = "lease-hostname") do={
:set leaseClientHostname $"lease-hostname"
} else={
:set leaseClientHostname ([:pick \
[/ip dhcp-server lease print as-value where server="$leaseServerName" address="$leaseActIP" mac-address="$leaseActMAC"] \
0]->"$leaseClientHostnameSource")
}
:local leaseClientHostnameShort "$leaseClientHostname"
:local leaseClientHostnames "$leaseClientHostname"
:if ([:len [$dnsDomain]] > 0) do={
:set leaseClientHostname "$leaseClientHostname.$dnsDomain"
:if ($dnsAlwaysNonfqdn = "1") do={
:set leaseClientHostnames "$leaseClientHostname,$leaseClientHostnameShort"
}
}
:if ($dnsRemoveAllByIp = "1") do={
/ip dns static remove [/ip dns static find comment="$leaseComment" and address="$leaseActIP"]
}
:foreach h in=[:toarray value="$leaseClientHostnames"] do={
:if ($dnsRemoveAllByName = "1") do={
/ip dns static remove [/ip dns static find comment="$leaseComment" and name="$h"]
}
/ip dns static remove [/ip dns static find comment="$leaseComment" and address="$leaseActIP" and name="$h"]
:if ($leaseBound = "1") do={
:delay 1
/ip dns static add comment="$leaseComment" address="$leaseActIP" name="$h" ttl="$dnsTtl"
}
}
I wouldn't call it facepalm, I'm used to every other DHCP server knowing how to update DNS as well. I got caught in the same exact situation you're in now.