clists at buxtonfamily.us
Fri Dec 21 17:59:53 UTC 2012
On Dec 21, 2012, at 8:45 AM, Marek Kozlowski wrote:
> As I can see BIND allows duplicate A:
> pikus IN A 192.168.1.1
> pikus IN A 192.168.1.2
Those aren't duplicates. They are a record set of two records. If they had the same data, we would call them duplicates.
A record set is a set of records that all have the same name, class, and type. Also called an rrset, short for "resource record set".
> and PTR:
> 192.168.1.1. IN PTR pikus.somedomain.com.
> 192.168.1.1. IN PTR filemon.somedomain.com.
Again, an rrset of PTR records.
> and disallows duplicate CNAMEs in the same way.
CNAME is a singleton type. Each rrset of type CNAME must have exactly one record, no more. Furthermore, a CNAME record cannot coexist with any other record type of the same name, except for a couple of DNSSEC record types (RRSIG and NSEC).
> For A and PTR both
> records are returned. My questions are:
> 1. Is using duplicate A and PTR a standard (RFC...?) supported by all
> named implementations?
> 2. Is using this duplicate A / PTR a good practice?
That depends on the use case. Multiple PTR records in an rrset is typically a bad idea (won't achieve the desired effect), but that is not always the case. Putting multiple A records in an rrset is common.
> 3. If A can be duplicated and CNAME cannot -- what's the reason for
> using CNAMEs (A-s are better).
A CNAME record creates an alias. If the target of that alias changes (gets a new address, gets a new MX record, or whatever), the alias need not change to gain the same benefit. Deciding when to use a CNAME record in place of one or more other records is a matter of taste, management tools, and use cases.
More information about the bind-users