Hacker News new | ask | show | jobs
by Hello71 2618 days ago
> new recursive resolver instead of using unbound or dnsmasq

systemd-resolved is a non-recursive resolver. so is dnsmasq.

1 comments

What's the correct word for "something local that talks to 8.8.8.8/whatever and caches responses" if not recursive? Forwarding?
Forwarding, yes.

This terminology is tricky, and the fact that toast0 incorrectly thinks that this is a "stub resolver" is indicative of how people get this stuff wildly wrong. A "stub resolver" is in fact the client that makes requests of the server that you are asking about.

I use terminology borrowed from HTTP when explaining this to people. A DNS server that listens on a local IP address and makes back-end queries to another DNS server is a proxy DNS server, and the fact that it hands off all of the grunt work (of stitching together the back-end partial answers to make the front-end complete answers) to another proxy DNS server makes it a forwarding proxy DNS server. If it didn't hand off the grunt work and did all of the query resolution itself, talking directly to content DNS servers, it would be a resolving proxy DNS server.

And the software that is in applications, that formulates requests and sends them over to a proxy DNS server, is a DNS client library.

8.8.8.8 is a resolving proxy.

* http://jdebp.eu./FGA/dns-server-roles.html

* http://jdebp.eu./FGA/dns-query-resolution.html

* https://unix.stackexchange.com/a/500565/5132

   Stub resolver:  A resolver that cannot perform all resolution itself.
      Stub resolvers generally depend on a recursive resolver to
      undertake the actual resolution function.  Stub resolvers are
      discussed but never fully defined in Section 5.3.1 of [RFC1034].
      They are fully defined in Section 6.1.3.1 of [RFC1123].
https://tools.ietf.org/html/rfc8499
That's a stub resolver.