named-checkzone.docbook 15.3 KB
Newer Older
1 2
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
               "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
3
	       [<!ENTITY mdash "&#8212;">]>
Brian Wellington's avatar
Brian Wellington committed
4
<!--
Mark Andrews's avatar
Mark Andrews committed
5
 - Copyright (C) 2004-2007  Internet Systems Consortium, Inc. ("ISC")
6
 - Copyright (C) 2000-2002  Internet Software Consortium.
Brian Wellington's avatar
Brian Wellington committed
7 8 9 10 11
 -
 - Permission to use, copy, modify, and distribute this software for any
 - purpose with or without fee is hereby granted, provided that the above
 - copyright notice and this permission notice appear in all copies.
 -
Mark Andrews's avatar
Mark Andrews committed
12 13 14 15 16 17 18
 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 - PERFORMANCE OF THIS SOFTWARE.
Brian Wellington's avatar
Brian Wellington committed
19
-->
Mark Andrews's avatar
Mark Andrews committed
20

21
<!-- $Id: named-checkzone.docbook,v 1.30 2007/05/09 01:32:08 marka Exp $ -->
22
<refentry id="man.named-checkzone">
23 24 25 26 27 28 29 30 31 32
  <refentryinfo>
    <date>June 13, 2000</date>
  </refentryinfo>

  <refmeta>
    <refentrytitle><application>named-checkzone</application></refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo>BIND9</refmiscinfo>
  </refmeta>

33 34 35 36
  <docinfo>
    <copyright>
      <year>2004</year>
      <year>2005</year>
Mark Andrews's avatar
Mark Andrews committed
37
      <year>2006</year>
Mark Andrews's avatar
Mark Andrews committed
38
      <year>2007</year>
39 40 41 42 43 44
      <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
    </copyright>
    <copyright>
      <year>2000</year>
      <year>2001</year>
      <year>2002</year>
Mark Andrews's avatar
Mark Andrews committed
45
      <holder>Internet Software Consortium.</holder>
46 47 48
    </copyright>
  </docinfo>

49 50
  <refnamediv>
    <refname><application>named-checkzone</application></refname>
51 52
    <refname><application>named-compilezone</application></refname>
    <refpurpose>zone file validity checking or converting tool</refpurpose>
53 54 55 56 57 58
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis>
      <command>named-checkzone</command>
      <arg><option>-d</option></arg>
Mark Andrews's avatar
Mark Andrews committed
59
      <arg><option>-j</option></arg>
60
      <arg><option>-q</option></arg>
61
      <arg><option>-v</option></arg>
62
      <arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
63 64
      <arg><option>-f <replaceable class="parameter">format</replaceable></option></arg>
      <arg><option>-F <replaceable class="parameter">format</replaceable></option></arg>
65
      <arg><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
66
      <arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
67
      <arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
68
      <arg><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
69
      <arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
70
      <arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
71
      <arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
72
      <arg><option>-S <replaceable class="parameter">mode</replaceable></option></arg>
73 74 75 76 77 78 79 80 81 82 83 84 85 86
      <arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
      <arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
      <arg><option>-D</option></arg>
      <arg><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
      <arg choice="req">zonename</arg>
      <arg choice="req">filename</arg>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>named-compilezone</command>
      <arg><option>-d</option></arg>
      <arg><option>-j</option></arg>
      <arg><option>-q</option></arg>
      <arg><option>-v</option></arg>
      <arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
87
      <arg><option>-C <replaceable class="parameter">mode</replaceable></option></arg>
88 89 90 91 92 93 94 95
      <arg><option>-f <replaceable class="parameter">format</replaceable></option></arg>
      <arg><option>-F <replaceable class="parameter">format</replaceable></option></arg>
      <arg><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
      <arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
      <arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
      <arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
      <arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
      <arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
96 97
      <arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
      <arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
98
      <arg><option>-D</option></arg>
99
      <arg><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
100 101 102 103 104 105 106
      <arg choice="req">zonename</arg>
      <arg choice="req">filename</arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>DESCRIPTION</title>
107 108 109 110 111
    <para><command>named-checkzone</command>
      checks the syntax and integrity of a zone file.  It performs the
      same checks as <command>named</command> does when loading a
      zone.  This makes <command>named-checkzone</command> useful for
      checking zone files before configuring them into a name server.
112
    </para>
113 114 115 116 117 118 119 120 121 122
    <para>
        <command>named-compilezone</command> is similar to
	<command>named-checkzone</command>, but it always dumps the
        zone contents to a specified file in a specified format.
	Additionally, it applies stricter check levels by default,
        since the dump output will be used as an actual zone file
	loaded by <command>named</command>.
	When manaully specified otherwise, the check levels must at
        least be as strict as those specified in the
	<command>named</command> configuration file.
Mark Andrews's avatar
Mark Andrews committed
123
     </para>
124 125 126 127 128 129 130 131
  </refsect1>

  <refsect1>
    <title>OPTIONS</title>

    <variablelist>
      <varlistentry>
        <term>-d</term>
132 133 134 135 136
        <listitem>
          <para>
            Enable debugging.
          </para>
        </listitem>
137 138 139 140
      </varlistentry>

      <varlistentry>
        <term>-q</term>
141 142 143 144 145
        <listitem>
          <para>
            Quiet mode - exit code only.
          </para>
        </listitem>
146 147
      </varlistentry>

148 149
      <varlistentry>
        <term>-v</term>
150 151 152 153 154 155
        <listitem>
          <para>
            Print the version of the <command>named-checkzone</command>
            program and exit.
          </para>
        </listitem>
156 157
      </varlistentry>

158
      <varlistentry>
159
        <term>-j</term>
160 161
        <listitem>
          <para>
162 163
            When loading the zone file read the journal if it exists.
          </para>
164
        </listitem>
165
      </varlistentry>
166

167 168
      <varlistentry>
        <term>-c <replaceable class="parameter">class</replaceable></term>
169 170 171 172 173
        <listitem>
          <para>
            Specify the class of the zone.  If not specified "IN" is assumed.
          </para>
        </listitem>
174 175
      </varlistentry>

176 177 178 179
      <varlistentry>
        <term>-i <replaceable class="parameter">mode</replaceable></term>
	<listitem>
	  <para>
180
	      Perform post-load zone integrity checks.  Possible modes are
181
	      <command>"full"</command> (default),
182 183 184
	      <command>"full-sibling"</command>,
	      <command>"local"</command>,
	      <command>"local-sibling"</command> and
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
	      <command>"none"</command>.
	  </para>
	  <para>
	      Mode <command>"full"</command> checks that MX records
	      refer to A or AAAA record (both in-zone and out-of-zone
	      hostnames).  Mode <command>"local"</command> only
	      checks MX records which refer to in-zone hostnames.
	  </para>
	  <para>
	      Mode <command>"full"</command> checks that SRV records
	      refer to A or AAAA record (both in-zone and out-of-zone
	      hostnames).  Mode <command>"local"</command> only
	      checks SRV records which refer to in-zone hostnames.
	  </para>
	  <para>
	      Mode <command>"full"</command> checks that delegation NS
	      records refer to A or AAAA record (both in-zone and out-of-zone
202
	      hostnames).  It also checks that glue address records
203 204 205 206 207
	      in the zone match those advertised by the child.
	      Mode <command>"local"</command> only checks NS records which
	      refer to in-zone hostnames or that some required glue exists,
	      that is when the nameserver is in a child zone.
	  </para>
208 209 210 211 212 213
	  <para>
	      Mode <command>"full-sibling"</command> and
	      <command>"local-sibling"</command> disable sibling glue
	      checks but are otherwise the same as <command>"full"</command>
	      and <command>"local"</command> respectively.
	  </para>
214 215 216 217 218 219
	  <para>
	      Mode <command>"none"</command> disables the checks.
	  </para>
	</listitem>
      </varlistentry>

220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
      <varlistentry>
	<term>-f <replaceable class="parameter">format</replaceable></term>
	<listitem>
	  <para>
	    Specify the format of the zone file.
	    Possible formats are <command>"text"</command> (default)
	    and <command>"raw"</command>.
	  </para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>-F <replaceable class="parameter">format</replaceable></term>
	<listitem>
	  <para>
	    Specify the format of the output file specified.
	    Possible formats are <command>"text"</command> (default)
	    and <command>"raw"</command>.
	    For <command>named-checkzone</command>,
	    this does not cause any effects unless it dumps the zone
	    contents.
	  </para>
	</listitem>
      </varlistentry>

245 246
      <varlistentry>
        <term>-k <replaceable class="parameter">mode</replaceable></term>
247 248
        <listitem>
          <para>
Mark Andrews's avatar
Mark Andrews committed
249
            Perform <command>"check-names"</command> checks with the
250 251 252 253 254
	    specified failure mode.
            Possible modes are <command>"fail"</command>
	    (default for <command>named-compilezone</command>),
            <command>"warn"</command>
	    (default for <command>named-checkzone</command>) and
255 256 257
            <command>"ignore"</command>.
          </para>
        </listitem>
258 259
      </varlistentry>

260 261 262 263 264 265 266 267 268 269 270 271
      <varlistentry>
        <term>-m <replaceable class="parameter">mode</replaceable></term>
        <listitem>
          <para>
            Specify whether MX records should be checked to see if they
            are addresses.  Possible modes are <command>"fail"</command>,
            <command>"warn"</command> (default) and
            <command>"ignore"</command>.
          </para>
        </listitem>
      </varlistentry>

272 273 274 275 276 277 278 279 280 281 282 283
      <varlistentry>
	<term>-M <replaceable class="parameter">mode</replaceable></term>
        <listitem>
	  <para>
	    Check if a MX record refers to a CNAME.
            Possible modes are <command>"fail"</command>,
            <command>"warn"</command> (default) and
            <command>"ignore"</command>.
	  </para>
        </listitem>
      </varlistentry>

284 285
      <varlistentry>
        <term>-n <replaceable class="parameter">mode</replaceable></term>
286 287 288
        <listitem>
          <para>
            Specify whether NS records should be checked to see if they
289 290 291 292 293
            are addresses.
	    Possible modes are <command>"fail"</command>
	    (default for <command>named-compilezone</command>),
            <command>"warn"</command>
	    (default for <command>named-checkzone</command>) and
294 295 296
            <command>"ignore"</command>.
          </para>
        </listitem>
297 298
      </varlistentry>

299 300 301 302
      <varlistentry>
        <term>-o <replaceable class="parameter">filename</replaceable></term>
        <listitem>
          <para>
303
            Write zone output to <filename>filename</filename>.
304
	    This is mandatory for <command>named-compilezone</command>.
305 306 307 308
          </para>
        </listitem>
      </varlistentry>

309 310 311 312 313 314
      <varlistentry>
	<term>-s <replaceable class="parameter">style</replaceable></term>
	<listitem>
	  <para>
	    Specify the style of the dumped zone file.
	    Possible styles are <command>"full"</command> (default)
315
	    and <command>"relative"</command>.
316 317
	    The full format is most suitable for processing
	    automatically by a separate script.
318
	    On the other hand, the relative format is more
319 320 321 322 323 324 325 326 327 328
	    human-readable and is thus suitable for editing by hand.
	    For <command>named-checkzone</command>
	    this does not cause any effects unless it dumps the zone
	    contents.
	    It also does not have any meaning if the output format
	    is not text.
	  </para>
	</listitem>
      </varlistentry>

329 330 331 332 333 334 335 336 337 338 339 340
      <varlistentry>
	<term>-S <replaceable class="parameter">mode</replaceable></term>
        <listitem>
	  <para>
	    Check if a SRV record refers to a CNAME.
            Possible modes are <command>"fail"</command>,
            <command>"warn"</command> (default) and
            <command>"ignore"</command>.
	  </para>
        </listitem>
      </varlistentry>

341 342 343 344
      <varlistentry>
        <term>-t <replaceable class="parameter">directory</replaceable></term>
        <listitem>
          <para>
345
            Chroot to <filename>directory</filename> so that
346 347 348
            include
            directives in the configuration file are processed as if
            run by a similarly chrooted named.
349 350 351 352 353 354 355 356
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>-w <replaceable class="parameter">directory</replaceable></term>
        <listitem>
          <para>
357 358 359 360 361
            chdir to <filename>directory</filename> so that
            relative
            filenames in master file $INCLUDE directives work.  This
            is similar to the directory clause in
            <filename>named.conf</filename>.
362 363 364 365
          </para>
        </listitem>
      </varlistentry>

366 367
      <varlistentry>
        <term>-D</term>
368 369 370
        <listitem>
          <para>
            Dump zone file in canonical format.
371
	    This is always enabled for <command>named-compilezone</command>.
372 373
          </para>
        </listitem>
374 375
      </varlistentry>

376 377
      <varlistentry>
        <term>-W <replaceable class="parameter">mode</replaceable></term>
378 379 380 381 382 383 384 385 386 387
        <listitem>
          <para>
            Specify whether to check for non-terminal wildcards.
            Non-terminal wildcards are almost always the result of a
            failure to understand the wildcard matching algorithm (RFC 1034).
            Possible modes are <command>"warn"</command> (default)
            and
            <command>"ignore"</command>.
          </para>
        </listitem>
388 389
      </varlistentry>

390 391
      <varlistentry>
        <term>zonename</term>
392 393 394 395 396
        <listitem>
          <para>
            The domain name of the zone being checked.
          </para>
        </listitem>
397 398 399 400
      </varlistentry>

      <varlistentry>
        <term>filename</term>
401 402 403 404 405
        <listitem>
          <para>
            The name of the zone file.
          </para>
        </listitem>
406 407 408 409 410 411 412 413
      </varlistentry>

    </variablelist>

  </refsect1>

  <refsect1>
    <title>RETURN VALUES</title>
414 415 416 417
    <para><command>named-checkzone</command>
      returns an exit status of 1 if
      errors were detected and 0 otherwise.
    </para>
418 419 420 421
  </refsect1>

  <refsect1>
    <title>SEE ALSO</title>
422 423
    <para><citerefentry>
        <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
424 425 426 427 428 429 430 431
      </citerefentry>,
      <citetitle>RFC 1035</citetitle>,
      <citetitle>BIND 9 Administrator Reference Manual</citetitle>.
    </para>
  </refsect1>

  <refsect1>
    <title>AUTHOR</title>
432
    <para><corpauthor>Internet Systems Consortium</corpauthor>
433 434 435
    </para>
  </refsect1>

436
</refentry><!--
437 438 439 440
 - Local variables:
 - mode: sgml
 - End:
-->