4.3. INCREMENTAL ZONE TRANSFERS (IXFR) CHAPTER 4. ADVANCED DNS FEATURES
large zone is updated frequently. Instead, the dump is delayed by up to 15 minutes, allowing additional
updates to take place.
When a server is restarted after a shutdown or crash, it will replay the journal file to incorporate into the
zone any updates that took place after the last zone dump.
Changes that result from incoming incremental zone transfers are also journalled in a similar way.
The zone files of dynamic zones cannot normally be edited by hand because they are not guaranteed to
contain the most recent dynamic changes — those are only in the journal file. The only way to ensure
that the zone file of a dynamic zone is up to date is to run rndc stop.
If you have to make changes to a dynamic zone manually, the following procedure will work: Disable
dynamic updates to the zone using rndc freeze zone. This will also remove the zone’s .jnl file and
update the master file. Edit the zone file. Run rndc thaw zone to reload the changed zone and re-enable
dynamic updates.
4.3 Incremental Zone Transfers (IXFR)
The incremental zone transfer (IXFR) protocol is a way for slave servers to transfer only changed data,
instead of having to transfer the entire zone. The IXFR protocol is specified in RFC 1995. See [Proposed
Standards].
When acting as a master, BIND 9 supports IXFR for those zones where the necessary change history
information is available. These include master zones maintained by dynamic update and slave zones
whose data was obtained by IXFR. For manually maintained master zones, and for slave zones obtained
by performing a full zone transfer (AXFR), IXFR is supported only if the option ixfr-from-differences is
set to yes.
When acting as a slave, BIND 9 will attempt to use IXFR unless it is explicitly disabled. For more
information about disabling IXFR, see the description of the request-ixfr clause of the server statement.
4.4 Split DNS
Setting up different views, or visibility, of the DNS space to internal and external resolvers is usually
referred to as a Split DNS setup. There are several reasons an organization would want to set up its DNS
this way.
One common reason for setting up a DNS system this way is to hide ”internal” DNS information from
”external” clients on the Internet. There is some debate as to whether or not this is actually useful.
Internal DNS information leaks out in many ways (via email headers, for example) and most savvy
”attackers” can find the information they need using other means. However, since listing addresses
of internal servers that external clients cannot possibly reach can result in connection delays and other
annoyances, an organization may choose to use a Split DNS to present a consistent view of itself to the
outside world.
Another common reason for setting up a Split DNS system is to allow internal networks that are behind
filters or in RFC 1918 space (reserved IP space, as documented in RFC 1918) to resolve DNS on the
Internet. Split DNS can also be used to allow mail from outside back in to the internal network.
4.4.1 Example split DNS setup
Let’s say a company named Example, Inc. (example.com) has several corporate sites that have an
internal network with reserved Internet Protocol (IP) space and an external demilitarized zone (DMZ),
or ”outside” section of a network, that is available to the public.
Example, Inc. wants its internal clients to be able to resolve external hostnames and to exchange mail
with people on the outside. The company also wants its internal resolvers to have access to certain
internal-only zones that are not available at all outside of the internal network.
20