Bv9ARM.ch04.html revision 841179549b6433e782c164a562eb3422f603533d
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Advanced Concepts</TITLE
09796a508c72a6aba33aa486753bb8cdea806d43lgentisNAME="GENERATOR"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCONTENT="Modular DocBook HTML Stylesheet Version 1.61
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereTITLE="BIND 9 Administrator Reference Manual"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereREL="PREVIOUS"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereTITLE="Nameserver Configuration"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereTITLE="The BIND 9 Lightweight Resolver"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="chapter"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereBGCOLOR="#FFFFFF"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereTEXT="#000000"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereLINK="#0000FF"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereVLINK="#840084"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereALINK="#0000FF"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="NAVHEADER"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereWIDTH="100%"
a9db829bebc5339233a3242f6742816425751d15lgentisCELLPADDING="0"
d10581bbc764ba94e0373e25ee9c84610ac7f4f0lgentisCELLSPACING="0"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereALIGN="center"
a9db829bebc5339233a3242f6742816425751d15lgentis>BIND 9 Administrator Reference Manual</TH
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereALIGN="left"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereVALIGN="bottom"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereALIGN="center"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereVALIGN="bottom"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereALIGN="right"
491f8a844db495830f377211855efe643f503bc1lgentisVALIGN="bottom"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereALIGN="LEFT"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="chapter"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Chapter 4. Advanced Concepts</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Table of Contents</B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereHREF="Bv9ARM.ch04.html#dynamic_update"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Dynamic Update</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereHREF="Bv9ARM.ch04.html#incremental_zone_transfers"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Incremental Zone Transfers (IXFR)</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Split DNS</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>IPv6 Support in <SPAN
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="acronym"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="sect1"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="sect1"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereNAME="dynamic_update"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>4.1. Dynamic Update</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Dynamic update is the term used for the ability under
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere certain specified conditions to add, modify or delete records or
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere RRsets in the master zone files. Dynamic update is fully described
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere in RFC 2136.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Dynamic update is enabled on a zone-by-zone basis, by
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere including an <B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="command"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>allow-update</B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="command"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>update-policy</B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere> clause in the
129655298d1a50773efdb3e2a9479aab22ed1681lgentisCLASS="command"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere> statement.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Updating of secure zones (zones using DNSSEC) follows
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere RFC 3007: SIG and NXT records affected by updates are automatically
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere regenerated by the server using an online zone key.
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere Update authorization is based
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere on transaction signatures and an explicit server policy.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="sect2"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="sect2"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereNAME="journal"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>4.1.1. The journal file</A
8468be3efdd76e64e871fe3799397721f988ff42noodl>All changes made to a zone using dynamic update are stored in the
8468be3efdd76e64e871fe3799397721f988ff42noodl zone's journal file. This file is automatically created by the
8468be3efdd76e64e871fe3799397721f988ff42noodl server when when the first dynamic update takes place. The name of
8468be3efdd76e64e871fe3799397721f988ff42noodl the journal file is formed by appending the
8468be3efdd76e64e871fe3799397721f988ff42noodl extension <TT
8468be3efdd76e64e871fe3799397721f988ff42noodlCLASS="filename"
8468be3efdd76e64e871fe3799397721f988ff42noodl name of the corresponding zone file. The journal file is in a
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere binary format and should not be edited manually.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>The server will also occasionally write ("dump")
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere the complete contents of the updated zone to its zone file.
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere This is not done immediately after
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere each dynamic update, because that would be too slow when a large
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere zone is updated frequently. Instead, the dump is delayed by 15
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere minutes, allowing additional updates to take place.</P
8468be3efdd76e64e871fe3799397721f988ff42noodl>When a server is restarted after a shutdown or crash, it will replay
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere the journal file to incorporate into the zone any updates that took
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere place after the last zone dump.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>Changes that result from incoming incremental zone transfers are also
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere journalled in a similar way.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>The zone files of dynamic zones cannot normally be edited by
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere hand because they are not guaranteed to contain the most recent
491f8a844db495830f377211855efe643f503bc1lgentis dynamic changes - those are only in the journal file.
491f8a844db495830f377211855efe643f503bc1lgentis The only way to ensure that the zone file of a dynamic zone
491f8a844db495830f377211855efe643f503bc1lgentis is up to date is to run <B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="command"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>rndc stop</B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>If you have to make changes to a dynamic zone
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere manually, the following procedure will work: Shut down
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere the server using <B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="command"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>rndc stop</B
8468be3efdd76e64e871fe3799397721f988ff42noodl> (sending a signal
8468be3efdd76e64e871fe3799397721f988ff42noodl or using <B
8468be3efdd76e64e871fe3799397721f988ff42noodlCLASS="command"
10d06392cad112a344f45ba39709d743a05cc2b4takashi>rndc halt</B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="emphasis"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere sufficient). Wait for the server to exit,
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="emphasis"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere> the zone's
491f8a844db495830f377211855efe643f503bc1lgentisCLASS="filename"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere> file, edit the zone file,
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere and restart the server. Removing the <TT
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="filename"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere file is necessary because the manual edits will not be
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere present in the journal, rendering it inconsistent with the
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere contents of the zone file.</P
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="sect1"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="sect1"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereNAME="incremental_zone_transfers"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>4.2. Incremental Zone Transfers (IXFR)</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>The incremental zone transfer (IXFR) protocol is a way for
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere slave servers to transfer only changed data, instead of having to
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere transfer the entire zone. The IXFR protocol is documented in RFC
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere 1995. See <A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereHREF="Bv9ARM.ch09.html#proposed_standards"
a9db829bebc5339233a3242f6742816425751d15lgentis>Proposed Standards</A
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>When acting as a master, <SPAN
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="acronym"
b119f41caef0c80f72b66e4e8412dfb0fa079bc3lgentis> 9 supports IXFR for those zones
b119f41caef0c80f72b66e4e8412dfb0fa079bc3lgentiswhere the necessary change history information is available. These
b119f41caef0c80f72b66e4e8412dfb0fa079bc3lgentisinclude master zones maintained by dynamic update and slave zones
b119f41caef0c80f72b66e4e8412dfb0fa079bc3lgentiswhose data was obtained by IXFR, but not manually maintained master
b119f41caef0c80f72b66e4e8412dfb0fa079bc3lgentiszones nor slave zones obtained by performing a full zone transfer
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>When acting as a slave, <SPAN
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="acronym"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere> 9 will attempt to use IXFR unless
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereit is explicitly disabled. For more information about disabling
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereIXFR, see the description of the <B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="command"
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclere>request-ixfr</B
c49b3ad2ff4a0ac6376dfb59465c02f0d5522378jfclereCLASS="command"
> (example.com)
HREF="Bv9ARM.ch03.html#sample_configuration"
zone "site1.example.com" { // sample slave zone
zone "site2.example.com" {
zone "site1.internal" {
zone "site2.internal" {
zone "site1.example.com" { // sample slave zone
zone "site2.example.com" {
HREF="Bv9ARM.ch09.html#proposed_standards"
HREF="Bv9ARM.ch06.html#dynamic_update_policies"
that the tools shipped with BIND 9.0.x are not fully compatible
HREF="Bv9ARM.ch05.html"
HREF="Bv9ARM.ch09.html#ipv6addresses"
> $ORIGIN example.com.
> $ORIGIN example.com.
> $ORIGIN example.com.
host 3600 IN A6 64 0:0:0:0:42::1 company.example1.net.
host 3600 IN A6 64 0:0:0:0:42::1 company.example2.net.
> $ORIGIN example1.net.
> $ORIGIN example2.net.
> $ORIGIN example.com.
> $ORIGIN 0.6.8.1.1.0.2.0.0.5.0.8.e.f.f.3.ip6.int.
1.0.0.0.0.0.0.0.0.0.0.0.2.4.0.0 14400 IN PTR host.example.com.
> $ORIGIN example.com.
host IN A6 64 ::1234:5678:1212:5675 cust1.example.net.
IN A6 64 ::1234:5678:1212:5675 subnet5.example2.net.
$ORIGIN example.net.
cust1 IN A6 48 0:0:0:dddd:: ipv6net.example.net.
$ORIGIN example2.net.
subnet5 IN A6 48 0:0:0:1:: ipv6net2.example2.net.
> $ORIGIN ipv6-rev.example.com.
HREF="Bv9ARM.ch03.html"
HREF="Bv9ARM.html"
HREF="Bv9ARM.ch05.html"