mail us  |  mail this page

products  |  company  |  support  |  training  |  contact us

ZYTRAX OPEN LOGO

Blucat Banner

Chapter 8 - $ORIGIN Directive

$ORIGIN defines a base value from which 'unqualified' name (those without a terminating dot) substitutions are made when processing the zone file. Zone files which do not contain an $ORIGIN directive, while being perfectly legitimate, can also be highly confusing. In general, always explicitly define an $ORIGIN directive unless there is a very good reason not to.

$ORIGIN is a standard directive defined in RFC 1035.

$ORIGIN values should be 'qualified' (they end with a 'dot'). Confusingly some documentation omits this dot.

If an $ORIGIN directive is not defined - BIND synthesizes an $ORIGIN from the zone name in the named.conf file as illustrated below:

// named.conf file fragment

zone "example.com" in{
	type master;
	file "pri.example.com";
};

In the above fragment example.com is the initial value of $ORIGIN if none present in the zone file (pri.example.com).

$ORIGIN is used in two contexts during zone file processing:

  1. The symbol @ forces substitution of the current (or synthesized) value of $ORIGIN. The @ symbol is replaced with the current value of $ORIGIN.
  2. The current value of $ORIGIN is added to any 'unqualified' name (any name which does not end in a 'dot').

Examples

@ Symbol replacement:

; example.com zone file fragment 
; no $ORIGIN present and is synthesized from the 
; zone name in named.conf
....
@          IN      NS     ns1.example.com. 
; ns1.example.com is the name server for example.com
....
$ORIGIN uk.example.com.
@          IN      NS     ns2.example.com. 
; functionally identical to
; uk.example.com IN NS ns2.example.com
; ns2.example.com is the name server for uk.example.com

Unqualified name addition:

; example.com zone file fragment 
; no $ORIGIN present and is synthesized from the 
; zone name in named.conf
....
www          IN      A    192.168.23.15 
; functionally identical to 
; www.example.com. IN    A  192.162.23.15
; thus 
; www.example.com = IP 192.168.23.15
joe          IN      CNAME www ;unqualified name
; joe.example.com = www.example.com
; could have written as
joe.example.com. IN  CNAME www.example.com.
....
$ORIGIN uk.example.com.
ftp          IN      A     10.0.16.34 
; functionally identical to
; ftp.uk.example.com IN A 10.0.16.34


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.

Pro DNS and BIND by Ron Aitchison

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 dns 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 rfc's
change log

Creative Commons License
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

web zytrax.com

Share Page

share page via facebook tweet this page submit page to stumbleupon submit page to reddit.com

Page Features

Page comment feature Send to a friend feature print this page Decrease font size Increase font size

RSS Feed Icon RSS Feed

Resources

Systems

FreeBSD
NetBSD
OpenBSD
DragonFlyBSD
Linux.org
Debian Linux

Applications

LibreOffice
OpenOffice
Mozilla
SourceForge
GNU-Free SW Foundation

Organisations

Open Source Initiative
Creative Commons

Misc.

Ibiblio - Library
Open Book Project
Open Directory
Wikipedia

SPF Resources

Draft RFC
SPF Web Site
SPF Testing
SPF Testing (member only)

Display full width page Full width page

Print this page Print this page

SPF Record Conformant Domain Logo

Copyright © 1994 - 2014 ZyTrax, Inc.
All rights reserved. Legal and Privacy
site by zytrax
Hosted by super.net.sg
web-master at zytrax
Page modified: January 01 2014.