The symbol @ is used in BIND to denote zone root (which is sometimes also called the zone apex. The value substituted for @ is either:
The last $ORIGIN directive encountered in the file. To illustrate possible uses:
; example.com zone file fragment
$ORIGIN example.com.
@ IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; se = serial number
172800 ; ref = refresh = 2d
900 ; ret = update retry = 15m
1209600 ; ex = expiry = 2w
3600 ; min = minimum = 1h
)
....
@ IN NS ns1.example.com.
; ns1.example.com. is the NS for example.com
; and could have written as
example.com. IN NS ns1.example.com.
; OR using blank substitution
IN NS ns1.example.com.
; MX traditionally written using blank substitution
IN MX 10 mail.example.com.
; but could have been written as
@ IN MX 10 mail.example.com.
...
; @ works anywhere
www IN A 192.168.2.3
; this RR allows use of http://example.com
@ IN A 192.168.2.3
; and could have been written as
example.com. IN A 192.168.2.3
...
$ORIGIN uk.example.com.
; @ reference last $ORIGIN
@ IN NS ns2.example.com.
; ns2.example.com. is name server for uk.example.com subdomain
; and could have been written as
uk.example.com. IN NS ns2.example.com.
If no $ORIGIN directive is present - BIND synthesizes one from the value of the zone name in the named.conf file , for example:
// named.conf file fragment
zone "example.com" in{
type master;
file "pri.example.com";
};
example.com. is synthesized as the zone $ORIGIN and will replace @ in the zone file.
; example.com zone file fragment
; no ORIGIN directive
@ IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; se = serial number
172800 ; ref = refresh = 2d
900 ; ret = update retry = 15m
1209600 ; ex = expiry = 2w
3600 ; min = minimum = 1h
)
....
@ IN NS ns1.example.com.
; ns1.example.com. is the NS for example.com
; and could have written as
example.com. IN NS ns1.example.com.
; OR using blank substitution
IN NS ns1.example.com.
....
Blank labels are a little messy and the substitution here is the last valid name (or label) or $ORIGIN if there are no previous names (labels). To illustrate blank name substitution:
; example.com zone file fragment
; no ORIGIN directive
@ IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; se = serial number
172800 ; ref = refresh = 2d
900 ; ret = update retry = 15m
1209600 ; ex = expiry = 2w
3600 ; min = minimum = 1h
)
....
IN NS ns1.example.com.
; the blank label in the NS substitutes example.com.
; Confusingly the whole definition could use blank substitution
; as shown below which is functionally equivalent to above
; example.com zone file fragment
; no ORIGIN directive
IN SOA ns1.example.com. hostmaster.example.com. (
2003080800 ; se = serial number
172800 ; ref = refresh = 2d
900 ; ret = update retry = 15m
1209600 ; ex = expiry = 2w
3600 ; min = minimum = 1h
)
....
IN NS ns1.example.com.
Finally, to illustrate other uses of blank substitution see the following:
; zone file fragment for example.com.
...
; following two A RRs both have a label of www.example.com.
www IN A 192.168.2.3
IN A 192.168.2.4
; this could have also been written as shown if less confusing
www IN A 192.168.2.3
www IN A 192.168.2.4
Problems, comments, suggestions, corrections (including broken links) or something to add? Please take the time from a busy life to 'mail us' (at top of screen), the webmaster (below) or info-support at zytrax. You will have a warm inner glow for the rest of the day.
Contents
tech info
guides home
dns articles
intro
contents
1 objectives
big picture
2 concepts
3 reverse map
4 dns types
quickstart
5 install bind
6 samples
reference
7 named.conf
8 zone records
operations
9 howtos
10 tools
11 trouble
programming
12 bind api's
security
13 dns security
bits & bytes
15 messages
resources
notes & tips
registration FAQ
dns resources
dns rfcs
change log

This work is licensed under a
Creative Commons License.
If you are happy it's OK - but your browser is giving a less than optimal experience on our site. You could, at no charge, upgrade to a W3C STANDARDS COMPLIANT browser such as Firefox
Search
Share
Page
Resources
Systems
FreeBSD
NetBSD
OpenBSD
DragonFlyBSD
Linux.org
Debian Linux
Software
LibreOffice
OpenOffice
Mozilla
GitHub
GNU-Free SW Foundation
get-dns
Organizations
Open Source Initiative
Creative Commons
Misc.
Ibiblio - Library
Open Book Project
Open Directory
Wikipedia
Site
|
Copyright © 1994 - 2025 ZyTrax, Inc. All rights reserved. Legal and Privacy |
site by zytrax hosted by javapipe.com |
web-master at zytrax Page modified: January 20 2022. |