/contrib/bind9/bin/named/lwresd.html

https://bitbucket.org/freebsd/freebsd-head/ · HTML · 225 lines · 207 code · 1 blank · 17 comment · 0 complexity · b7a73d22a11cca50b2e5e6ac602a5741 MD5 · raw file

  1. <!--
  2. - Copyright (C) 2004, 2005, 2007-2009 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="id2476274"></a><div class="titlepage"></div>
  26. <div class="refnamediv">
  27. <h2>Name</h2>
  28. <p><span class="application">lwresd</span> &#8212; 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="id2543469"></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="id2543516"></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. <code class="option">-c</code> can not be used with <code class="option">-C</code>.
  90. </p></dd>
  91. <dt><span class="term">-C <em class="replaceable"><code>config-file</code></em></span></dt>
  92. <dd><p>
  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>.
  97. </p></dd>
  98. <dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt>
  99. <dd><p>
  100. Set the daemon's debug level to <em class="replaceable"><code>debug-level</code></em>.
  101. Debugging traces from <span><strong class="command">lwresd</strong></span> become
  102. more verbose as the debug level increases.
  103. </p></dd>
  104. <dt><span class="term">-f</span></dt>
  105. <dd><p>
  106. Run the server in the foreground (i.e. do not daemonize).
  107. </p></dd>
  108. <dt><span class="term">-g</span></dt>
  109. <dd><p>
  110. Run the server in the foreground and force all logging
  111. to <code class="filename">stderr</code>.
  112. </p></dd>
  113. <dt><span class="term">-i <em class="replaceable"><code>pid-file</code></em></span></dt>
  114. <dd><p>
  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>.
  118. </p></dd>
  119. <dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
  120. <dd><p>
  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">&lt;isc/mem.h&gt;</code>.
  129. </p></dd>
  130. <dt><span class="term">-n <em class="replaceable"><code>#cpus</code></em></span></dt>
  131. <dd><p>
  132. Create <em class="replaceable"><code>#cpus</code></em> worker threads
  133. to take advantage of multiple CPUs. If not specified,
  134. <span><strong class="command">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.
  138. </p></dd>
  139. <dt><span class="term">-P <em class="replaceable"><code>port</code></em></span></dt>
  140. <dd><p>
  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.
  144. </p></dd>
  145. <dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
  146. <dd><p>
  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
  151. port number.
  152. </p></dd>
  153. <dt><span class="term">-s</span></dt>
  154. <dd>
  155. <p>
  156. Write memory usage statistics to <code class="filename">stdout</code>
  157. on exit.
  158. </p>
  159. <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
  160. <h3 class="title">Note</h3>
  161. <p>
  162. This option is mainly of interest to BIND 9 developers
  163. and may be removed or changed in a future release.
  164. </p>
  165. </div>
  166. </dd>
  167. <dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
  168. <dd>
  169. <p>Chroot
  170. to <em class="replaceable"><code>directory</code></em> after
  171. processing the command line arguments, but before
  172. reading the configuration file.
  173. </p>
  174. <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
  175. <h3 class="title">Warning</h3>
  176. <p>
  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.
  183. </p>
  184. </div>
  185. </dd>
  186. <dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt>
  187. <dd><p>Setuid
  188. to <em class="replaceable"><code>user</code></em> after completing
  189. privileged operations, such as creating sockets that
  190. listen on privileged ports.
  191. </p></dd>
  192. <dt><span class="term">-v</span></dt>
  193. <dd><p>
  194. Report the version number and exit.
  195. </p></dd>
  196. </dl></div>
  197. </div>
  198. <div class="refsect1" lang="en">
  199. <a name="id2543933"></a><h2>FILES</h2>
  200. <div class="variablelist"><dl>
  201. <dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
  202. <dd><p>
  203. The default configuration file.
  204. </p></dd>
  205. <dt><span class="term"><code class="filename">/var/run/lwresd.pid</code></span></dt>
  206. <dd><p>
  207. The default process-id file.
  208. </p></dd>
  209. </dl></div>
  210. </div>
  211. <div class="refsect1" lang="en">
  212. <a name="id2543973"></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>.
  216. </p>
  217. </div>
  218. <div class="refsect1" lang="en">
  219. <a name="id2544007"></a><h2>AUTHOR</h2>
  220. <p><span class="corpauthor">Internet Systems Consortium</span>
  221. </p>
  222. </div>
  223. </div></body>
  224. </html>