Re: New document on Unbound caching DNS server

Rick Moen <rick-IyCrq+X4Fdq2oZ/[email protected]> Thu, 13 Sep 2018 19:15:10 -0700
Newsgroups gmane.org.user-groups.linux.svlug
Organization If you lived here, you'd be $HOME already.
Message-ID <[email protected]>
Quoting Steve Litt ([email protected]):

> The Unbound DNS server is the new kid on the block. A lot of admins are
> replacing BIND9 with Unbound, perhaps plus an authoritative DNS server
> for their domain. 

Strictly speaking, that's a fruit-basket to orange comparison.  Unbound
doesn't replace BIND9.  It replaces one function of BIND9.

Quoting from the table of contents in my page
http://linuxmafia.com/faq/Network_Other/dns-servers.html:

  o  BIND9: authoritative, recursive, AXFR, client
  o  Unbound: recursive[1]

> More interesting still, a lot of laptop owners are installing Unbound
> to replace their old 8.8.8.8 or per-accesspoint resolvers with a full
> caching DNS, which is more secure, faster, and makes for much faster
> browsing.
> 
> At  http://troubleshooters.com/linux/unbound_nsd/unbound.htm  I've 
> created a new document detailing the installation and setup of Unbound,

Thanks.  Skim reading it now.

   according to its Web site, [Unbound] also does recursive queries,
   although I'm not sure exactly what they mean by that

It means it complies with the request implied by the 'RD' bit (recursion
desired) being set on a query.  That bit being set loosely translates to
'Just go ahead and chase through as many delegations as necessary to get
me the answer, rather than making me, the DNS client, micromanage the
delegation process and climb the delegation hierarchy until we get
answers.

I explain the recursive vs. iterative difference in my 2010 article 'The
Village of Lan: A Networking Fairy Tale':

  Dwayne is a nameserver offering iterative service only (running
  dproxy). You can get any DNS answer out of him _eventually_, but he's not
  willing to bounce around the state following leads. A conversation with
  Dwayne is sort of punctuated:

  "Do you know where uncle-enzo.linuxmafia.com is?" "No."
  "Well, do you know who knows?" "No."
  "Well, do you know who knows where to find .com nameservers?" "No."
  "Well, can you ask the root nameserver where to find .com nameservers?"
  "OK." [Gives list of 13.]
  "Can you ask .com nameserver #1 who answers for linuxmafia.com?" "OK."
  [Gets list of five nameserver IPs.]
  "Can you ask linuxmafia.com nameserver #1 where
  uncle-enzo.linuxmafia.com is?" "OK." [Queries and gets answer.]


In contrast to:

  Ralph is a recursive nameserver (an instance of PowerDNS Recursor).
  Ralph is a born researcher: He doesn't have any DNS knowledge of his own
  (offers no authoritative service), but absolutely lives for finding out
  what DNS data can be unearthed from guys in other villages. If you ask
  him a DNS question, he'll figure out whom to ask, go there regardless of
  where it takes him, if necessary chase around the state following leads,
  and only bother you when he has the final answer. (This is the
  "recursive" part. Compare with the iterative approach.) Like
  everyone else in this village except Larry, he has a good memory
  (caching).

  Let's say, Larry asks Ralph, "What's uncle-enzo.linuxmafia.com?" In the
  worst case, if Ralph is just back from vacation (has a depleted cache),
  Ralph goes off for a while, and says: "I looked on my desk to see if the
  answer were there (in cache), but it wasn't. So, I checked to see if
  answers to the question 'Where are nameservers for the linuxmafia.com
  domain?' were there, but they weren't either. So, I check to see if
  answers to the question 'Where are nameservers for the .com top-level
  domain?' were there, but they weren't either. So, I finally fell back on
  my Rolodex's list of 13 IP addresses of root nameservers, picked one,
  and visited it. I asked it where I can get answers to .com questions. It
  gave me a list of .com nameserver IPs. I picked one, visited it, and
  asked who knows about linuxmafia.com DNS matters. It gave me a list of
  linuxmafia.com IPs, I picked one, visited it, asked it where
  uncle-enzo.linuxmafia.com is, brought the answer back, and here y'are.
  Oh, and I've made a note who knows where .com information is, where
  specifically linuxmafia.com information is, and also where
  uncle-enzo.linuxmafia.com is, just in case I'm asked again."

Give the article a try:  You might find it amusing.
http://linuxmafia.com/~rick/lan.html


Returning to your article

    A caching DNS server

Ugh.  I really wish someone would take that phrase out and garrote it, 
because all DNS software (except authoritative-only daemons) does
caching, so saying a server is 'caching' tells you nothing useful.

IMO, your terminology, there, is a problem, as it suggests a category
distinction that really isn't real and isn't the issue.

   Unbound is capable of passing queries to authoritative servers

Well, I would _hope_ so.  If it couldn't, it would never get any data 
at all.  That's the only place the data ultimately comes from, you know.

   Unbound can also resolve local LAN hosts via its local-zone,
   local-data, and local-data-ptr server commands in its configuration
   file. In other words, instead of delegating authority to another server,
   Unbound can do authoritative DNS, to a limited degree, all by itself.

Um, the alternative scenario isn't _delegation_, but rather consulting
data at or derived from authoritative servers.

   Unbound is fast becoming the go-to DNS caching server, replacing Bind

No, it's fast becoming the go-to _recursive_ DNS nameserver, replacing the 
_recursive_ functionality of BIND9.