Differences in DNS between freeBSD and Linux:
Really, there are very few differences that I can find, at least that are universal - the differences between the way bind is set up can vary just as widely between two distributions of Linux as they do between a given distribution and FreeBSD. The primary differences between any two free operating systems installations of bind tend to be in the default configuration and the location of some files, as well as perhaps a preference with regards to calling it 'bind9' or simply 'named' in paths and filenames.
The four main types of name server:
Master: A master (or primary) DNS is authoritative for at least some of the zone files it holds, and is generally the only sort of DNS server on which records can be added or removed from a zone. By definition, any valid hostname on the internet is stored in at least one master DNS server somewhere.
Slave: A slave (or secondary) DNS is one that is not authoritative for the zones it holds. Rather, it receives it's records from a DNS server one step up from itself in the DNS hierarchy, which may either be the master DNS for the records in question or be another slave DNS in between them in the DNS hierarchy. This is done because always querying the master server for a domain would add unnecessary load on the master DNS, as well as creating unnecessary latency for the client.
Caching: A caching DNS server could be viewed as a special case of a secondary DNS server. Rather than downloading a fixed set of entire zone files in the way a secondary DNS ordinarily would, a caching DNS starts with no records, but with knowledge of one or more DNS servers further up the DNS hierarchy. When a request is received, the caching server locates the record using one of these other servers it has been made aware of, and then stores that itself, so that further requests for resolution of the same name can be resolved from it's own local cache. This is useful for reducing bandwidth used for DNS traffic, as installing a local caching server can greatly reduce the need to repeatedly resolve the same names using an external resolver.
Forwarding: The forwarding DNS may seem like an unusual option at first - it stores no records, and instead only forwards requests to a series of other DNS servers of which it is aware. In most cases, it is not a terribly useful option. There are a small number of cases, however, where it can be useful, such as where the local DNS server does not support recursion but a remote, forwarding DNS server does - in this case, using the forwarding DNS server can reduce the ammount of traffic across the network.
There are not much different of name server between linux and BSD. Since BIND is an open source package, and linux and BSD are using it. The way to configure name server are the same too. Althought Linux and BSD save config files in different location since they have different file structure.
The four main types of name server: Master: The master name server should be the main name server in the local network. It has the top authority in all other name servers.
Slave: Slave name servers sometime act as a secondary name server. One local network or WAN can have more than one slave name server. It has less control than Master name server but more control than forward and caching name servers.
Caching: Cache name server dose not have much power in the network. It basically update the table instead. It is widely used in small subnet to obtain better performance.
Fowarding: Fowarding server dose not store any record. It would be useful in a big network.