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