In short: A host having last part in its IP .100 in my home network lost its ability to do name resolution after the upgrade. All the other hosts in the network weren't affected. Here are excerpts from my findings.
The main router running OpenWrt 24.10.0 shows this. The main suspect shown, but this is where the weirdness begins.
root@fir4:~# dnsmasq -v
Dnsmasq version 2.90 Copyright (c) 2000-2024 Simon Kelley
Compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
Logging enabled on the main router and doing name resolution via dnsmasq for names in local domain and dnsmasq forwarding other names to dnscrypt-proxy. In the excerpt another host resolves a local hostname first. Second the host, which lost its name resolution, does the same query. Something somewhere adds local domain second time to the query.
root@fir4:~# logread -f
Sat Feb 8 09:44:37 2025 daemon.info dnsmasq[1]: 41 192.168.0.103/58329 query[AAAA] hud.ebirdie from 192.168.0.103
Sat Feb 8 09:44:37 2025 daemon.info dnsmasq[1]: 41 192.168.0.103/58329 config hud.ebirdie is NODATA-IPv6
Sat Feb 8 09:44:37 2025 daemon.info dnsmasq[1]: 42 192.168.0.103/37701 query[A] hud.ebirdie from 192.168.0.103
Sat Feb 8 09:44:37 2025 daemon.info dnsmasq[1]: 42 192.168.0.103/37701 /etc/hosts hud.ebirdie is 192.168.0.95
Sat Feb 8 09:45:11 2025 daemon.info dnsmasq[1]: 43 192.168.0.100/43340 query[A] hud.ebirdie.ebirdie from 192.168.0.100
Sat Feb 8 09:45:11 2025 daemon.info dnsmasq[1]: 43 192.168.0.100/43340 config hud.ebirdie.ebirdie is NXDOMAIN
Sat Feb 8 09:45:11 2025 daemon.info dnsmasq[1]: 44 192.168.0.100/43340 query[AAAA] hud.ebirdie.ebirdie from 192.168.0.100
Sat Feb 8 09:45:11 2025 daemon.info dnsmasq[1]: 44 192.168.0.100/43340 config hud.ebirdie.ebirdie is NXDOMAIN
There isn't a subdomain ebirdie.ebirdie
so the reply is logical. But why this happens on one particular host, is puzzling?
A name resolution done for an external service from the problem host. The query get yet again local domain appended, which is wrong, should not happen and did not before the upgrade.
root@fir4:~# logread -f
Sat Feb 8 09:46:13 2025 daemon.info dnsmasq[1]: 45 192.168.0.100/51741 query[A] ftp.funet.fi.ebirdie from 192.168.0.100
Sat Feb 8 09:46:13 2025 daemon.info dnsmasq[1]: 45 192.168.0.100/51741 config ftp.funet.fi.ebirdie is NXDOMAIN
Sat Feb 8 09:46:13 2025 daemon.info dnsmasq[1]: 46 192.168.0.100/51741 query[AAAA] ftp.funet.fi.ebirdie from 192.168.0.100
Sat Feb 8 09:46:13 2025 daemon.info dnsmasq[1]: 46 192.168.0.100/51741 config ftp.funet.fi.ebirdie is NXDOMAIN
The same name resolution as above done from another host. All well and done.
root@fir4:~# logread -f
Sat Feb 8 09:46:55 2025 daemon.info dnsmasq[1]: 48 192.168.0.95/34036 query[A] ftp.funet.fi from 192.168.0.95
Sat Feb 8 09:46:55 2025 daemon.info dnsmasq[1]: 48 192.168.0.95/34036 forwarded ftp.funet.fi to ::1#5335
Sat Feb 8 09:46:55 2025 daemon.info dnsmasq[1]: 49 192.168.0.95/34036 query[AAAA] ftp.funet.fi from 192.168.0.95
Sat Feb 8 09:46:55 2025 daemon.info dnsmasq[1]: 49 192.168.0.95/34036 forwarded ftp.funet.fi to ::1#5335
Sat Feb 8 09:46:55 2025 daemon.info dnsmasq[1]: 49 192.168.0.95/34036 reply ftp.funet.fi is 2001:708:10:8::2
Sat Feb 8 09:46:55 2025 daemon.info dnsmasq[1]: 48 192.168.0.95/34036 reply ftp.funet.fi is 193.166.3.2
The hosts above both run the same system software. The resolver software is libc6 and there was no differences in their /etc/resolv.conf
.
Before I took the above excerpts, I made many efforts to change dnsmasq configuration. I cleaned up everything from dnsmasq conf, which pointed to the problem host except a host record in /etc/hosts
. The changes had no effect. After that I restored the conf back.
This is what can be seen on wire at the main router running OpenWrt 24.10.0. The problem host doing name resolution.
root@fir4:~# tcpdump -i eth0 -n host 192.168.0.100
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:16:32.291672 IP 192.168.0.100.56026 > 192.168.0.254.53: 14051+ A? ftp.funet.fi. (60)
10:16:37.297033 IP 192.168.0.100.56026 > 192.168.0.254.53: 14051+ A? ftp.funet.fi. (60)
10:16:37.452623 ARP, Request who-has 192.168.0.254 tell 192.168.0.100, length 46
10:16:37.452668 ARP, Reply 192.168.0.254 is-at e4:5f:01:54:10:9d, length 28
10:16:42.302463 IP 192.168.0.100.58799 > 192.168.0.254.53: 14505+ A? ftp.funet.fi.ebirdie. (76)
10:16:42.303036 IP 192.168.0.254.53 > 192.168.0.100.58799: 14505 NXDomain 0/0/0 (38)
10:16:42.303306 IP 192.168.0.254.53 > 192.168.0.100.58799: 16033 NXDomain 0/0/0 (38)
10:16:47.335666 ARP, Request who-has 192.168.0.100 tell 192.168.0.245, length 28
10:16:47.336151 ARP, Reply 192.168.0.100 is-at 52:54:00:3e:56:78, length 46
The main router gets a query as it should. After a while and after the ARP lines, comes a really weird line.
The same name resolution done from another host seen from wire. All well and done.
root@fir4:~# tcpdump -i eth0 -n host 192.168.0.95
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:23:38.271412 IP 192.168.0.103.57974 > 192.168.0.95.22: Flags [S], seq 1636205869, win 64240, options [mss 1460,sackOK,TS val 1004711519 ecr 0,nop,wscale 7], length 0
10:23:43.264343 IP 192.168.0.95.40502 > 192.168.0.254.53: 21234+ A? ftp.funet.fi. (30)
10:23:43.264358 IP 192.168.0.95.40502 > 192.168.0.254.53: 6137+ AAAA? ftp.funet.fi. (30)
10:23:43.265478 IP 192.168.0.254.53 > 192.168.0.95.40502: 21234 1/0/1 A 193.166.3.2 (57)
10:23:43.265711 IP 192.168.0.254.53 > 192.168.0.95.40502: 6137 1/0/1 AAAA 2001:708:10:8::2 (69)
Downgrading the main router to.
-----------------------------------------------------
OpenWrt 23.05.5, r24106-10cc5fcd00
-----------------------------------------------------
root@fir4:~# dnsmasq -v
Dnsmasq version 2.90 Copyright (c) 2000-2024 Simon Kelley
Compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
The problem host gains back its name resolution without any other action than the downgrade. As a bonus, in weirdness, the previous OpenWrt release seems to have the same version of dnsmasq as 24.10.0 has.
Anyone having a sensible explanation, why this is happening to one of my hosts with 24.10.0?