2 - Copyright (C) 2004, 2005, 2007-2009, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
3 - Copyright (C) 2000, 2001 Internet Software Consortium.
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.
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.
19 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
21 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
23 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
24 <a name="man.lwresd"></a><div class="titlepage"></div>
25 <div class="refnamediv">
27 <p><span class="application">lwresd</span> — lightweight resolver daemon</p>
29 <div class="refsynopsisdiv">
31 <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 class="refsection">
34 <a name="id-1.7"></a><h2>DESCRIPTION</h2>
35 <p><span class="command"><strong>lwresd</strong></span>
36 is the daemon providing name lookup
37 services to clients that use the BIND 9 lightweight resolver
38 library. It is essentially a stripped-down, caching-only name
39 server that answers queries using the BIND 9 lightweight
40 resolver protocol rather than the DNS protocol.
42 <p><span class="command"><strong>lwresd</strong></span>
43 listens for resolver queries on a
44 UDP port on the IPv4 loopback interface, 127.0.0.1. This
45 means that <span class="command"><strong>lwresd</strong></span> can only be used by
46 processes running on the local machine. By default, UDP port
47 number 921 is used for lightweight resolver requests and
51 Incoming lightweight resolver requests are decoded by the
52 server which then resolves them using the DNS protocol. When
53 the DNS lookup completes, <span class="command"><strong>lwresd</strong></span> encodes
54 the answers in the lightweight resolver format and returns
55 them to the client that made the request.
58 If <code class="filename">/etc/resolv.conf</code> contains any
59 <code class="option">nameserver</code> entries, <span class="command"><strong>lwresd</strong></span>
60 sends recursive DNS queries to those servers. This is similar
61 to the use of forwarders in a caching name server. If no
62 <code class="option">nameserver</code> entries are present, or if
63 forwarding fails, <span class="command"><strong>lwresd</strong></span> resolves the
64 queries autonomously starting at the root name servers, using
65 a built-in list of root server hints.
68 <div class="refsection">
69 <a name="id-1.8"></a><h2>OPTIONS</h2>
70 <div class="variablelist"><dl class="variablelist">
71 <dt><span class="term">-4</span></dt>
73 Use IPv4 only even if the host machine is capable of IPv6.
74 <code class="option">-4</code> and <code class="option">-6</code> are mutually
77 <dt><span class="term">-6</span></dt>
79 Use IPv6 only even if the host machine is capable of IPv4.
80 <code class="option">-4</code> and <code class="option">-6</code> are mutually
83 <dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt>
85 Use <em class="replaceable"><code>config-file</code></em> as the
86 configuration file instead of the default,
87 <code class="filename">/etc/lwresd.conf</code>.
89 <code class="option">-c</code> can not be used with <code class="option">-C</code>.
91 <dt><span class="term">-C <em class="replaceable"><code>config-file</code></em></span></dt>
93 Use <em class="replaceable"><code>config-file</code></em> as the
94 configuration file instead of the default,
95 <code class="filename">/etc/resolv.conf</code>.
96 <code class="option">-C</code> can not be used with <code class="option">-c</code>.
98 <dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt>
100 Set the daemon's debug level to <em class="replaceable"><code>debug-level</code></em>.
101 Debugging traces from <span class="command"><strong>lwresd</strong></span> become
102 more verbose as the debug level increases.
104 <dt><span class="term">-f</span></dt>
106 Run the server in the foreground (i.e. do not daemonize).
108 <dt><span class="term">-g</span></dt>
110 Run the server in the foreground and force all logging
111 to <code class="filename">stderr</code>.
113 <dt><span class="term">-i <em class="replaceable"><code>pid-file</code></em></span></dt>
115 Use <em class="replaceable"><code>pid-file</code></em> as the
116 PID file instead of the default,
117 <code class="filename">/var/run/lwresd/lwresd.pid</code>.
119 <dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
121 Turn on memory usage debugging flags. Possible flags are
122 <em class="replaceable"><code>usage</code></em>,
123 <em class="replaceable"><code>trace</code></em>,
124 <em class="replaceable"><code>record</code></em>,
125 <em class="replaceable"><code>size</code></em>, and
126 <em class="replaceable"><code>mctx</code></em>.
127 These correspond to the ISC_MEM_DEBUGXXXX flags described in
128 <code class="filename"><isc/mem.h></code>.
130 <dt><span class="term">-n <em class="replaceable"><code>#cpus</code></em></span></dt>
132 Create <em class="replaceable"><code>#cpus</code></em> worker threads
133 to take advantage of multiple CPUs. If not specified,
134 <span class="command"><strong>lwresd</strong></span> will try to determine the
135 number of CPUs present and create one thread per CPU.
136 If it is unable to determine the number of CPUs, a
137 single worker thread will be created.
139 <dt><span class="term">-P <em class="replaceable"><code>port</code></em></span></dt>
141 Listen for lightweight resolver queries on port
142 <em class="replaceable"><code>port</code></em>. If
143 not specified, the default is port 921.
145 <dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
147 Send DNS lookups to port <em class="replaceable"><code>port</code></em>. If not
148 specified, the default is port 53. This provides a
149 way of testing the lightweight resolver daemon with a
150 name server that listens for queries on a non-standard
153 <dt><span class="term">-s</span></dt>
156 Write memory usage statistics to <code class="filename">stdout</code>
159 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
160 <h3 class="title">Note</h3>
162 This option is mainly of interest to BIND 9 developers
163 and may be removed or changed in a future release.
167 <dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
170 to <em class="replaceable"><code>directory</code></em> after
171 processing the command line arguments, but before
172 reading the configuration file.
174 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
175 <h3 class="title">Warning</h3>
177 This option should be used in conjunction with the
178 <code class="option">-u</code> option, as chrooting a process
179 running as root doesn't enhance security on most
180 systems; the way <code class="function">chroot(2)</code> is
181 defined allows a process with root privileges to
182 escape a chroot jail.
186 <dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt>
188 to <em class="replaceable"><code>user</code></em> after completing
189 privileged operations, such as creating sockets that
190 listen on privileged ports.
192 <dt><span class="term">-v</span></dt>
194 Report the version number and exit.
198 <div class="refsection">
199 <a name="id-1.9"></a><h2>FILES</h2>
200 <div class="variablelist"><dl class="variablelist">
201 <dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
203 The default configuration file.
205 <dt><span class="term"><code class="filename">/var/run/lwresd.pid</code></span></dt>
207 The default process-id file.
211 <div class="refsection">
212 <a name="id-1.10"></a><h2>SEE ALSO</h2>
213 <p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
214 <span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
215 <span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.