Bv9ARM.ch05.html revision 5d564da348e890e42f63eebf2dced9a05b41f4fb
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<!--
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User - Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater - Permission to use, copy, modify, and/or distribute this software for any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - purpose with or without fee is hereby granted, provided that the above
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - copyright notice and this permission notice appear in all copies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - PERFORMANCE OF THIS SOFTWARE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein-->
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User<!-- $Id$ -->
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<html>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<head>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<title>Chapter�5.�The BIND 9 Lightweight Resolver</title>
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="prev" href="Bv9ARM.ch04.html" title="Chapter�4.�Advanced DNS Features">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="next" href="Bv9ARM.ch06.html" title="Chapter�6.�BIND 9 Configuration Reference">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</head>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="navheader">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<table width="100%" summary="Navigation header">
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<tr><th colspan="3" align="center">Chapter�5.�The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</th></tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="left">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a accesskey="p" href="Bv9ARM.ch04.html">Prev</a>�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<th width="60%" align="center">�</th>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch06.html">Next</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</table>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<hr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="chapter" lang="en">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title">
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<a name="Bv9ARM.ch05"></a>Chapter�5.�The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="toc">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><b>Table of Contents</b></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dl>
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2571844">The Lightweight Resolver Library</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</dl>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="sect1" lang="en">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User<a name="id2571844"></a>The Lightweight Resolver Library</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Traditionally applications have been linked with a stub resolver
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein library that sends recursive DNS queries to a local caching name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 once introduced new complexity into the resolution process,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein such as following A6 chains and DNAME records, and simultaneous
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lookup of IPv4 and IPv6 addresses. Though most of the complexity was
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then removed, these are hard or impossible
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to implement in a traditional stub resolver.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <acronym class="acronym">BIND</acronym> 9 therefore can also provide resolution
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein services to local clients
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein using a combination of a lightweight resolver library and a resolver
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein daemon process running on the local host. These communicate using
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a simple UDP-based protocol, the "lightweight resolver protocol"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that is distinct from and simpler than the full DNS protocol.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="sect1" lang="en">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="lwresd"></a>Running a Resolver Daemon</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To use the lightweight resolver interface, the system must
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein run the resolver daemon <span><strong class="command">lwresd</strong></span> or a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein local
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name server configured with a <span><strong class="command">lwres</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein By default, applications using the lightweight resolver library will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein make
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UDP requests to the IPv4 loopback address (127.0.0.1) on port 921.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address can be overridden by <span><strong class="command">lwserver</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lines in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc/resolv.conf</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The daemon currently only looks in the DNS, but in the future
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it may use other sources such as <code class="filename">/etc/hosts</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein NIS, etc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">lwresd</strong></span> daemon is essentially a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein caching-only name server that responds to requests using the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lightweight
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein resolver protocol rather than the DNS protocol. Because it needs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to run on each host, it is designed to require no or minimal
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuration.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Unless configured otherwise, it uses the name servers listed on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">nameserver</strong></span> lines in <code class="filename">/etc/resolv.conf</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as forwarders, but is also capable of doing the resolution
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein autonomously if
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein none are specified.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">lwresd</strong></span> daemon may also be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configured with a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">named.conf</code> style configuration file,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc/lwresd.conf</code> by default. A name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server may also
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be configured to act as a lightweight resolver daemon using the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">lwres</strong></span> statement in <code class="filename">named.conf</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User<p>
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User The number of client queries that the <span><strong class="command">lwresd</strong></span>
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User daemon is able to serve can be set using the
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User <code class="option">lwres-tasks</code> and <code class="option">lwres-clients</code>
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User statements in the configuration.
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User </p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="navfooter">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<hr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<table width="100%" summary="Navigation footer">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="left">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a accesskey="p" href="Bv9ARM.ch04.html">Prev</a>�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="center">�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="right">�<a accesskey="n" href="Bv9ARM.ch06.html">Next</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="left" valign="top">Chapter�4.�Advanced DNS Features�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<td width="40%" align="right" valign="top">�Chapter�6.�<acronym class="acronym">BIND</acronym> 9 Configuration Reference</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</table>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
30c0c7470d5bfabd8f43c563f4eca636d06cc484Tinderbox User<p style="text-align: center;">BIND 9.11.0pre-alpha</p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</body>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</html>