DNS: trailing periods
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 the zone
statement in named.conf
otherwise).
i.e.
$ORIGIN example.com.
mail IN A 192.168.1.1
mail2 IN A 192.168.1.2
server IN A 192.168.1.3
@ IN MX 10 mail ; not FQDN - example.com. appended
IN MX 20 mail2.example.com. ; FQDN
IN MX 30 mail.example.net. ; FQDN in another domain
IN MX 40 mail2.example.net ; ERROR - not FQDN - example.com appended
www IN CNAME server ; not FQDN - example.com. appended
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.
How come when I use everydns.net, they do not require me to add a trailing period?
Is this an implementation quirk?
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.