2362N/A - Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC") 200N/A - Copyright (C) 2000, 2001 Internet Software Consortium. 200N/A - Permission to use, copy, modify, and/or distribute this software for any 200N/A - purpose with or without fee is hereby granted, provided that the above 200N/A - copyright notice and this permission notice appear in all copies. 200N/A - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 200N/A - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 200N/A - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 200N/A - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 200N/A - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 200N/A - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 200N/A - PERFORMANCE OF THIS SOFTWARE. 2362N/A<
meta http-
equiv="Content-Type" content="text/html; charset=ISO-8859-1">
200N/A<
meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
200N/A<
body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><
div class="refentry" lang="en">
200N/A<
a name="id2476275"></
a><
div class="titlepage"></
div>
200N/A<
div class="refnamediv">
202N/A<
p><
span class="application">lwresd</
span> — lightweight resolver daemon</
p>
202N/A<
div class="refsynopsisdiv">
200N/A<
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>
200N/A<
div class="refsect1" lang="en">
200N/A<
a name="id2543467"></
a><
h2>DESCRIPTION</
h2>
200N/A<
p><
span><
strong class="command">lwresd</
strong></
span>
200N/A is the daemon providing name lookup
200N/A services to clients that use the BIND 9 lightweight resolver
200N/A library. It is essentially a stripped-down, caching-only name
202N/A server that answers queries using the BIND 9 lightweight
200N/A resolver protocol rather than the DNS protocol.
202N/A<
p><
span><
strong class="command">lwresd</
strong></
span>
200N/A listens for resolver queries on a
200N/A UDP port on the IPv4 loopback interface, 127.0.0.1. This
200N/A means that <
span><
strong class="command">lwresd</
strong></
span> can only be used by
200N/A processes running on the local machine. By default, UDP port
200N/A number 921 is used for lightweight resolver requests and
200N/A Incoming lightweight resolver requests are decoded by the
200N/A server which then resolves them using the DNS protocol. When
200N/A the DNS lookup completes, <
span><
strong class="command">lwresd</
strong></
span> encodes
200N/A the answers in the lightweight resolver format and returns
200N/A them to the client that made the request.
202N/A <
code class="option">nameserver</
code> entries, <
span><
strong class="command">lwresd</
strong></
span>
200N/A sends recursive DNS queries to those servers. This is similar
200N/A to the use of forwarders in a caching name server. If no
200N/A <
code class="option">nameserver</
code> entries are present, or if
200N/A forwarding fails, <
span><
strong class="command">lwresd</
strong></
span> resolves the
200N/A queries autonomously starting at the root name servers, using
200N/A a built-in list of root server hints.
200N/A<
div class="refsect1" lang="en">
200N/A<
a name="id2543514"></
a><
h2>OPTIONS</
h2>
200N/A<
div class="variablelist"><
dl>
200N/A<
dt><
span class="term">-4</
span></
dt>
200N/A Use IPv4 only even if the host machine is capable of IPv6.
200N/A <
code class="option">-4</
code> and <
code class="option">-6</
code> are mutually
200N/A<
dt><
span class="term">-6</
span></
dt>
200N/A Use IPv6 only even if the host machine is capable of IPv4.
202N/A <
code class="option">-4</
code> and <
code class="option">-6</
code> are mutually
200N/A<
dt><
span class="term">-c <
em class="replaceable"><
code>config-file</
code></
em></
span></
dt>
200N/A Use <
em class="replaceable"><
code>config-file</
code></
em> as the
200N/A configuration file instead of the default,
200N/A <
code class="option">-c</
code> can not be used with <
code class="option">-C</
code>.
200N/A<
dt><
span class="term">-C <
em class="replaceable"><
code>config-file</
code></
em></
span></
dt>
200N/A Use <
em class="replaceable"><
code>config-file</
code></
em> as the
200N/A configuration file instead of the default,
200N/A <
code class="option">-C</
code> can not be used with <
code class="option">-c</
code>.
202N/A<
dt><
span class="term">-d <
em class="replaceable"><
code>debug-level</
code></
em></
span></
dt>
200N/A Set the daemon's debug level to <
em class="replaceable"><
code>debug-level</
code></
em>.
200N/A Debugging traces from <
span><
strong class="command">lwresd</
strong></
span> become
200N/A more verbose as the debug level increases.
200N/A<
dt><
span class="term">-f</
span></
dt>
202N/A Run the server in the foreground (
i.e. do not daemonize).
200N/A<
dt><
span class="term">-g</
span></
dt>
202N/A Run the server in the foreground and force all logging
200N/A to <
code class="filename">stderr</
code>.
200N/A<
dt><
span class="term">-i <
em class="replaceable"><
code>pid-file</
code></
em></
span></
dt>
202N/A Use <
em class="replaceable"><
code>pid-file</
code></
em> as the
200N/A PID file instead of the default,
200N/A<
dt><
span class="term">-m <
em class="replaceable"><
code>flag</
code></
em></
span></
dt>
200N/A Turn on memory usage debugging flags. Possible flags are
200N/A <
em class="replaceable"><
code>usage</
code></
em>,
200N/A <
em class="replaceable"><
code>trace</
code></
em>,
200N/A <
em class="replaceable"><
code>record</
code></
em>,
200N/A <
em class="replaceable"><
code>size</
code></
em>, and
202N/A <
em class="replaceable"><
code>mctx</
code></
em>.
200N/A These correspond to the ISC_MEM_DEBUGXXXX flags described in
202N/A<
dt><
span class="term">-n <
em class="replaceable"><
code>#cpus</
code></
em></
span></
dt>
202N/A Create <
em class="replaceable"><
code>#cpus</
code></
em> worker threads
200N/A to take advantage of multiple CPUs. If not specified,
202N/A <
span><
strong class="command">lwresd</
strong></
span> will try to determine the
200N/A number of CPUs present and create one thread per CPU.
200N/A If it is unable to determine the number of CPUs, a
202N/A single worker thread will be created.
200N/A<
dt><
span class="term">-P <
em class="replaceable"><
code>port</
code></
em></
span></
dt>
200N/A Listen for lightweight resolver queries on port
200N/A <
em class="replaceable"><
code>port</
code></
em>. If
200N/A not specified, the default is port 921.
200N/A<
dt><
span class="term">-p <
em class="replaceable"><
code>port</
code></
em></
span></
dt>
200N/A Send DNS lookups to port <
em class="replaceable"><
code>port</
code></
em>. If not
200N/A specified, the default is port 53. This provides a
200N/A way of testing the lightweight resolver daemon with a
200N/A name server that listens for queries on a non-standard
202N/A<
dt><
span class="term">-s</
span></
dt>
200N/A Write memory usage statistics to <
code class="filename">stdout</
code>
202N/A<
div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
202N/A<
h3 class="title">Note</
h3>
200N/A This option is mainly of interest to BIND 9 developers
200N/A and may be removed or changed in a future release.
<
dt><
span class="term">-t <
em class="replaceable"><
code>directory</
code></
em></
span></
dt>
to <
em class="replaceable"><
code>directory</
code></
em> after
processing the command line arguments, but before
reading the configuration file.
<
div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<
h3 class="title">Warning</
h3>
This option should be used in conjunction with the
<
code class="option">-u</
code> option, as chrooting a process
running as root doesn't enhance security on most
systems; the way <
code class="function">chroot(2)</
code> is
defined allows a process with root privileges to
<
dt><
span class="term">-u <
em class="replaceable"><
code>user</
code></
em></
span></
dt>
to <
em class="replaceable"><
code>user</
code></
em> after completing
privileged operations, such as creating sockets that
listen on privileged ports.
<
dt><
span class="term">-v</
span></
dt>
Report the version number and exit.
<
div class="refsect1" lang="en">
<
a name="id2543931"></
a><
h2>FILES</
h2>
<
div class="variablelist"><
dl>
<
dt><
span class="term"><
code class="filename">/
etc/
resolv.conf</
code></
span></
dt>
The default configuration file.
<
dt><
span class="term"><
code class="filename">/
var/
run/
lwresd.pid</
code></
span></
dt>
The default process-id file.
<
div class="refsect1" lang="en">
<
a name="id2543971"></
a><
h2>SEE ALSO</
h2>
<
p><
span class="citerefentry"><
span class="refentrytitle">named</
span>(8)</
span>,
<
span class="citerefentry"><
span class="refentrytitle">lwres</
span>(3)</
span>,
<
span class="citerefentry"><
span class="refentrytitle">resolver</
span>(5)</
span>.
<
div class="refsect1" lang="en">
<
a name="id2544005"></
a><
h2>AUTHOR</
h2>
<
p><
span class="corpauthor">Internet Systems Consortium</
span>