Bv9ARM.ch03.html revision 150d28abc8fc6f8a3df17650c61ce1635aeb192c
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - Copyright (C) 2000-2003 Internet Software Consortium.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - Permission to use, copy, modify, and/or distribute this software for any
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - purpose with or without fee is hereby granted, provided that the above
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - copyright notice and this permission notice appear in all copies.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor - PERFORMANCE OF THIS SOFTWARE.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<!-- $Id: Bv9ARM.ch03.html,v 1.92 2012/02/01 01:04:18 tbox Exp $ -->
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<link rel="prev" href="Bv9ARM.ch02.html" title="Chapter�2.�BIND Resource Requirements">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<link rel="next" href="Bv9ARM.ch04.html" title="Chapter�4.�Advanced DNS Features">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<tr><th colspan="3" align="center">Chapter�3.�Name Server Configuration</th></tr>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<a accesskey="p" href="Bv9ARM.ch02.html">Prev</a>�</td>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch04.html">Next</a>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<a name="Bv9ARM.ch03"></a>Chapter�3.�Name Server Configuration</h2></div></div></div>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect1"><a href="Bv9ARM.ch03.html#sample_configuration">Sample Configurations</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2567770">A Caching-only Name Server</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2567991">An Authoritative-only Name Server</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568013">Load Balancing</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568368">Name Server Operations</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568373">Tools for Use With the Name Server Daemon</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570658">Signals</a></span></dt>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor In this chapter we provide some suggested configurations along
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor with guidelines for their use. We suggest reasonable values for
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor certain option settings.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<div class="titlepage"><div><div><h2 class="title" style="clear: both">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<a name="sample_configuration"></a>Sample Configurations</h2></div></div></div>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<a name="id2567770"></a>A Caching-only Name Server</h3></div></div></div>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor The following sample configuration is appropriate for a caching-only
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor name server for use by clients internal to a corporation. All
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor from outside clients are refused using the <span><strong class="command">allow-query</strong></span>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor option. Alternatively, the same effect could be achieved using
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor firewall rules.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// Two corporate subnets we wish to allow queries from.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // Working directory
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor allow-query { corpnets; };
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// Provide a reverse mapping for the loopback
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// address 127.0.0.1
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor type master;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<a name="id2567991"></a>An Authoritative-only Name Server</h3></div></div></div>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor This sample configuration is for an authoritative-only server
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor that is the master server for "<code class="filename">example.com</code>"
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor and a slave for the subdomain "<code class="filename">eng.example.com</code>".
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // Working directory
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // Do not allow access to cache
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor allow-query-cache { none; };
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // This is the default
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor allow-query { any; };
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // Do not provide recursive service
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor recursion no;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// Provide a reverse mapping for the loopback
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// address 127.0.0.1
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor type master;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// We are the master server for example.com
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor type master;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // IP addresses of slave servers allowed to
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor allow-transfer {
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor 192.168.4.14;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor 192.168.5.53;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor// We are a slave server for eng.example.com
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor type slave;
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor // IP address of eng.example.com master server
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor masters { 192.168.4.12; };
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<div class="titlepage"><div><div><h2 class="title" style="clear: both">
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor<a name="id2568013"></a>Load Balancing</h2></div></div></div>
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor A primitive form of load balancing can be achieved in
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor the <acronym class="acronym">DNS</acronym> by using multiple records
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor (such as multiple A records) for one name.
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor For example, if you have three WWW servers with network addresses
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor of 10.0.0.1, 10.0.0.2 and 10.0.0.3, a set of records such as the
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor following means that clients will connect to each machine one third
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor of the time:
8a50f4b9951dbe3b3fc0662165c8fae3376176f5gryzor Resource Record (RR) Data
The <span><strong class="command">dig</strong></span>, <span><strong class="command">host</strong></span>, and
<dt><span class="term"><a name="dig"></a><span><strong class="command">dig</strong></span></span></dt>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@<em class="replaceable"><code>server</code></em>] <em class="replaceable"><code>domain</code></em> [<em class="replaceable"><code>query-type</code></em>] [<em class="replaceable"><code>query-class</code></em>] [+<em class="replaceable"><code>query-option</code></em>] [-<em class="replaceable"><code>dig-option</code></em>] [%<em class="replaceable"><code>comment</code></em>]</p></div>
<div class="cmdsynopsis"><p><code class="command">host</code> [-aCdlnrsTwv] [-c <em class="replaceable"><code>class</code></em>] [-N <em class="replaceable"><code>ndots</code></em>] [-t <em class="replaceable"><code>type</code></em>] [-W <em class="replaceable"><code>timeout</code></em>] [-R <em class="replaceable"><code>retries</code></em>] [-m <em class="replaceable"><code>flag</code></em>] [-4] [-6] <em class="replaceable"><code>hostname</code></em> [<em class="replaceable"><code>server</code></em>]</p></div>
<div class="cmdsynopsis"><p><code class="command">nslookup</code> [-option...] [[<em class="replaceable"><code>host-to-find</code></em>] | [- [server]]]</p></div>
<a name="named-checkconf"></a><span class="term"><span><strong class="command">named-checkconf</strong></span></span>
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [-jvz] [-t <em class="replaceable"><code>directory</code></em>] [<em class="replaceable"><code>filename</code></em>]</p></div>
<a name="named-checkzone"></a><span class="term"><span><strong class="command">named-checkzone</strong></span></span>
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [-djqvD] [-c <em class="replaceable"><code>class</code></em>] [-o <em class="replaceable"><code>output</code></em>] [-t <em class="replaceable"><code>directory</code></em>] [-w <em class="replaceable"><code>directory</code></em>] [-k <em class="replaceable"><code>(ignore|warn|fail)</code></em>] [-n <em class="replaceable"><code>(ignore|warn|fail)</code></em>] [-W <em class="replaceable"><code>(ignore|warn)</code></em>] <em class="replaceable"><code>zone</code></em> [<em class="replaceable"><code>filename</code></em>]</p></div>
<a name="named-compilezone"></a><span class="term"><span><strong class="command">named-compilezone</strong></span></span>
Since <acronym class="acronym">BIND</acronym> 9.2, <span><strong class="command">rndc</strong></span>
<div class="cmdsynopsis"><p><code class="command">rndc</code> [-c <em class="replaceable"><code>config</code></em>] [-s <em class="replaceable"><code>server</code></em>] [-p <em class="replaceable"><code>port</code></em>] [-y <em class="replaceable"><code>key</code></em>] <em class="replaceable"><code>command</code></em> [<em class="replaceable"><code>command</code></em>...]</p></div>
<dt><span class="term"><strong class="userinput"><code>reload <em class="replaceable"><code>zone</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dt><span class="term"><strong class="userinput"><code>refresh <em class="replaceable"><code>zone</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dt><span class="term"><strong class="userinput"><code>retransfer <em class="replaceable"><code>zone</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dt><span class="term"><strong class="userinput"><code>sign <em class="replaceable"><code>zone</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
Usage">the section called “<span><strong class="command">options</strong></span> Statement Definition and
See <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a> for
<dt><span class="term"><strong class="userinput"><code>loadkeys <em class="replaceable"><code>zone</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
Usage">the section called “<span><strong class="command">options</strong></span> Statement Definition and
See <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a> for
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
<dt><span class="term"><strong class="userinput"><code>notify <em class="replaceable"><code>zone</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
[<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
[<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dt><span class="term"><strong class="userinput"><code>stop [<span class="optional">-p</span>]</code></strong></span></dt>
If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
This allows an external process to determine when <span><strong class="command">named</strong></span>
<dt><span class="term"><strong class="userinput"><code>halt [<span class="optional">-p</span>]</code></strong></span></dt>
If <code class="option">-p</code> is specified <span><strong class="command">named</strong></span>'s process id is returned.
This allows an external process to determine when <span><strong class="command">named</strong></span>
<dt><span class="term"><strong class="userinput"><code>trace <em class="replaceable"><code>level</code></em></code></strong></span></dt>
Note that the number of zones includes the internal <span><strong class="command">bind/CH</strong></span> zone
<code class="prompt">$ </code><strong class="userinput"><code>rndc addzone example.com '{ type master; file "example.com.db"; };'</code></strong>
[<span class="optional">( -list | -clear <em class="replaceable"><code>keyid/algorithm</code></em> | -clear <code class="literal">all</code> | -nsec3param ( <em class="replaceable"><code>parameters</code></em> | <code class="literal">none</code> ) ) </span>]
<a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage" title="controls Statement Definition and
Usage">the section called “<span><strong class="command">controls</strong></span> Statement Definition and
<span><strong class="command">key</strong></span>, <span><strong class="command">server</strong></span> and
<span><strong class="command">default-server</strong></span>, <span><strong class="command">default-key</strong></span>,
the name of a key as its argument, as defined by a <span><strong class="command">key</strong></span> statement.
<span><strong class="command">key</strong></span> statement in <code class="filename">named.conf</code>.
<span><strong class="command">algorithm</strong></span> and <span><strong class="command">secret</strong></span>.
has two clauses: <span><strong class="command">key</strong></span> and <span><strong class="command">port</strong></span>.