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

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

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 6 comments… read them below or add one }

1 Fabio Viero 09.22.07 at 1:53 am

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

2 Balwinder S Dheeman 09.24.07 at 7:07 pm

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

3 John Doe 09.26.07 at 3:23 am

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.

4 vivek 09.26.07 at 5:25 am

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

5 John Doe 09.26.07 at 10:51 pm

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,

6 Mohamed Dh. 05.21.09 at 2:46 pm

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

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tagged as: , , , , , , ,

Previous post: Linux tip: Save Power With Gigabit Ethernet By Using Lower Speed

Next post: Quick tip: Capture Linux network packets to a file