I need to test various DNS changes on my domain which require that the zone file changes I make are updated quickly.
I'm a bit confused between Refresh, Retry, Expire and TTL values. Which is the one I need to set to a minimum, to "propogate DNS changes" (if I may use the term) without much latency? I'm rather new to nameservers, but have three nameservers set to rsync their zone files every 2 minutes. The first server (ns1.mydomain) has the following setup:
mydomain.com. IN SOA ns1.mainnameserver.co.in. admin.mydomain.com. (
2007010401 ; Serial
1800 ; Refresh [1h=3600] 1800=30m
600 ; Retry [10m]
86400 ; Expire [2weeks] 86400=1day
600 ) ; Negative Cache TTL [1h]
;
$TTL 3m;
mydomain.com. IN NS ns1.mainnameserver.co.in.
mydomain.com. IN NS ns2.mainnameserver.co.in.
mydomain.com. IN NS ns3.mainnameserver.co.in.
mydomain.com. IN MX 10 her.mainnameserver.co.in.
mydomain.com. IN A 198.13.18.223
www.mydomain.com. IN A 198.13.18.223
ns1.mydomain.com. IN A 197.18.72.23
ns2.mydomain.com. IN A 36.124.102.106
ns3.mydomain.com. IN A 36.117.98.133
mydomain.com. 3501 IN TXT "v=spf1 a:her.mainnameserver.co.in mx:hermes.mainnameserver.co.in mx: ip4:191.21.218.223 ~all"
*.mydomain.com. 3600 IN CNAME mydomain.com.
I've assumed that TTL is the value I need, and have set it as above, to 3 minutes. Is it the right way to do it?
On a related note..With the above zonefile, when I do a named-checkzone, I get /var/lib/bind/db.mydomain.com:1: no TTL specified; using SOA MINTTL instead
. Why is this message shown? How do I avoid the warning and do it properly?