Check BIND – DNS Server configuration file for errors with named-checkconf tools

by Vivek Gite on September 21, 2007 · 8 comments

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:

Share this with other sys admins!
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 }

1 Fabio Viero September 22, 2007

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

Reply

2 Balwinder S Dheeman September 24, 2007

There also exists a dlint; a DNS Lint and even a dnstracer too ;)

Reply

3 John Doe September 26, 2007

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.

Reply

4 Roshan October 4, 2011

copy the hints finle to /etc/ folder……and then restart the service.

Reply

5 vivek September 26, 2007

Do you run named in chroot jail? Can you tell me your Linux distro name?

Reply

6 John Doe September 26, 2007

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,

Reply

7 Mohamed Dh. May 21, 2009

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

Reply

8 Andy November 18, 2009

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

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 8 + 12 ?
Please leave these two fields as-is:
Are you a human being? Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: