Penguin
Note: You are viewing an old revision of this page. View the current version.

The smallest unit of queriable data in the DNS. Each ResourceRecord has a type which gives particular meaning to its payload. These types include:

A

Short for "address". An IPv4 address. Specified in RFC:1035. Example:

foo.example.org  A  1.2.3.4
AAAA

Like A, but stores an IPv6 address; to be obsoleted by A6. Specified in RFC:1886. Example:

foo.example.org  AAAA  2002:c000:0200::1
A6

Supposed to obsolete AAAA for IPv6 addresses. Many people continue using AAAA due to the complexity of A6, see AAAAvsA6. Specified in RFC:2874. Example:

$ORIGIN X.EXAMPLE.
N         A6  64  ::1234:5678:9ABC:DEF0 SN-1.IP6
SN-1.IP6  A6  48  0:0:0:1:: IP6
IP6       A6  48  0::0 CUST-X.IP6.A.NET.
IP6       A6  48  0::0 CUST-X.IP6.B.NET.
CNAME

Short for Canonical Name, an alias for a hostname. Often used for well known services so that www.example.com points to arthur.example.com. Specified in RFC:1035. Example:

www.xtra.co.nz   CNAME  xtra.co.nz
xtra.co.nz       A      202.27.184.102

mail.xtra.co.nz  CNAME  mta.xtra.co.nz
mta.xtra.co.nz   A      203.96.92.132

Some record types in DNS are not allowed to be CNAMEs. Similar to DNAME. See the NamedNotes page for more details.

DNAME

Basically a CNAME for an entire domain. Specified in RFC:2672. Example:

test.meta.net.nz. IN DNAME wlug.org.nz.

With this in place www.test.meta.net.nz resolves to www.wlug.org.nz.

Support for this feature is spotty. DanBernstein refuses to implement it and it doesn't seem to be mentioned at all in MicrosoftWindows (as of 2004-07-14). Only BIND seems to support it, but since it will also serve you a CNAME, most resolvers should deal with it properly:

test.meta.net.nz.      86400  IN  DNAME  wlug.org.nz.
www.test.meta.net.nz.      0  IN  CNAME  www.wlug.org.nz.
www.wlug.org.nz.       80464  IN  CNAME  hoiho.wlug.org.nz.
hoiho.wlug.org.nz.     80464  IN  A      203.97.10.50

MicrosoftWindows still seems to get confused however.

LOC

GPS location of the machine or site. Specified in RFC:1876. Example:

waikato.ac.nz. LOC 37 48 30.000 S 175 17 36.000 E 66.00m 3000m 30m 10m

This means 37 deg 48' 30" South (latitude), 175 deg 17' 36" East (longitude), and 66 metres about sea level. The last two numbers appear to mean that the whole site is within 3000 metres of the given point. The point is accurate to about 30 metres, although this interpretation may be wrong. (It will be in the appropriate RFC if anyone can be bothered looking it up.)

xtraceroute(1) will use these records if it can find them. Unfortunately not many sites use them.

MX

MailExchanger. Identifies the SMTP MailServer(s) responsible for the domain. When no MX record exists and an A record does, the A record is chosen to take mail. Specified in RFC:1035. Example:

foo.com.  IN MX  10  mail.foo.com.

The "10" is the priority. Delivery will be attempted to MailServers in order of ascending priority value.

Note: the data for an MX record is a host name, NOT an IP address. The following will NOT work:

foo.com.  IN MX  10  130.123.7.10

Also, the host name (mail.foo.com in the example) MUST have an A record, NOT a CNAME record.

NS
In the initial part of a ZoneFile, indicates the NameServers which are authoritative for this domain. Elsewhere, indicates that a subdomain is being delegated to another set of NameServers. Specified in RFC:1035.
PTR

A pointer. Used for a ReverseLookup. Specified in RFC:1035. Example:

192  PTR  hostname.domain.

Note: don't forget the trailing fullstop!

SOA

Start of Authority. Defines information about a domain (called a zone, defined in a ZoneFile), such as a serial number defining the 'version' of the zone, and various timeout and caching values that should be used when records from a given zone are retrieved. The format name <ttl> class rr name-server email-address (serial refresh retry expire negttl). Specified in RFC:1035. Example:

$TTL 604800
$ORIGIN ethernal.tla.
@  IN  SOA  ns1.ethernal.tla. root.ethernal.tla. (
       2004111901  ; Serial
       604800      ; Refresh (7 days)
       86400       ; Retry   (24 hours)
       2419200     ; Expire  (28 days)
       604800 )    ; Neg TTL (7 days)

The name is given as "@", since that is the shorthand for the value of $ORIGIN. TTL is missing from this example, as it takes the zone default defined above as $TTL. The name-server field is basically the FQDN of the PrimaryNameServer for the domain (don't forget the trailing fullstop!). The email-address field is the address of the person responsible for the domain -- the first dot should be read as an @, so above should be read as root@ethernal.tla. The values in parenthesis are described below:

Serial number:
Generally given in YYYYMMDDXX format, giving 100 possible revisions of any given zone in a day (Usually more than enough). Always remember to increment this when editing the ZoneFile, since a change to the serial number is what triggers ZoneTransfers by SecondaryNameServers.
Refresh:
Defines the interval in seconds between checks by a SecondaryNameServer as to whether the serial number has changed. When a change is detected, this means it needs to refresh its copy of the zone by requesting a ZoneTransfer from the PrimaryNameServer.
Retry:
Defines the number of seconds for a SecondaryNameServer to wait before retrying a zone refresh, after a failure.
Expire:
Defines the number of seconds for a SecondaryNameServer to keep zone records, and answer authoritatively with them if it can't contact the PrimaryNameServer. (so, if the above refresh fails, and it's been retrying for this long).
Neg TTL:
Defines the number of seconds that a client should remember that a negative response was received from this server. So, if a remote server asks us what the address for foo.ethernal.tla is but it doesn't exist, it will cache the negative answer we gave it for this many seconds, even if we add that name to the zone a couple of seconds later.
TXT
Up to 255 bytes of arbitrary binary data. Specified in RFC:1035.

A more comprehensive list of ResourceRecords is at: http://www.dns.net/dnsrd/rr.html


CategoryDns