When I edit my bind dns records, I need to add a trailing period for it to work. What is the point of this?
How come when I use everydns.net, they do not require me to add a trailing period?
Is this an implementation quirk?
When I edit my bind dns records, I need to add a trailing period for it to work. What is the point of this?
How come when I use everydns.net, they do not require me to add a trailing period?
Is this an implementation quirk?
DNS itself has a root zone. this zone it called literally ".". Bind requires that you fully qualify a DNS name (this includes the . or root zone). Other UIs simplify this by assuming the root zone for you.
Within Bind, you may define a variable
ORIGIN
that will be automatically appended if you do not specify a FQDN (Fully Qualified Domain Name, including the trailing .). Alnitak has an excelent example of the syntax and various uses of this.The trailing '.' makes the name into a "Fully Qualified Domain Name", i.e. an absolute domain name.
In standard "master file format" files if you don't add the trailing '.' then the name is assumed to be relative to the current zone file's
$ORIGIN
(which is either specified in the zone file as shown below, or taken from thezone
statement innamed.conf
otherwise).i.e.
The . makes the name be relative to the root, without it, it the name will be relative to the current zone. The standard zone format is defined in rfc1035 and rfc1034.
Yeah, it sounds like easydns.net is doing it a bit quirky.
If you do not enter the trailing "." then the server will add the value of $ORIGIN to the end of the record. This can be a very useful shortcut and save a lot of typing if used well.
Unfortunately it is also easy to forget the "." which can result in hard to diagnose problems.
Technically the "." on the end of a record such as www.serverfault.com. indicates the separator between the "com" gTLD and the "" root zone.
The trailing dot tells the DNS server that this is a fully qualified name. The dot is the root of the DNS heirarchy. If you don't use the dot, the DNS server will assume that it's a record in the current zone and will append it for you. For example, if you have a CNAME in exmaple.com that points to host.example.org, when you query for that, you'll get host.example.org.example.com, which probably isn't what you wanted.
The reason why you didn't have to with everydns.net is because they probably wrote their UI so you didn't have to worry about this technical detail.
In an fqdn, the dots are the actual identifiers. "com" and "edu", "hp" and "stanford" are just arbitrary delimiters. The dot's are uniquely identified by their spin.
The original designers wanted to be able to specify hosts in zone files with a minimum of typing, therefore it defaults to appending the zone to each entry unless fully qualified with a trailing dot. This is an implementation quirk that everydns.net realizes leads to newbie errors and confusion; therefore they eliminated it.
The short answer.. Well, has honestly already been documented here. :) Basically and put succinctly, "It says so in the RFC, mate."
Have a look at this link
"No, that dot in the domain name of the URL is not a mistake."