1*00b67f09SDavid van Moolenbroek<!-- 2*00b67f09SDavid van Moolenbroek - Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") 3*00b67f09SDavid van Moolenbroek - Copyright (C) 2000-2003 Internet Software Consortium. 4*00b67f09SDavid van Moolenbroek - 5*00b67f09SDavid van Moolenbroek - Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek - purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek - copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek - 9*00b67f09SDavid van Moolenbroek - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek - PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek--> 17*00b67f09SDavid van Moolenbroek<!-- Id --> 18*00b67f09SDavid van Moolenbroek<html> 19*00b67f09SDavid van Moolenbroek<head> 20*00b67f09SDavid van Moolenbroek<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 21*00b67f09SDavid van Moolenbroek<title>Chapter�5.�The BIND 9 Lightweight Resolver</title> 22*00b67f09SDavid van Moolenbroek<meta name="generator" content="DocBook XSL Stylesheets V1.71.1"> 23*00b67f09SDavid van Moolenbroek<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual"> 24*00b67f09SDavid van Moolenbroek<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual"> 25*00b67f09SDavid van Moolenbroek<link rel="prev" href="Bv9ARM.ch04.html" title="Chapter�4.�Advanced DNS Features"> 26*00b67f09SDavid van Moolenbroek<link rel="next" href="Bv9ARM.ch06.html" title="Chapter�6.�BIND 9 Configuration Reference"> 27*00b67f09SDavid van Moolenbroek</head> 28*00b67f09SDavid van Moolenbroek<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 29*00b67f09SDavid van Moolenbroek<div class="navheader"> 30*00b67f09SDavid van Moolenbroek<table width="100%" summary="Navigation header"> 31*00b67f09SDavid van Moolenbroek<tr><th colspan="3" align="center">Chapter�5.�The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</th></tr> 32*00b67f09SDavid van Moolenbroek<tr> 33*00b67f09SDavid van Moolenbroek<td width="20%" align="left"> 34*00b67f09SDavid van Moolenbroek<a accesskey="p" href="Bv9ARM.ch04.html">Prev</a>�</td> 35*00b67f09SDavid van Moolenbroek<th width="60%" align="center">�</th> 36*00b67f09SDavid van Moolenbroek<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch06.html">Next</a> 37*00b67f09SDavid van Moolenbroek</td> 38*00b67f09SDavid van Moolenbroek</tr> 39*00b67f09SDavid van Moolenbroek</table> 40*00b67f09SDavid van Moolenbroek<hr> 41*00b67f09SDavid van Moolenbroek</div> 42*00b67f09SDavid van Moolenbroek<div class="chapter" lang="en"> 43*00b67f09SDavid van Moolenbroek<div class="titlepage"><div><div><h2 class="title"> 44*00b67f09SDavid van Moolenbroek<a name="Bv9ARM.ch05"></a>Chapter�5.�The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</h2></div></div></div> 45*00b67f09SDavid van Moolenbroek<div class="toc"> 46*00b67f09SDavid van Moolenbroek<p><b>Table of Contents</b></p> 47*00b67f09SDavid van Moolenbroek<dl> 48*00b67f09SDavid van Moolenbroek<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2571844">The Lightweight Resolver Library</a></span></dt> 49*00b67f09SDavid van Moolenbroek<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt> 50*00b67f09SDavid van Moolenbroek</dl> 51*00b67f09SDavid van Moolenbroek</div> 52*00b67f09SDavid van Moolenbroek<div class="sect1" lang="en"> 53*00b67f09SDavid van Moolenbroek<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 54*00b67f09SDavid van Moolenbroek<a name="id2571844"></a>The Lightweight Resolver Library</h2></div></div></div> 55*00b67f09SDavid van Moolenbroek<p> 56*00b67f09SDavid van Moolenbroek Traditionally applications have been linked with a stub resolver 57*00b67f09SDavid van Moolenbroek library that sends recursive DNS queries to a local caching name 58*00b67f09SDavid van Moolenbroek server. 59*00b67f09SDavid van Moolenbroek </p> 60*00b67f09SDavid van Moolenbroek<p> 61*00b67f09SDavid van Moolenbroek IPv6 once introduced new complexity into the resolution process, 62*00b67f09SDavid van Moolenbroek such as following A6 chains and DNAME records, and simultaneous 63*00b67f09SDavid van Moolenbroek lookup of IPv4 and IPv6 addresses. Though most of the complexity was 64*00b67f09SDavid van Moolenbroek then removed, these are hard or impossible 65*00b67f09SDavid van Moolenbroek to implement in a traditional stub resolver. 66*00b67f09SDavid van Moolenbroek </p> 67*00b67f09SDavid van Moolenbroek<p> 68*00b67f09SDavid van Moolenbroek <acronym class="acronym">BIND</acronym> 9 therefore can also provide resolution 69*00b67f09SDavid van Moolenbroek services to local clients 70*00b67f09SDavid van Moolenbroek using a combination of a lightweight resolver library and a resolver 71*00b67f09SDavid van Moolenbroek daemon process running on the local host. These communicate using 72*00b67f09SDavid van Moolenbroek a simple UDP-based protocol, the "lightweight resolver protocol" 73*00b67f09SDavid van Moolenbroek that is distinct from and simpler than the full DNS protocol. 74*00b67f09SDavid van Moolenbroek </p> 75*00b67f09SDavid van Moolenbroek</div> 76*00b67f09SDavid van Moolenbroek<div class="sect1" lang="en"> 77*00b67f09SDavid van Moolenbroek<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 78*00b67f09SDavid van Moolenbroek<a name="lwresd"></a>Running a Resolver Daemon</h2></div></div></div> 79*00b67f09SDavid van Moolenbroek<p> 80*00b67f09SDavid van Moolenbroek To use the lightweight resolver interface, the system must 81*00b67f09SDavid van Moolenbroek run the resolver daemon <span><strong class="command">lwresd</strong></span> or a 82*00b67f09SDavid van Moolenbroek local 83*00b67f09SDavid van Moolenbroek name server configured with a <span><strong class="command">lwres</strong></span> 84*00b67f09SDavid van Moolenbroek statement. 85*00b67f09SDavid van Moolenbroek </p> 86*00b67f09SDavid van Moolenbroek<p> 87*00b67f09SDavid van Moolenbroek By default, applications using the lightweight resolver library will 88*00b67f09SDavid van Moolenbroek make 89*00b67f09SDavid van Moolenbroek UDP requests to the IPv4 loopback address (127.0.0.1) on port 921. 90*00b67f09SDavid van Moolenbroek The 91*00b67f09SDavid van Moolenbroek address can be overridden by <span><strong class="command">lwserver</strong></span> 92*00b67f09SDavid van Moolenbroek lines in 93*00b67f09SDavid van Moolenbroek <code class="filename">/etc/resolv.conf</code>. 94*00b67f09SDavid van Moolenbroek </p> 95*00b67f09SDavid van Moolenbroek<p> 96*00b67f09SDavid van Moolenbroek The daemon currently only looks in the DNS, but in the future 97*00b67f09SDavid van Moolenbroek it may use other sources such as <code class="filename">/etc/hosts</code>, 98*00b67f09SDavid van Moolenbroek NIS, etc. 99*00b67f09SDavid van Moolenbroek </p> 100*00b67f09SDavid van Moolenbroek<p> 101*00b67f09SDavid van Moolenbroek The <span><strong class="command">lwresd</strong></span> daemon is essentially a 102*00b67f09SDavid van Moolenbroek caching-only name server that responds to requests using the 103*00b67f09SDavid van Moolenbroek lightweight 104*00b67f09SDavid van Moolenbroek resolver protocol rather than the DNS protocol. Because it needs 105*00b67f09SDavid van Moolenbroek to run on each host, it is designed to require no or minimal 106*00b67f09SDavid van Moolenbroek configuration. 107*00b67f09SDavid van Moolenbroek Unless configured otherwise, it uses the name servers listed on 108*00b67f09SDavid van Moolenbroek <span><strong class="command">nameserver</strong></span> lines in <code class="filename">/etc/resolv.conf</code> 109*00b67f09SDavid van Moolenbroek as forwarders, but is also capable of doing the resolution 110*00b67f09SDavid van Moolenbroek autonomously if 111*00b67f09SDavid van Moolenbroek none are specified. 112*00b67f09SDavid van Moolenbroek </p> 113*00b67f09SDavid van Moolenbroek<p> 114*00b67f09SDavid van Moolenbroek The <span><strong class="command">lwresd</strong></span> daemon may also be 115*00b67f09SDavid van Moolenbroek configured with a 116*00b67f09SDavid van Moolenbroek <code class="filename">named.conf</code> style configuration file, 117*00b67f09SDavid van Moolenbroek in 118*00b67f09SDavid van Moolenbroek <code class="filename">/etc/lwresd.conf</code> by default. A name 119*00b67f09SDavid van Moolenbroek server may also 120*00b67f09SDavid van Moolenbroek be configured to act as a lightweight resolver daemon using the 121*00b67f09SDavid van Moolenbroek <span><strong class="command">lwres</strong></span> statement in <code class="filename">named.conf</code>. 122*00b67f09SDavid van Moolenbroek </p> 123*00b67f09SDavid van Moolenbroek</div> 124*00b67f09SDavid van Moolenbroek</div> 125*00b67f09SDavid van Moolenbroek<div class="navfooter"> 126*00b67f09SDavid van Moolenbroek<hr> 127*00b67f09SDavid van Moolenbroek<table width="100%" summary="Navigation footer"> 128*00b67f09SDavid van Moolenbroek<tr> 129*00b67f09SDavid van Moolenbroek<td width="40%" align="left"> 130*00b67f09SDavid van Moolenbroek<a accesskey="p" href="Bv9ARM.ch04.html">Prev</a>�</td> 131*00b67f09SDavid van Moolenbroek<td width="20%" align="center">�</td> 132*00b67f09SDavid van Moolenbroek<td width="40%" align="right">�<a accesskey="n" href="Bv9ARM.ch06.html">Next</a> 133*00b67f09SDavid van Moolenbroek</td> 134*00b67f09SDavid van Moolenbroek</tr> 135*00b67f09SDavid van Moolenbroek<tr> 136*00b67f09SDavid van Moolenbroek<td width="40%" align="left" valign="top">Chapter�4.�Advanced DNS Features�</td> 137*00b67f09SDavid van Moolenbroek<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td> 138*00b67f09SDavid van Moolenbroek<td width="40%" align="right" valign="top">�Chapter�6.�<acronym class="acronym">BIND</acronym> 9 Configuration Reference</td> 139*00b67f09SDavid van Moolenbroek</tr> 140*00b67f09SDavid van Moolenbroek</table> 141*00b67f09SDavid van Moolenbroek</div> 142*00b67f09SDavid van Moolenbroek<p style="text-align: center;">BIND 9.10.2-P4</p> 143*00b67f09SDavid van Moolenbroek</body> 144*00b67f09SDavid van Moolenbroek</html> 145