named-checkzone.docbook 15.3 KB
Newer Older
1 2 3
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
               "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
	       [<!ENTITY mdash "&#8212;">]>
Brian Wellington's avatar
Brian Wellington committed
4
<!--
Mark Andrews's avatar
Mark Andrews committed
5
 - Copyright (C) 2004-2006  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.26 2006/08/30 22:57:16 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>
38 39 40 41 42 43
      <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
44
      <holder>Internet Software Consortium.</holder>
45 46 47
    </copyright>
  </docinfo>

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

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

  <refsect1>
    <title>DESCRIPTION</title>
106 107 108 109 110
    <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.
111
    </para>
112 113 114 115 116 117 118 119 120 121
    <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
122
     </para>
123 124 125 126 127 128 129 130
  </refsect1>

  <refsect1>
    <title>OPTIONS</title>

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

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

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

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

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

175 176 177 178 179 180
      <varlistentry>
        <term>-i <replaceable class="parameter">mode</replaceable></term>
	<listitem>
	  <para>
	      Perform post load zone integrity checks.  Possible modes are
	      <command>"full"</command> (default),
181 182 183
	      <command>"full-sibling"</command>,
	      <command>"local"</command>,
	      <command>"local-sibling"</command> and
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
	      <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
	      hostnames).  It also checks that glue addresses records
	      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>
207 208 209 210 211 212
	  <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>
213 214 215 216 217 218
	  <para>
	      Mode <command>"none"</command> disables the checks.
	  </para>
	</listitem>
      </varlistentry>

219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243
      <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>

244 245
      <varlistentry>
        <term>-k <replaceable class="parameter">mode</replaceable></term>
246 247
        <listitem>
          <para>
248 249 250 251 252 253
            Perform <command>"check-name"</command> checks with the
	    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
254 255 256
            <command>"ignore"</command>.
          </para>
        </listitem>
257 258
      </varlistentry>

259 260 261 262 263 264 265 266 267 268 269 270
      <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>

271 272 273 274 275 276 277 278 279 280 281 282
      <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>

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

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

308 309 310 311 312 313
      <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)
314
	    and <command>"relative"</command>.
315 316
	    The full format is most suitable for processing
	    automatically by a separate script.
317
	    On the other hand, the relative format is more
318 319 320 321 322 323 324 325 326 327
	    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>

328 329 330 331 332 333 334 335 336 337 338 339
      <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>

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

      <varlistentry>
        <term>-w <replaceable class="parameter">directory</replaceable></term>
        <listitem>
          <para>
356 357 358 359 360
            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>.
361 362 363 364
          </para>
        </listitem>
      </varlistentry>

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

375 376
      <varlistentry>
        <term>-W <replaceable class="parameter">mode</replaceable></term>
377 378 379 380 381 382 383 384 385 386
        <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>
387 388
      </varlistentry>

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

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

    </variablelist>

  </refsect1>

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

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

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

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