Just sharing some DNS tips, which needs to keep on mind while configuring your DNS server.
1. An A Record must ALWAYS contain IP address (map host to IP)
Whenever you specify A record it must contain IP address on the Right side. The A record is so important in DNS without which the meaning of mapping hostnames to IP would be absurd. So remember this!
2. CNAME (Alias) must contain hostnames. No IPs here
3. NS an MX records must contain host names. No IPs allowed.
4. Use the DOT in the end, whenever you specify a domain name in the DNS zone file. This DOT is so important and if you forget this you will have nightmares with your dns configuration.
example.com. IN NS ns1.example.com.
Why DOT? simply because it tells to start query from root servers (denoted by dot)
5. MX records (for mail servers) should contain hostnames NOT IPs.
6. Allow Port 53 for both UDP and TCP connections
If you use firewall make sure you do not block port 53 for DNS tcp and udp requests. By default dns lookups use UDP protocol while zone transfers and notifications use TCP protocol of port 53.
-Port 53 UDP = Dns Requests
-Port 53 TCP = Zone transfers
7. CNAMEs cannot co-xist with MX hosts.
Do not specify CNAME or aliases pointing to MX records.
domain.com. IN MX 10 mail.domain.com.
mail IN CNAME domain.com. ----------> WRONG
Instead use A record to map directly to IP address.
mail IN A 18.104.22.168 ---> CORRECT
8. No duplicate MX records
domain.com. IN MX mail.domain.com.
domain.com. IN MX mail.domain.com ----> DUPLICATE
In case if some information provided above is incorrect, please feel free to update me.
Will surely add more tips & tricks in the coming future.