It's been a few days that I am doing my best to properly understand the bind9 official documentation:
http://ftp.isc.org/isc/bind9/cur/9.7/doc/arm/Bv9ARM.html
There are many bind9 tutorials out there. However, I do have many problems reconciling the proposed solutions to any official definition of a SOA RR that I can find.
Among others, I also checked:
http://en.wikipedia.org/wiki/Resource_record#DNS_resource_records
http://en.wikipedia.org/wiki/List_of_DNS_record_types
https://www.rfc-editor.org/rfc/rfc1035#page-12
And despite all that, I am still very confused about the proper format for a SOA RR.
Many tutorials seem to offer a syntax similar to this one:
example.com. 43200 IN SOA ns1.example.com. other.example.com. (
2011090302 ;Serial Number
86400 ;refresh
7200 ;retry
1814400 ;expire
86400 ;minimum
)
I don't quite explain the presence of the two domains before the opening of the parenthesise. However, without the second one, named-checkzone complained.
However, this site in particular:
http://forums.devshed.com/dns-36/bet-you-want-to-setup-a-dns-server-huh-141940.html
offers a zonefile with a SOA RR like this:
@ SOA ns1 ( ; ns1.basiczone.com is the primary server for basiczone.com
postmaster ; contact email for basiczone.com is postmaster@basiczone.com
2004041700 ; Serial ID in reverse date format
21600 ; Refresh interval for slave servers
1800 ; Retry interval for slave servers
604800 ; Expire limit for cached info on slave servers
900 ) ; Minimum Cache TTL in zone records
Note the absence of the class IN. Also, only one domain (ns1) is present before the opening parenthesis.
So, the main question is: what is the precise, official, or most recommended grammar for an SOA RR? Where is this grammar most precisely defined?
Finally, when to use a SOA record? My understanding is that I need a SOA record for any domain that I want to host and for which I want to be an authoritative name server.