[Solved] Realtime Graphs -> Connections not displaying rDNS when machine is not the primary DNS server?

Network context: I have a 192.168.1.0 subnet with multiple OpenWRT gateways at .1, .5, and .10. That all works perfectly, no questions there. Router .1 is the authoritative DHCP server for the local subnet, and the server where all DNS queries in the subnet are pointed (including from .5 and .10). All three run identical hardware and the same instance of ROOter-modified OpenWRT (GoldenOrb_2020-05-16 ( OpenWrt 18.06.7 )), with just a handful of settings tweaks between them.

If I view Status -> Realtime Graphs -> Connections on .1, I get proper rDNS hostnames for all my local subnet hosts (as well as outside hosts) and see hostnames for everything internal that dnsmasq handles names for. However, on .5 and .10, I only see IPs for local addresses (external hostnames still resolve fine).

  1. Is this intentional behavior - will the Connections graph only pull local hostnames if it happens to be on the router that's also the main dnsmasq instance?

  2. If not, what are likely possibilities where I've probably just misconfigured this?

  3. If yes on #1, is there an easy workaround, at least for my hosts with static IPs, to get local hosts resolved on the two alternate gateway's connections pages? Most of my important internal addresses are already set to get a static IP from the .1 dnsmasq instance anyway.

Thanks!

This is how dnsmasq works.
If you want to resolve PTR without active DHCP leases, set up persistent hostnames:
https://openwrt.org/docs/guide-user/base-system/dhcp_configuration#hostnames

Okay, so I will also take it that I'm not crazy and I should be getting resolution there ... and a little bit of testing between the routers with nslookup just now does make it clear that I do in fact have something misconfigured. Thanks, that's got me started!

1 Like

Found it! I had two problems that were combining to cause this to fail.

First, I realized once I started to "dig" around that my secondary gateway routers (.5 and .10) weren't even sending their queries for local (.lan) lookups to .1 like they were supposed to, despite my directive in the config file:

list server '/lan/192.168.1.1'

This turns out to be because someone (me, oops) forgot to remove:

option local '/lan/'

which of course explicitly directs dnsmasq not to forward requests for the lan domain anywhere else. Fixing that and reloading dnsmasq immediately fixed my forward resolution issues for local lan, at least. That still left reverse resolution not functioning. That turned out to be a typo on my part. I lost an evening hunting that one, because I didn't realize I'd typed:

list rev-server '192.168.1.1/16,192.168.1.1'

instead of:

list rev_server '192.168.1.1/16,192.168.1.1'

So, as I suspected, I was undone by having stared at the files too long. One extra line and one accidental substitution of - instead of _. Thanks for giving me the point in the right direction - this has been a really good chance to learn dnsmasq configuration better, which was my goal!

Now, all three routers are properly doing their reverse resolutions on the realtime graphs page and elsewhere.

1 Like

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.

2 Likes

I've gone the step-5 path, but is there any way for me to perform the title edit to add [SOLVED]? Mostly for future reference, I'm not clear if I can't edit because the original post is over a certain age, or because of some other factor like the age of my account. Thanks!

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