Centos 7 绑定问题

Centos 7 绑定问题

我正在尝试在 Centos 7 上配置绑定 DNS 服务器。我以前没有关于设置 DNS 服务器的知识,我正在遵循本教程:http://www.itzgeek.com/how-tos/linux/centos-how-tos/configure-dns-bind-server-on-centos-7-rhel-7.html 不幸的是,我收到了这个错误:

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 文件:

//
// 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文件:

$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文件:

$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

您的区域配置中有几个错误。最大的错误是 IP 地址不正确。primary IN A 192.168.38.301有效 IP 最多只允许 255 个。

我已经将您的区域构建到我的一个测试服务器中,一旦错误得到修复,它就会加载(我将 IP 更改为 .8(根据您的 rev-zone)。在您尝试启动命名时获得的日志输出中有一个线索。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

这是在 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.

相关内容