Skip to content

fix(h4): disable the unconfigured dnsmasq listening on both LAN addresses (2.14) - #572

Merged
swares merged 1 commit into
mainfrom
fix/h4-disable-unused-dnsmasq
Sep 6, 2026
Merged

fix(h4): disable the unconfigured dnsmasq listening on both LAN addresses (2.14)#572
swares merged 1 commit into
mainfrom
fix/h4-disable-unused-dnsmasq

Conversation

@swares

@swares swares commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Found while establishing which interface the H4 should source LAN traffic from -- a question with nothing to do with DNS. dnsmasq was bound to 192.168.1.156:53 and 192.168.1.160:53 on a host that is not in the dns inventory group, is not in lab_dns_servers, and is not documented as serving DNS. Third time in two days that 'nothing in the repo references it' was false about the running system, after the writable Docker socket and the H4's own .156 address.

Not a fifth lab resolver: the entire config is bind-interfaces, from /etc/dnsmasq.d/ubuntu-fan, an Ubuntu default nobody wrote. No host-record, no address=, no local=, no server=. It forwarded to systemd-resolved, which forwards to the real resolvers -- a redundant caching hop.

And nothing had ever used it. SIGUSR1 makes dnsmasq dump counters to the journal without disrupting anything: queries forwarded 0, answered locally 0, authoritative zones 0, 0/0 cache insertions, over 5 days 14 hours of uptime. Zero, not low -- a weekly consumer would have appeared. Same discipline 2.9 is waiting on for Vault: remove a listener because the service says nobody is talking to it, not because the repo is silent.

Disables the unit, does not purge the package: dnsmasq-base is a dependency of other things, and libvirt spawns its own instances per virtual network rather than using this systemd unit. The play refuses to act if the counters are non-zero, verifies by checking what is still bound to :53 rather than trusting systemctl is-active, and confirms the H4 can still resolve api.lab.home.arpa afterwards.

…sses (2.14)

Found while establishing which interface the H4 should source LAN traffic from -- a question with nothing to do with DNS. dnsmasq was bound to 192.168.1.156:53 and 192.168.1.160:53 on a host that is not in the dns inventory group, is not in lab_dns_servers, and is not documented as serving DNS. Third time in two days that 'nothing in the repo references it' was false about the running system, after the writable Docker socket and the H4's own .156 address.

Not a fifth lab resolver: the entire config is bind-interfaces, from /etc/dnsmasq.d/ubuntu-fan, an Ubuntu default nobody wrote. No host-record, no address=, no local=, no server=. It forwarded to systemd-resolved, which forwards to the real resolvers -- a redundant caching hop.

And nothing had ever used it. SIGUSR1 makes dnsmasq dump counters to the journal without disrupting anything: queries forwarded 0, answered locally 0, authoritative zones 0, 0/0 cache insertions, over 5 days 14 hours of uptime. Zero, not low -- a weekly consumer would have appeared. Same discipline 2.9 is waiting on for Vault: remove a listener because the service says nobody is talking to it, not because the repo is silent.

Disables the unit, does not purge the package: dnsmasq-base is a dependency of other things, and libvirt spawns its own instances per virtual network rather than using this systemd unit. The play refuses to act if the counters are non-zero, verifies by checking what is still bound to :53 rather than trusting systemctl is-active, and confirms the H4 can still resolve api.lab.home.arpa afterwards.
@swares
swares merged commit 57a01b1 into main Sep 6, 2026
4 checks passed
@swares
swares deleted the fix/h4-disable-unused-dnsmasq branch September 6, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant