You can use a tool called named- checkconf to check BIND dns server (named daemon) configuration file syntax under Linux / UNIX. It checks the syntax, but not the semantics, of a named configuration file i.e. it can check for syntax errors or typographical errors but cannot check for wrong MX / A address assigned by you. Nevertheless, this is an excllent tool for troubleshooting DNS server related problems.
How do I check my bind configuration for errors?
Simply run command as follows:
# named-checkconf /etc/named.conf
You may want to chroot to directory so that include directives in the configuration file are processed as if run by a similarly chrooted named:
# named-checkconf -t /var/named/chroot /etc/named.conf
If there is no output, the configuration is considered correct and you can safely restart or reload bind configuration file. If there is an error it will be displayed on screen:
# named-checkconf /etc/named.conf
Output:
/etc/named.conf:58: open: /etc/named.root.hints: file not found
Related tool: BIND-DNS server zone file validity checking tool
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins

- My 10 UNIX Command Line Mistakes
- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
Facebook it - Tweet it - Print it -
We're here to help you make the most of sysadmin work. So, subscribe!


{ 8 comments… read them below or add one }
also there“s named-checkzone to check zone files for typos, syntax errors and the like. Command syntax is as follows:
named-checkzone
Example for a zone domain.com with a zone file named domain.com.zone
named-checkzone domain.com domain.com.zone
There also exists a dlint; a DNS Lint and even a dnstracer too ;)
DNS N00B
I cannot get my bind service to start. When I type:
[root@localhost ~]# /etc/init.d/named start
Starting named:
Error in named configuration:
/etc/named.conf:58: open: /etc/named.root.hints: file not found
[FAILED]
What do I need to do to make the file appear in the correct directory. If I do:
[root@localhost ~]# locate named.root.hints
/usr/share/doc/bind-9.3.4/sample/etc/named.root.hints
The file seems to be in the directory above.
copy the hints finle to /etc/ folder……and then restart the service.
Do you run named in chroot jail? Can you tell me your Linux distro name?
It is fedora 6 with all the lastest updates. Yes, it should be in chroot by default. It all started with this article:
I was hoping to get it set up and running. Here is my version:
[root@localhost ~]# rpm -q bind-chroot
bind-chroot-9.3.4-7.P1.fc6
[root@localhost ~]#
When I tried to backup things by doing:
[root@bigboy tmp]# cp -f /etc/named.conf /var/named/chroot/etc/
[root@bigboy tmp]# cp -f /etc/rndc.* /var/named/chroot/etc/
It could not find the file locations and so I located them and typed in different ones. I’m not sure if that would have thrown it off?
Is there someway just to remove it all and start over again? I tried removing and installing the graphical way through KDE but everything remains the same when I try to start named again.
Thanks,
Dear Sir,
I have problem starting named service, I get Starting Named: [FAILED]. Then I started to check bind configuratio using named-checkconf command, but there is no output. Please hel me.
Thanks
Mohamed
hi Vivek,
i have a problem whenever i do a nslookup for a site named manalihospital it does not return an answer but after i restart the named process it works fine for some time and again the same problem persists, what can be the problem.
thank you in advance
Andy