0

I am trying to configure a bind dns server on Centos 7. I have no previous knowledge on setting up dns servers, i am following this tutorial:http://www.itzgeek.com/how-tos/linux/centos-how-tos/configure-dns-bind-server-on-centos-7-rhel-7.html Unfortunately, i am getting this error:

named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; disabled)
   Active: failed (Result: exit-code) since Sun 2015-12-06 19:34:07 EET; 
4min 5s ago
  Process: 9171 ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf (code=exited, status=1/FAILURE)
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: dns_rdata_fromtext: fwd.dynavio.coop.db:12: near '192.168.38.301': bad dotted quad
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone dynavio.coop/IN: loading from master file fwd.dynavio.coop.db failed: bad dotted quad
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone dynavio.coop/IN: not loaded due to errors.
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: _default/dynavio.coop/IN: bad dotted quad
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone 38.168.192.in-addr.arpa/IN: loaded serial 2014112511
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone localhost.localdomain/IN: loaded serial 0
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone localhost/IN: loaded serial 0
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: zone 0.in-addr.arpa/IN: loaded serial 0
Dec 06 19:34:07 localhost.localdomain systemd[1]: named.service: control process exited, code=exited status=1
Dec 06 19:34:07 localhost.localdomain systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
Dec 06 19:34:07 localhost.localdomain systemd[1]: Unit named.service entered failed state.

named.conf file:

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1;192.168.38.103; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.38.0/24; };

        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "dynavio.coop" IN {
        type master;
        file "fwd.dynavio.coop.db";
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "dynavio.coop" IN {
        type master;
        file "fwd.dynavio.coop.db";
        allow-update { none; };
};

zone "38.168.192.in-addr.arpa" IN {
        type master;
        file "38.168.192.db";
        allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

fwd.dynavio.coop.db file:

$TTL 86400
@   IN  SOA         primary.dynavio.coop. root.dynavio.coop. (
2014112511      ;Serial
3600            ;Refresh
1800            ;Retry
604800          ;Expire
86400           ;Minimum TTL
)
;Name Server Information
@      IN NS      primary.dynavio.coop.
;IP Address of Name Server
primary IN  A      192.168.38.301
;Mail exchanger
dynavio.coop.  IN  MX 10   mail.dynavio.coop.
;A - Record HostName To Ip Address
www     IN  A       192.168.38.100
mail    IN  A       192.168.38.150
;CNAME record
ftp     IN CNAME        www.dynavio.coop.

38.168.192.db file:

$TTL 86400
@   IN  SOA         primary.dynavio.coop. root.dynavio.coop. (
2014112511      ;Serial
3600            ;Refresh
1800            ;Retry
604800          ;Expire
86400           ;Minimum TTL
)
;Name Server Information
@ IN  NS      primary.dynavio.coop.
;Reverse lookup for Name Server
8       IN   PTR     primary.dynavio.coop.
;PTR Record IP address to HostName
100     IN   PTR     www.dynavio.coop.
150     IN   PTR     mail.dynavio.coop.
1

You have a couple of errors in your zone config. The biggest one is the incorrect IP address primary IN A 192.168.38.301 A valid IP only allows up to 255.

I have built your zone into one of my test servers and it loads once the errors have been fixed (I changed the IP to become .8 (as per your rev-zone). There was a clue in the log output you got when trying to start named. Dec 06 19:34:07 localhost.localdomain named-checkconf[9171]: dns_rdata_fromtext: fwd.dynavio.coop.db:12: near '192.168.38.301': bad dotted quad

Here is a working zone file tested on bind-9.8;

; dynavio.coop Forward Zone

$TTL 86400
$ORIGIN coop.
dynavio         IN      SOA     primary.dynavio.coop. root.dynavio.coop. (
                        2015120601      ; Serial
                        3600    ; Refresh
                        1800    ; Retry
                        604800  ; Expire
                        86400 ) ; Minimum

                IN      NS      primary.dynavio.coop.
                IN      MX   10 mail.dynavio.coop.
                IN      TXT     "v=spf1 mx ip4:192.168.38.0/24 -all"

$ORIGIN dynavio.coop.

primary         IN      A       192.168.38.8
www             IN      A       192.168.38.100
mail            IN      A       192.168.38.150
ftp             IN      CNAME   www.dynavio.coop.
  • Great, but one thing. From published reverse zone I see he meant 192.168.38.8 address for "primary". – Nikita Kipriyanov Dec 6 '15 at 19:57
  • :-) updated my answer, thanks @NikitaKipriyanov I didn't spot that as I was only looking at the forward zone which had the problem. – user3788685 Dec 6 '15 at 19:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.