4.4. Abbreviations
At this point, we have created all the
files necessary for a primary master name server. Let's go back
and revisit the zone data files; there are shortcuts we didn't
use. Unless you see and understand the long form first, though, the
short form can look very cryptic. Now that you know the long form and
have seen the BIND configuration file, we'll show you the
shortcuts.
4.4.1. Appending Domain Names
The second field of a
primary directive (BIND 4) or
zone statement (BIND 8 and 9) specifies a domain
name. This domain name is the key to the most useful shortcut. This
domain name is the
origin of all the data in the
zone data file. The origin is appended to all names in the zone data
file that don't end in a dot, and will be different for each
zone data file since each file describes a different zone.
Since the origin is appended to names, instead of entering
robocop.movie.edu's
address in db.movie.edu like this:
robocop.movie.edu. IN A 192.249.249.2
we could have entered it like this:
robocop IN A 192.249.249.2
In the
db.192.24.249 file we entered this:
2.249.249.192.in-addr.arpa. IN PTR robocop.movie.edu.
Since
249.249.192.in-addr.arpa is the origin, we
could have entered:
2 IN PTR robocop.movie.edu.
Remember our earlier warning not to omit the trailing dot when using
the fully qualified domain names? Suppose you forget the
trailing
dot. An entry like:
robocop.movie.edu IN A 192.249.249.2
turns into an entry for
robocop.movie.edu.movie.edu, not what
you intended at all.
4.4.2. The @ Notation
If a domain name
is the
same as the origin, the name can be
specified as "@". This is most often seen in the
SOA record in the zone data files. The SOA
records could have been entered this way:
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
4.4.3. Repeat Last Name
If a
resource record name (that starts in
the first column) is a
space or
tab, then the name from the
last resource record is used. You use this if there are multiple
resource records for a name. Here's an example in which there
are two address records for one name:
wormhole IN A 192.249.249.1
IN A 192.253.253.1
In the second address record, the name
wormhole is implied. You can use this
shortcut even if the resource records are of different types.
4.4.4. The Shortened Zone Data Files
Now that we have shown you the
abbreviations, we'll repeat the zone data files, making use of
these shortcuts.
Here are the contents of the file db.movie.edu:
$TTL 3h
;
; Origin added to names not ending
; in a dot: movie.edu
;
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
;
; Name servers (The name '@' is implied)
;
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
;
; Addresses for the canonical names
;
localhost IN A 127.0.0.1
robocop IN A 192.249.249.2
terminator IN A 192.249.249.3
diehard IN A 192.249.249.4
misery IN A 192.253.253.2
shining IN A 192.253.253.3
carrie IN A 192.253.253.4
wormhole IN A 192.249.249.1
IN A 192.253.253.1
;
; Aliases
;
bigt IN CNAME terminator
dh IN CNAME diehard
wh IN CNAME wormhole
;
; Interface specific names
;
wh249 IN A 192.249.249.1
wh253 IN A 192.253.253.1
Here are the contents of the file
db.192.249.249
:
$TTL 3h
;
; Origin added to names not ending
; in a dot: 249.249.192.in-addr.arpa
;
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
;
; Name servers (The name '@' is implied)
;
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
;
; Addresses point to canonical names
;
1 IN PTR wormhole.movie.edu.
2 IN PTR robocop.movie.edu.
3 IN PTR terminator.movie.edu.
4 IN PTR diehard.movie.edu.
Here are the contents of the file
db.192.253.253:
$TTL 3h
;
; Origin added to names not ending
; in a dot: 253.253.192.in-addr.arpa
;
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
;
; Name servers (The name '@' is implied)
;
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
;
; Addresses point to canonical names
;
1 IN PTR wormhole.movie.edu.
2 IN PTR misery.movie.edu.
3 IN PTR shining.movie.edu.
4 IN PTR carrie.movie.edu.
Here are the contents of the file
db.127.0.0 :
$TTL 3h
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
1 IN PTR localhost.
While looking at the new
db.movie.edu file, you
may notice that we could have removed
movie.edu from the host names of the SOA
and NS records like this:
@ IN SOA terminator al.robocop (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
IN NS terminator
IN NS wormhole
You can't do this in the other zone data files because their
origins are different. In
db.movie.edu, we leave
these names as fully qualified domain names so that the NS and SOA
records are exactly the same for
all the zone
data
files.
| | |
4.3. Setting Up a BIND Configuration File | | 4.5. Host Name Checking |