Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I run a slave name server of a domain that I do not have full control over (i.e. changing the SOA is not possibly). The SOA specifies an expiry time of one week. For various reasons, I’d like to override that value on my specific slave server to something larger. Is there a way to do that?

N.B: I know that for the refresh and retry fields, bind9 provides the options min-refresh-time, max-refresh-time, min-retry-time and max-retry-time to overrule the SOA, as mentioned in the documentation. For some reason this just does not include expiry.

share|improve this question
up vote 0 down vote accepted

I don't think you can override expiration time. However, if one week out-of sync is ok, maybe set it up as master, and sync it periodically with dig -t AXFR> and rndc reload.

share|improve this answer

After reading the code, I found a solution that seems to work. bind stores the time of what he think he last refreshed the zone as the modification time of the zone file. So

$ touch /var/cache/bind/domain.tld.db
$ rndc reload

will make it think it has just refreshed the domain. This trick works even in hindsight, i.e. after the link to the master servers are lost and the domain has already expired and the slave server has stopped to answer requests.

share|improve this answer
I confirm it works. This is awesome. I'm deligthed by the siplicity of the solution. Thanks @joachim-breitner ! – leucos Oct 9 '14 at 19:22

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.