It's been a few days that I am doing my best to properly understand the bind9 official documentation:
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.
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:
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 firstname.lastname@example.org 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.