Slow dns queries without upstream dns

Use dns server only with addn-hosts without upstream DNS.

**Client Side : **

$ resolvectl

Link 2 (ens18)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 10.0.0.1
         DNS Servers: 10.0.0.1
          DNS Domain: lan

$ time resolvectl query our.local.domain.name.com # IT IS FAST
our.local.domain.name.com: 10.0.0.101 -- link: ens18

-- Information acquired via protocol DNS in 2.8ms.
-- Data is authenticated: no

real    0m0.014s
user    0m0.001s
sys     0m0.011s

$ time ping -c 1 our.local.domain.name.com # SO SLOW!!
PING our.local.domain.name.com (10.0.0.101) 56(84) bytes of data.
64 bytes from target-hostname.lan (10.0.0.101): icmp_seq=1 ttl=64 time=0.210 ms

--- our.local.domain.name.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.210/0.210/0.210/0.000 ms

real    0m15.019s
user    0m0.010s
sys     0m0.002s

**dnsmasq log : **

**dnsmasq log : **

Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17765 10.0.0.2/47953 query[A] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17765 10.0.0.2/47953 /etc/config/custom-hosts our.local.domain.name.com is 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17766 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17766 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17767 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17767 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17768 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17768 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17769 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17769 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17770 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17770 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17771 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17771 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17772 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17772 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17773 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17773 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17774 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17774 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17775 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17775 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17776 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17776 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17777 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17777 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17778 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17778 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17779 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17779 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17780 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17780 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17781 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17781 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17782 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17782 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17783 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17783 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17784 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17784 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17785 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17785 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17786 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17786 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17787 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17787 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17788 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17788 10.0.0.2/46373 config error is REFUSED
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17789 10.0.0.2/46373 query[AAAA] our.local.domain.name.com from 10.0.0.2
Fri Mar 11 03:04:42 2022 daemon.info dnsmasq[11588]: 17789 10.0.0.2/46373 config error is REFUSED

Why are AAAA records queried?
Can I avoid using AAAA records?

I assume because you made a query.

It doesn't seem that you are.

I think what you're trying to do is only query IPv4 (i.e. A Records). Simply use the correct command for the querying software you're using on the client. This doesn't seem OpenWrt related.

???

The OpenWrt is not a DNS server, as it has to forward the requests. So it's unclear what you mean "without upstream DNS". If you had no upstream DNS servers configured, your queries would fail.

Regarding addn-hosts, are you adding local domains using non-OpenWrt syntax?

There is a method for adding them properly in /etc/config/dhcp

config domain                  
        option ip '10.0.0.101'    
        option name 'our.local.domain.name.com'

Lastly, you note slow DNS queries...is that because you're comparing ping time to the actual DNS response time?

1 Like

Actually, I haven't been able to figure out the exact cause of this problem either.

But in dnsmasq.conf

server=/our.local.domain.name.com/

After adding , it worked as desired.

Thank you.