Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. 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'm working on centos6.5 and bind9 and I have managed to add records to a DNS zone by doing this steps:

creating the key:

 dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com.

editing conf. file:

// TSIG Key
key "example.com." {
     algorithm hmac-md5;
zone "example.com" IN {
     type master;
     file "example.com.zone";
     allow-update{ key "example.com."; };

give the named authorization to the /var/named folder:

# chown -R named:named /var/named
# find . -type d -exec chmod 770 {} \;
# find . -type f -exec chmod 660 {} \;

I have adding records using this script:

#Defining Variables
echo "
server $DNS_SERVER
zone $DNS_ZONE
update add $RECORD
send" | nsupdate -k Kexample.com.+157+55566.key

it didn't return any error.

I test if I add this record by using dig command:

#dig +short dd2.example.com.

but the problem that the record added doesn't appear in the zone file 'example.com.zone'.

even when I use reload: rndc reload MYZONE or rndc reload
it returns an error message like this:

[root@dd Shells]# rndc reload example.com.
rndc: 'reload' failed: dynamic zone

but when I restart the named service: service named restart the record appears in the zone file.

my question is :

Is it a way to the record to be added to the zone file without restarting the named service?

share|improve this question
service named reload does not work? – Christopher May 29 '14 at 20:34
even though service named reload worked , is it considered as a good solution for performance? because service named restart is absolutely not @Christopher – Networker May 29 '14 at 20:39
Yes, Sir. This is the standard method on RHEL and derivatives like CentOS, Scientific Linux, Oracle Linux, etc. – Christopher May 29 '14 at 20:46
Thanks, but did you have any idea why rndc reload zone didn't work? – Networker May 29 '14 at 20:48
No. I do not know why. I do know that CentOS, although it is touted as being the same thing as RHEL, is actually 85% different in terms of binary compatibility. That might be it. – Christopher May 29 '14 at 20:54
up vote 6 down vote accepted

I have found the answer:

my problem was that BIND can't rndc reload zone with the dynamic zones so BIND won’t allow us to reload a dynamic zone. So we have to tell bind to temporarily stop allowing dynamic updates. This is handled with the freeze option.

rndc freeze example.com

then reloading

rndc reload example.com  

then allowing dynamic updates again:

rndc thaw example.com
share|improve this answer

Have you tried:

 rndc reconfig

This should do the trick.

But be aware that this command adds (removes) new (old) zones, but it cannot modify existing ones

share|improve this answer
I want to add records to the zone,, not adding a new zone @Neven – Networker May 27 '14 at 11:08
Sorry I misunderstood. There is no other way than rndc reload. Have you tried with SOA serial number change? – Neven May 27 '14 at 11:12
but why it won't work? @Neven – Networker May 27 '14 at 11:12
Have you changed serial number in SOA? – Neven May 27 '14 at 11:13
no I haven't, but is it necessary every time I modify my zone ,and if I do it what it would do ? – Networker May 27 '14 at 11:15

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.