d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<!--
71cef386fae61275b03e203825680b39fedaa8c6Tinderbox User - Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - This Source Code Form is subject to the terms of the Mozilla Public
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - License, v. 2.0. If a copy of the MPL was not distributed with this
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - file, You can obtain one at http://mozilla.org/MPL/2.0/.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein-->
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews<html lang="en">
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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<link rel="home" 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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="chapter">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h1 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="Bv9ARM.ch05"></a>Chapter�5.�The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</h1></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="toc">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><b>Table of Contents</b></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dl class="toc">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch05.html#lightweight_resolver">The Lightweight Resolver Library</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="section"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</dl>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <div class="section">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="lightweight_resolver"></a>The Lightweight Resolver Library</h2></div></div></div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <div class="section">
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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To use the lightweight resolver interface, the system must
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt run the resolver daemon <span class="command"><strong>lwresd</strong></span> or a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein local
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt name server configured with a <span class="command"><strong>lwres</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt address can be overridden by <span class="command"><strong>lwserver</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lines in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc/resolv.conf</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span class="command"><strong>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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span class="command"><strong>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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span class="command"><strong>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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span class="command"><strong>lwres</strong></span> statement in <code class="filename">named.conf</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The number of client queries that the <span class="command"><strong>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>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </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>
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.3 (Extended Support Version)</p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</body>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</html>