• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

DNS Server (BIND) doesn't start, gives error

O

Onnovb

Guest
Hello people,

yesterday, completely out of the blue all my websites didn't respond anymore. No idea what caused it at the time, but I tried some basic stuff such as restart the httpd service and a reboot of my server but to no avail.

Today, after some sleep, I took a look in the Plesk control panel and noticed that under services the DNS Server (BIND) wasn't running and when I click the start button it gives the following error:
ERROR: PleskFatalException

Unable to make action: Unable to manage service by dnsmng: dnsmng: Service /etc/init.d/named failed to start

0: /usr/local/psa/admin/plib/common_func.php3:156
psaerror(string 'Unable to make action: Unable to manage service by dnsmng: dnsmng: Service /etc/init.d/named failed to start')
1: /usr/local/psa/admin/htdocs/server/restart_services.php:28

Whatever that means.

So I had a look at my /var/log/messages file and it tells me this:
Oct 1 15:40:00 ip-208-109-184-117 named: zone 0.0.127.IN-ADDR.ARPA/IN: loaded serial 20010622
Oct 1 15:40:00 ip-208-109-184-117 named: zone the-blueprints.com/IN: loading master file the-blueprints.com: file not found
Oct 1 15:40:00 ip-208-109-184-117 named: _default/the-blueprints.com/IN: file not found
Oct 1 15:40:00 ip-208-109-184-117 named: zone 184.109.208.in-addr.arpa/IN: loading master file 184.109.208.in-addr.arpa: file not found
Oct 1 15:40:00 ip-208-109-184-117 named: _default/184.109.208.in-addr.arpa/IN: file not found
The the-blueprints.com website is the only DNS one that I turned on after the complete failing of DNS altogether, so that's the only one that is listed in the named.conf file (as generated by Plesk).

This is what my named.conf looks like:
// $Id: named.conf,v 1.1.1.1 2001/10/15 07:44:36 kap Exp $
//
// Refer to the named(8) man page for details. If you are ever going
// to setup a primary server, make sure you've understood the hairy
// details of how DNS is working. Even with simple mistakes, you can
// break connectivity for affected parties, or cause huge amount of
// useless Internet traffic.

options {
allow-recursion {
localnets;
};
directory "/var";
auth-nxdomain no;
pid-file "/var/run/named/named.pid";

// In addition to the "forwarders" clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
// forward only;

// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
/*
forwarders {
127.0.0.1;
};
*/
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;

/*
* If running in a sandbox, you may have to specify a different
* location for the dumpfile.
*/
// dump-file "s/named_dump.db";
};
//Use with the following in named.conf, adjusting the allow list as needed:

key "rndc-key" {
algorithm hmac-md5;
secret "CeMgS23y0oWE20nyv0x40Q==";
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

// Note: the following will be supported in a future release.
/*
host { any; } {
topology {
127.0.0.0/8;
};
};
*/

// Setting up secondaries is way easier and the rough picture for this
// is explained below.
//
// If you enable a local name server, don't forget to enter 127.0.0.1
// into your /etc/resolv.conf so this server will be queried first.
// Also, make sure to enable it in /etc/rc.conf.

zone "." {
type hint;
file "var/named/run-root/var/named.root";
};

zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "/var/named/run-root/var/localhost.rev";
};

// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example secondary config entries. It can be convenient to become
// a secondary at least for the zone where your own domain is in. Ask
// your network administrator for the IP address of the responsible
// primary.
//
// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
// (This is the first bytes of the respective IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended.)
//
// Before starting to setup a primary zone, better make sure you fully
// understand how DNS and BIND works, however. There are sometimes
// unobvious pitfalls. Setting up a secondary is comparably simpler.
//
// NB: Don't blindly enable the examples below. :) Use actual names
// and addresses instead.
//
// NOTE!!! FreeBSD runs bind in a sandbox (see named_flags in rc.conf).
// The directory containing the secondary zones must be write accessible
// to bind. The following sequence is suggested:
//
// mkdir /etc/namedb/s
// chown bind.bind /etc/namedb/s
// chmod 750 /etc/namedb/s

/*
zone "domain.com" {
type slave;
file "s/domain.com.bak";
masters {
192.168.1.1;
};
};

zone "0.168.192.in-addr.arpa" {
type slave;
file "s/0.168.192.in-addr.arpa.bak";
masters {
192.168.1.1;
};
};
*/

zone "the-blueprints.com" {
type master;
file "the-blueprints.com";
allow-transfer {
208.109.184.117;
208.109.184.117;
common-allow-transfer;
};
};

Anybody got any ideas what to do?

I tried this trick:
1) cd /var/named/run-root/etc
2) mv named.conf named.conf.bak
3) cp named.conf.default named.conf
4) for x in `ls`; do /usr/local/psa/admin/sbin/dnsmng update $x; done;/etc/init.d/named restart

But that doesn't help either, it once did start, but then you still need to restart all DNS's for all your websites, but now when I start with a clean named.conf file (the default one) it still doesn't start. It says this when I do 'service named restart':
Stopping named: [FAILED]
Starting named:
Error in named configuration:
zone 0.0.127.IN-ADDR.ARPA/IN: loading master file localhost.rev: file not found
_default/0.0.127.IN-ADDR.ARPA/IN: file not found
[FAILED]

Getting very desperate here.

Any guru's out there with any help, cause I have literally been Googling and browsing this forum for 3 hours straight now and seems that I am only getting further away from finding a solution.
 
Got it at least started now, but only when I don't have any DNS info in the named.conf file, apart from the default ones.

When I add a domain, www.digi-log.net for instance it gives this error:
Oct 2 14:43:57 ip-208-109-184-117 named: zone 0.0.127.IN-ADDR.ARPA/IN: loaded serial 20010622
Oct 2 14:43:57 ip-208-109-184-117 named: zone digi-log.net/IN: has no NS records
Oct 2 14:43:57 ip-208-109-184-117 named: _default/digi-log.net/IN: bad zone
Oct 2 14:43:57 ip-208-109-184-117 named: zone 184.109.208.in-addr.arpa/IN: loaded serial 1191328950

But the digi-log.net file looks like this:
; *** This file is automatically generated by Plesk ***
$TTL 86400

@ IN SOA digi-log.net. onno.onnovanbraam.com. (
1191328950 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
10800 ) ; Minimum

ns2.digi-log.net. IN NS ns2.digi-log.net.
ns1.digi-log.net. IN NS ns1.digi-log.net.
digi-log.net. IN A 208.109.184.117
webmail.digi-log.net. IN A 208.109.184.117
mail.digi-log.net. IN A 208.109.184.117
ns1.digi-log.net. IN A 208.109.184.117
ns2.digi-log.net. IN A 208.109.184.117
ftp.digi-log.net. IN CNAME digi-log.net.
www.digi-log.net. IN CNAME digi-log.net.
digi-log.net. IN MX 10 mail.digi-log.net.
And seems to have NS records. :/

-----------------------

I now found out that I can add all the domains that are not the nameserver ones , but when I add the one that functions as the nameserver for the others, then it (named) doesn't want to start and Plesk gives me the error when I restart the DNS Server (BIND).

Which means I am completely stuck, because without nameservers, it kind of ends. I need nameservers to make it work but when I add one it breaks named. argh
 
Alright, I have got it fixed and am a happy man once again. :)

In the end it turned out I had messed up the name of the nameservers via Plesk.
I had them like this:
ns1.digi-log.net. NS ns1.digi-log.net.
ns2.digi-log.net. NS ns1.digi-log.net.
While they should have been:
digi-log.net. NS ns1.digi-log.net.
digi-log.net. NS ns1.digi-log.net.

Stupid me. No idea how they worked well for so long, maybe 'cause the server had never been restarted or something.

Someone slap me in the head next time. Thanks!
 
Back
Top