Ubuntu 12.04 LTS 上的 Bind9 SERVFAIL

Ubuntu 12.04 LTS 上的 Bind9 SERVFAIL

我正在尝试在公司内部设置自己的 DNS 服务器,但无法使其工作。我安装Bind9在 上Ubuntu 12.04。每次尝试使用它时,我总是得到status: SERVFAIL。这是我的一个测试示例:

; <<>> DiG 9.8.1-P1 <<>> ns.vpl.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 25725
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ns.vpl.net.                    IN      A

;; Query time: 1 msec
;; SERVER: 192.168.3.12#53(192.168.3.12)
;; WHEN: Mon Nov 25 12:39:13 2013
;; MSG SIZE  rcvd: 28

这是我的文件:
命名的.conf.本地

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

// Load internal VPL d.o.o. forward and  backward zones.
zone "vpl.net" {
        type master;
        file "/etc/bind/vpl-zone/db.vpl";
};

zone "192.168.3.in-addr-arpa" {
        type master;
        notify no;
        file "etc/bind/vpl-zone/db.192";
};

数据库

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     vpl.net.        jure.vpl.net. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.vpl.net.
@       IN      A       192.168.3.12
@       IN      AAAA    ::1

; A NAME Records
ldap    IN      A       192.168.3.11

分贝.192

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     vpl.net.        jure.vpl.net. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.vpl.net.
11      IN      PTR     ldap.vpl.net.

解析配置文件

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver      192.168.3.12
domain          vpl.net
search          vpl.net

是否配置

eth0      Link encap:Ethernet  HWaddr 00:0c:29:2c:94:cb
          inet addr:192.168.3.12  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe2c:94cb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:26142 errors:0 dropped:684 overruns:0 frame:0
          TX packets:6495 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2341216 (2.3 MB)  TX bytes:1168912 (1.1 MB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:152 errors:0 dropped:0 overruns:0 frame:0
          TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:16049 (16.0 KB)  TX bytes:16049 (16.0 KB)

命名的.conf.选项

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

         forwarders {
                8.8.8.8;
                8.8.4.4;
         };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

我真的不知道我做错了什么,所以任何建议都会有帮助。
谢谢。

答案1

在这种情况下,您会收到一个,SERVFAIL因为该区域无效。它缺少胶水记录(RFC1912常见的 DNS 操作和配置错误,第 2.3 节)。

您已指定 NS(名称服务器)资源记录:

@       IN      NS      ns.vpl.net.

但您没有与域关联的 A(IPv4)资源记录ns.vpl.net。 如果192.168.3.12是您的名称服务器的地址,那么您需要添加如下内容:

ns      IN      A       192.168.3.12

BIND 很可能就此向您发出了警告。如果此调整无法解决您的问题,请发布服务重启后 BIND 错误的内容。可能还有其他问题。

另外,我有预感你实际上并不想指定::1作为您的 AAAA (IPv6) 资源记录vpl.net。这样做会导致任何执行查找的服务器相信本地主机) 是 IPv6 地址vpl.net

如果您的网络中没有部署 IPv6,则不要指定 AAAA 记录。几乎所有 IPv6 网络都是双栈的,即使不指定 AAAA 资源记录也可以正常工作。

也可以看看:

答案2

在您的选项部分您是否允许查询和递归?

允许查询 { 本地主机; 192.168.3.0/24; }

允许递归 { 本地主机; 192.168.3.0/24; }

递归是;

相关内容