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?
TTL is definitly the value you need.
Have you tried writing it in seconds? set your TTL value to the following:
I believe the error you get is because you've used minutes. It doesn't understand you have actually specified the TTL and therefore defaults back to the SOA MINTTL value.
Remember to restart bind and run a new named-checkzone!
This page also describes what you're after in a nice way - Link