1<!-- 2 - Copyright (C) 2004, 2005, 2007-2009, 2014 Internet Systems Consortium, Inc. ("ISC") 3 - Copyright (C) 2000, 2001 Internet Software Consortium. 4 - 5 - Permission to use, copy, modify, and/or distribute this software for any 6 - purpose with or without fee is hereby granted, provided that the above 7 - copyright notice and this permission notice appear in all copies. 8 - 9 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11 - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 - PERFORMANCE OF THIS SOFTWARE. 16--> 17<!-- Id --> 18<html> 19<head> 20<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 21<title>lwresd</title> 22<meta name="generator" content="DocBook XSL Stylesheets V1.71.1"> 23</head> 24<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"> 25<a name="id2476282"></a><div class="titlepage"></div> 26<div class="refnamediv"> 27<h2>Name</h2> 28<p><span class="application">lwresd</span> — lightweight resolver daemon</p> 29</div> 30<div class="refsynopsisdiv"> 31<h2>Synopsis</h2> 32<div class="cmdsynopsis"><p><code class="command">lwresd</code> [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-P <em class="replaceable"><code>port</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-4</code>] [<code class="option">-6</code>]</p></div> 33</div> 34<div class="refsect1" lang="en"> 35<a name="id2543479"></a><h2>DESCRIPTION</h2> 36<p><span><strong class="command">lwresd</strong></span> 37 is the daemon providing name lookup 38 services to clients that use the BIND 9 lightweight resolver 39 library. It is essentially a stripped-down, caching-only name 40 server that answers queries using the BIND 9 lightweight 41 resolver protocol rather than the DNS protocol. 42 </p> 43<p><span><strong class="command">lwresd</strong></span> 44 listens for resolver queries on a 45 UDP port on the IPv4 loopback interface, 127.0.0.1. This 46 means that <span><strong class="command">lwresd</strong></span> can only be used by 47 processes running on the local machine. By default, UDP port 48 number 921 is used for lightweight resolver requests and 49 responses. 50 </p> 51<p> 52 Incoming lightweight resolver requests are decoded by the 53 server which then resolves them using the DNS protocol. When 54 the DNS lookup completes, <span><strong class="command">lwresd</strong></span> encodes 55 the answers in the lightweight resolver format and returns 56 them to the client that made the request. 57 </p> 58<p> 59 If <code class="filename">/etc/resolv.conf</code> contains any 60 <code class="option">nameserver</code> entries, <span><strong class="command">lwresd</strong></span> 61 sends recursive DNS queries to those servers. This is similar 62 to the use of forwarders in a caching name server. If no 63 <code class="option">nameserver</code> entries are present, or if 64 forwarding fails, <span><strong class="command">lwresd</strong></span> resolves the 65 queries autonomously starting at the root name servers, using 66 a built-in list of root server hints. 67 </p> 68</div> 69<div class="refsect1" lang="en"> 70<a name="id2543526"></a><h2>OPTIONS</h2> 71<div class="variablelist"><dl> 72<dt><span class="term">-4</span></dt> 73<dd><p> 74 Use IPv4 only even if the host machine is capable of IPv6. 75 <code class="option">-4</code> and <code class="option">-6</code> are mutually 76 exclusive. 77 </p></dd> 78<dt><span class="term">-6</span></dt> 79<dd><p> 80 Use IPv6 only even if the host machine is capable of IPv4. 81 <code class="option">-4</code> and <code class="option">-6</code> are mutually 82 exclusive. 83 </p></dd> 84<dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt> 85<dd><p> 86 Use <em class="replaceable"><code>config-file</code></em> as the 87 configuration file instead of the default, 88 <code class="filename">/etc/lwresd.conf</code>. 89 90 <code class="option">-c</code> can not be used with <code class="option">-C</code>. 91 </p></dd> 92<dt><span class="term">-C <em class="replaceable"><code>config-file</code></em></span></dt> 93<dd><p> 94 Use <em class="replaceable"><code>config-file</code></em> as the 95 configuration file instead of the default, 96 <code class="filename">/etc/resolv.conf</code>. 97 <code class="option">-C</code> can not be used with <code class="option">-c</code>. 98 </p></dd> 99<dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt> 100<dd><p> 101 Set the daemon's debug level to <em class="replaceable"><code>debug-level</code></em>. 102 Debugging traces from <span><strong class="command">lwresd</strong></span> become 103 more verbose as the debug level increases. 104 </p></dd> 105<dt><span class="term">-f</span></dt> 106<dd><p> 107 Run the server in the foreground (i.e. do not daemonize). 108 </p></dd> 109<dt><span class="term">-g</span></dt> 110<dd><p> 111 Run the server in the foreground and force all logging 112 to <code class="filename">stderr</code>. 113 </p></dd> 114<dt><span class="term">-i <em class="replaceable"><code>pid-file</code></em></span></dt> 115<dd><p> 116 Use <em class="replaceable"><code>pid-file</code></em> as the 117 PID file instead of the default, 118 <code class="filename">/var/run/lwresd/lwresd.pid</code>. 119 </p></dd> 120<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt> 121<dd><p> 122 Turn on memory usage debugging flags. Possible flags are 123 <em class="replaceable"><code>usage</code></em>, 124 <em class="replaceable"><code>trace</code></em>, 125 <em class="replaceable"><code>record</code></em>, 126 <em class="replaceable"><code>size</code></em>, and 127 <em class="replaceable"><code>mctx</code></em>. 128 These correspond to the ISC_MEM_DEBUGXXXX flags described in 129 <code class="filename"><isc/mem.h></code>. 130 </p></dd> 131<dt><span class="term">-n <em class="replaceable"><code>#cpus</code></em></span></dt> 132<dd><p> 133 Create <em class="replaceable"><code>#cpus</code></em> worker threads 134 to take advantage of multiple CPUs. If not specified, 135 <span><strong class="command">lwresd</strong></span> will try to determine the 136 number of CPUs present and create one thread per CPU. 137 If it is unable to determine the number of CPUs, a 138 single worker thread will be created. 139 </p></dd> 140<dt><span class="term">-P <em class="replaceable"><code>port</code></em></span></dt> 141<dd><p> 142 Listen for lightweight resolver queries on port 143 <em class="replaceable"><code>port</code></em>. If 144 not specified, the default is port 921. 145 </p></dd> 146<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt> 147<dd><p> 148 Send DNS lookups to port <em class="replaceable"><code>port</code></em>. If not 149 specified, the default is port 53. This provides a 150 way of testing the lightweight resolver daemon with a 151 name server that listens for queries on a non-standard 152 port number. 153 </p></dd> 154<dt><span class="term">-s</span></dt> 155<dd> 156<p> 157 Write memory usage statistics to <code class="filename">stdout</code> 158 on exit. 159 </p> 160<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"> 161<h3 class="title">Note</h3> 162<p> 163 This option is mainly of interest to BIND 9 developers 164 and may be removed or changed in a future release. 165 </p> 166</div> 167</dd> 168<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt> 169<dd> 170<p>Chroot 171 to <em class="replaceable"><code>directory</code></em> after 172 processing the command line arguments, but before 173 reading the configuration file. 174 </p> 175<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> 176<h3 class="title">Warning</h3> 177<p> 178 This option should be used in conjunction with the 179 <code class="option">-u</code> option, as chrooting a process 180 running as root doesn't enhance security on most 181 systems; the way <code class="function">chroot(2)</code> is 182 defined allows a process with root privileges to 183 escape a chroot jail. 184 </p> 185</div> 186</dd> 187<dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt> 188<dd><p>Setuid 189 to <em class="replaceable"><code>user</code></em> after completing 190 privileged operations, such as creating sockets that 191 listen on privileged ports. 192 </p></dd> 193<dt><span class="term">-v</span></dt> 194<dd><p> 195 Report the version number and exit. 196 </p></dd> 197</dl></div> 198</div> 199<div class="refsect1" lang="en"> 200<a name="id2543943"></a><h2>FILES</h2> 201<div class="variablelist"><dl> 202<dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt> 203<dd><p> 204 The default configuration file. 205 </p></dd> 206<dt><span class="term"><code class="filename">/var/run/lwresd.pid</code></span></dt> 207<dd><p> 208 The default process-id file. 209 </p></dd> 210</dl></div> 211</div> 212<div class="refsect1" lang="en"> 213<a name="id2543982"></a><h2>SEE ALSO</h2> 214<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, 215 <span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>, 216 <span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>. 217 </p> 218</div> 219<div class="refsect1" lang="en"> 220<a name="id2544017"></a><h2>AUTHOR</h2> 221<p><span class="corpauthor">Internet Systems Consortium</span> 222 </p> 223</div> 224</div></body> 225</html> 226