Bv9ARM.ch04.html revision 6383d77950149e7a94bf59d84f3e51e1aa4b3d95
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Advanced DNS Features</TITLE
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="GENERATOR"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCONTENT="Modular DocBook HTML Stylesheet Version 1.61
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkTITLE="BIND 9 Administrator Reference Manual"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkREL="PREVIOUS"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkTITLE="Name Server Configuration"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkTITLE="The BIND 9 Lightweight Resolver"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="chapter"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkBGCOLOR="#FFFFFF"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkTEXT="#000000"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkLINK="#0000FF"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkVLINK="#840084"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkALINK="#0000FF"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="NAVHEADER"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkWIDTH="100%"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCELLPADDING="0"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCELLSPACING="0"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCOLSPAN="3"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkALIGN="center"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>BIND 9 Administrator Reference Manual</TH
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkWIDTH="10%"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkALIGN="left"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkVALIGN="bottom"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkWIDTH="80%"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkALIGN="center"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkVALIGN="bottom"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkWIDTH="10%"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkALIGN="right"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkVALIGN="bottom"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkALIGN="LEFT"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="chapter"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="ch04"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Chapter 4. Advanced DNS Features</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="TOC"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Table of Contents</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch04.html#dynamic_update"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Dynamic Update</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch04.html#incremental_zone_transfers"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Incremental Zone Transfers (IXFR)</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Split DNS</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch04.html#AEN1015"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>IPv6 Support in <SPAN
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="acronym"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>BIND</SPAN
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="notify"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>4.1. Notify</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="acronym"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> NOTIFY is a mechanism that allows master
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkservers to notify their slave servers of changes to a zone's data. In
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkresponse to a <B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> from a master server, the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkslave will check to see that its version of the zone is the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkcurrent version and, if not, initiate a zone transfer.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="acronym"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkFor more information about
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>, see the description of the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> option in <A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch06.html#boolean_options"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Section 6.2.14.1</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkthe description of the zone option <B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>also-notify</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch06.html#zone_transfers"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Section 6.2.14.6</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkprotocol is specified in RFC 1996.
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="dynamic_update"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>4.2. Dynamic Update</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Dynamic Update is a method for adding, replacing or deleting
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk records in a master server by sending it a special form of DNS
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk messages. The format and meaning of these messages is specified
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk in RFC 2136.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Dynamic update is enabled on a zone-by-zone basis, by
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk including an <B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>allow-update</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>update-policy</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> clause in the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> statement.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Updating of secure zones (zones using DNSSEC) follows
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk RFC 3007: SIG and NXT records affected by updates are automatically
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk regenerated by the server using an online zone key.
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk Update authorization is based
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk on transaction signatures and an explicit server policy.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect2"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect2"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="journal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>4.2.1. The journal file</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>All changes made to a zone using dynamic update are stored in the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk zone's journal file. This file is automatically created by the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk server when when the first dynamic update takes place. The name of
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk the journal file is formed by appending the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk extension <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk name of the corresponding zone file. The journal file is in a
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk binary format and should not be edited manually.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>The server will also occasionally write ("dump")
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk the complete contents of the updated zone to its zone file.
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk This is not done immediately after
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk each dynamic update, because that would be too slow when a large
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk zone is updated frequently. Instead, the dump is delayed by
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk up to 15 minutes, allowing additional updates to take place.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>When a server is restarted after a shutdown or crash, it will replay
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk the journal file to incorporate into the zone any updates that took
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk place after the last zone dump.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Changes that result from incoming incremental zone transfers are also
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk journalled in a similar way.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>The zone files of dynamic zones cannot normally be edited by
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk hand because they are not guaranteed to contain the most recent
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk dynamic changes - those are only in the journal file.
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk The only way to ensure that the zone file of a dynamic zone
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk is up to date is to run <B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>rndc stop</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>If you have to make changes to a dynamic zone
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk manually, the following procedure will work: Disable dynamic updates
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk to the zone using
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>rndc freeze <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="replaceable"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk This will also remove the zone's <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk and update the master file. Edit the zone file. Run
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>rndc unfreeze <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="replaceable"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk to reload the changed zone and re-enable dynamic updates.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="incremental_zone_transfers"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>4.3. Incremental Zone Transfers (IXFR)</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>The incremental zone transfer (IXFR) protocol is a way for
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkslave servers to transfer only changed data, instead of having to
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpktransfer the entire zone. The IXFR protocol is specified in RFC
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk1995. See <A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch09.html#proposed_standards"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Proposed Standards</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>When acting as a master, <SPAN
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="acronym"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>BIND</SPAN
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpksupports IXFR for those zones
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkwhere the necessary change history information is available. These
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkinclude master zones maintained by dynamic update and slave zones
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkwhose data was obtained by IXFR. For manually maintained master
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkzones, and for slave zones obtained by performing a full zone
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpktransfer (AXFR), IXFR is supported only if the option
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>ixfr-from-differences</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="userinput"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>When acting as a slave, <SPAN
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="acronym"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>BIND</SPAN
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkattempt to use IXFR unless
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkit is explicitly disabled. For more information about disabling
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkIXFR, see the description of the <B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>request-ixfr</B
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="command"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> statement.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="sect1"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkNAME="AEN753"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>4.4. Split DNS</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Setting up different views, or visibility, of the DNS space to
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkinternal and external resolvers is usually referred to as a <I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="emphasis"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> setup. There are several reasons an organization
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkwould want to set up its DNS this way.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>One common reason for setting up a DNS system this way is
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto hide "internal" DNS information from "external" clients on the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkInternet. There is some debate as to whether or not this is actually useful.
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkInternal DNS information leaks out in many ways (via email headers,
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkfor example) and most savvy "attackers" can find the information
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkthey need using other means.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Another common reason for setting up a Split DNS system is
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto allow internal networks that are behind filters or in RFC 1918
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkspace (reserved IP space, as documented in RFC 1918) to resolve DNS
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkon the Internet. Split DNS can also be used to allow mail from outside
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkback in to the internal network.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Here is an example of a split DNS setup:</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Let's say a company named <I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="emphasis"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Example, Inc.</I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkhas several corporate sites that have an internal network with reserved
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkInternet Protocol (IP) space and an external demilitarized zone (DMZ),
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkor "outside" section of a network, that is available to the public.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="emphasis"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Example, Inc.</I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> wants its internal clients
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto be able to resolve external hostnames and to exchange mail with
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkpeople on the outside. The company also wants its internal resolvers
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto have access to certain internal-only zones that are not available
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkat all outside of the internal network.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>In order to accomplish this, the company will set up two sets
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkof name servers. One set will be on the inside network (in the reserved
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkIP space) and the other set will be on bastion hosts, which are "proxy"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkhosts that can talk to both sides of its network, in the DMZ.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>The internal servers will be configured to forward all queries,
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkexcept queries for <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>, to the servers in the
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkDMZ. These internal servers will have complete sets of information
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="emphasis"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>To protect the <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkthe internal name servers must be configured to disallow all queries
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto these domains from any external hosts, including the bastion
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>The external servers, which are on the bastion hosts, will
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkbe configured to serve the "public" version of the <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkThis could include things such as the host records for public servers
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkand mail exchange (MX) records (<TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>In addition, the public <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="filename"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkshould have special MX records that contain wildcard (`*') records
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkpointing to the bastion hosts. This is needed because external mail
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkservers do not have any other way of looking up how to deliver mail
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto those internal hosts. With the wildcard records, the mail will
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkbe delivered to the bastion host, which can then forward it on to
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkinternal hosts.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Here's an example of a wildcard MX record:</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="programlisting"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Now that they accept mail on behalf of anything in the internal
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpknetwork, the bastion hosts will need to know how to deliver mail
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkto internal hosts. In order for this to work properly, the resolvers on
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkthe bastion hosts will need to be configured to point to the internal
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkname servers for DNS resolution.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Queries for internal hostnames will be answered by the internal
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkservers, and queries for external hostnames will be forwarded back
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkout to the DNS servers on the bastion hosts.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>In order for all this to work properly, internal clients will
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkneed to be configured to query <I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="emphasis"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> the internal
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkname servers for DNS queries. This could also be enforced via selective
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkfiltering on the network.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>If everything has been set properly, <I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="emphasis"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Example, Inc.</I
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkinternal clients will now be able to:</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Look up any hostnames in the <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> zones.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Look up any hostnames in the <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> domains.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Look up any hostnames on the Internet.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Exchange mail with internal AND external people.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Hosts on the Internet will be able to:</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Look up any hostnames in the <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> zones.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Exchange mail with anyone in the <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="literal"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk> zones.</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Here is an example configuration for the setup we just
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk described above. Note that this is only configuration information;
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk for information on how to configure your zone files, see <A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkHREF="Bv9ARM.ch03.html#sample_configuration"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Section 3.1</A
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>Internal DNS server config:</P
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="programlisting"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkacl externals { <TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="varname"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>bastion-ips-go-here</TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk forward only;
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk forwarders { // forward to external servers
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkCLASS="varname"
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk>bastion-ips-go-here</TT
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk allow-transfer { none; }; // sample allow-transfer (no one)
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk allow-query { internals; externals; }; // restrict query access
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk allow-recursion { internals; }; // restrict recursion
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkzone "site1.example.com" { // sample master zone
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk type master;
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk forwarders { }; // do normal iterative
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk // resolution (do not forward)
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk allow-query { internals; externals; };
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk allow-transfer { internals; };
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpkzone "site2.example.com" { // sample slave zone
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk type slave;
45916cd2fec6e79bca5dee0421bd39e3c2910d1ejpk masters { 172.16.72.3; };
zone "site1.internal" {
zone "site2.internal" {
zone "site1.example.com" { // sample slave zone
zone "site2.example.com" {
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.ch06.html#synthesis"
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"