Date: Sun, 12 Mar 2000 14:31:56 -0600 (CST) From: Ryan Thompson <ryan@sasknow.com> To: Matthew Joseff <mjoseff@hellenco.com> Cc: FreeBSD Questions List <freebsd-questions@FreeBSD.ORG> Subject: Re: CNAME vs A records (clarification) Message-ID: <Pine.BSF.4.21.0003121408340.6666-100000@ren.sasknow.com> In-Reply-To: <Pine.BSF.4.10.10003121426540.79357-100000@retribution.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Joseff wrote to FreeBSD Questions List:
> Can someone correct and/or confirm my understanding of CNAME vs A records:
>
> CNAME should be used for a host that exists on (potentially) another
> server but uses that domain.
CNAME is a canonical name for a host. From DNS and BIND 3.e., O'Reilly
p63:
A CNAME record maps an alias to its canonical name. The name
server handles CNAME records in a different manner than aliases
are handled in the host table. When a name server looks up a name
and finds a CNAME record, it replaces the name with the canonical
name and looks up the new name.
So, to clarify that:
You generally want to use a CNAME to simplify addressing. Suppose you
have a host on your network that acts as a www, ftp and mail server on
x.x.x.2. This machine is probably a central part of your company's
network, so you may decide on a hostname of ringmaster. Reverse lookups
from this host will return x.x.x.2, and ringmaster.domain. You don't want
to force all your mail, ftp and www clients to remember to connect to
ringmaster, and, you may decide to move some of those services to other
machines later. So, CNAMES come in to play:
ringmaster IN A x.x.x.2
www IN CNAME ringmaster
mail IN CNAME ringmaster
ftp IN CNAME ringmaster
Then, when lookups are done, BOTH names will be returned (i.e., the alias,
and the canonical name). So, nslookup ftp would return something like
this:
Server: localhost
Address: 0.0.0.0
Name: ringmaster.some.host
Address: x.x.x.2
Aliases: www.some.host
> A records should be used as an alias for a host but co-exists with
> other hosts.
> www IN A (IP address)
> foo IN A (same IP as www)
> bar IN CNAME (some other IP or hostname)
> etc IN A (bar's hostname)
>
> So in this case, bar should be the only one out of the four that has a
> reverse entry?
No. That almost sounds backwards. If you have the following:
www x.x.x.1
foo x.x.x.1 (same machine as www)
bar x.x.x.2
etc x.x.x.2 (same machine as bar)
use:
www IN A x.x.x.1
foo IN CNAME www
bar IN A x.x.x.2
etc IN CNAME bar
That way, if bar's IP address changes, for example, you don't have to
modify the record for etc. That may not seem like much of a savings, but
consider what we do for our domain clients:
They may run n number of services on their machines (ftp, www, mail,
whatever)... But we obviously don't allow them to have their own news
feed. So, they're stuck connecting to our news server. (news.isp.host).
Now, why should they have to remember to connect to news.isp.host
(x.x.x.5) , when they could be using news.their.domain? They could use an
A entry:
news.their.domain. IN A x.x.x.5
But, if the IP of our news server changed, ALL of our news customers would
have an invalid address in their zone files!
So, this is where CNAMES become really handy:
news.their.domain. IN CNAME news.isp.host.
Then, even if news.isp.host. moves halfway around the world, NO ONE has to
adjust their zone files.
--
Ryan Thompson <ryan@sasknow.com>
Systems Administrator, Accounts
Phone: +1 (306) 664-1161
SaskNow Technologies http://www.sasknow.com
#106-380 3120 8th St E Saskatoon, SK S7H 0W2
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0003121408340.6666-100000>
