内部DNS配置问题

内部DNS配置问题,dns,bind,dig,Dns,Bind,Dig,好的,我要提前声明,对于这种媒体来说,这个问题可能太复杂(细节太多而不是太复杂)。但我觉得这是最好的开始 我正在尝试建立一个概念验证项目,我的绑定配置是我的第一个大障碍。我想在3个物理机箱上设置3个DNS服务器没有这些框需要解析公共地址,这是内部的仅。我已经在(大部分)优秀的DNS&BIND第五版书中通读了如何设置内部根。但是我对他们例子的翻译是不实用的。所有IP都是RFC1918不可路由的 框1将对box1.bogus域上的地址具有权威性,框2将对box2.bogus域上的地址具有权威性。框3

好的,我要提前声明,对于这种媒体来说,这个问题可能太复杂(细节太多而不是太复杂)。但我觉得这是最好的开始

我正在尝试建立一个概念验证项目,我的绑定配置是我的第一个大障碍。我想在3个物理机箱上设置3个DNS服务器没有这些框需要解析公共地址,这是内部的。我已经在(大部分)优秀的DNS&BIND第五版书中通读了如何设置内部根。但是我对他们例子的翻译是不实用的。所有IP都是RFC1918不可路由的

框1将对box1.bogus域上的地址具有权威性,框2将对box2.bogus域上的地址具有权威性。框3将作为域伪的内部根目录和TLD服务器

目前尚未解决的问题:

  • 我在框1和框2中有一个提示文件,其中包含根区域的NS定义的单个NS记录。此外,还有一个记录将NS转换为根的ip。如果我
    dig.
    从框1中,我会得到一个带有NS名称的权限部分,而不是答案和附加记录部分。因此,我无法从框1中实际解析根服务器的IP

  • 如果我将方框1中的
    /etc/resolv.conf
    直接指向根服务器,并对box1.bogus进行
    挖掘,我将得到ns.box1.bogus答案记录和附加部分中的翻译。但是在下一次迭代中(应该在什么时候获得A记录),我得到了
    dig:not-get-address for ns.box1.bogus

显然,我的配置不正确。我看不出有什么办法能把它们贴在这篇文章上,所以如果人们想一步一步地浏览这篇文章,我会把它们剪切成一条评论,然后贴在这个问题上。否则,我愿意和一个“DNS家伙”一起“离线”,以找出我在哪里丢失了一个“.”或者有一个太多了

我个人认为web可以使用另一个内部根示例,而不使用Movie-U示例

好的,如果我们要这样做,那么我们应该用一个具体的例子,嗯?我在一个专用VLAN上设置了3台机器来测试这个。作为一种理智的检查,我配对了所有相关的配置,在有能力时进行压缩,并重新部署了其中的两个名称。我暂时没有提到Scratch。结果同上。以下是配置和初始dig输出


伪造的 /etc/named.conf /var/named/master/root /变量/命名/主/伪 挖掘的输出。 /etc/named.conf /var/named/master/itchy.赝品 /var/named/master/root.hint /etc/resolv.conf 挖掘的输出。
;挖掘9.5.0-P2。
;; 全局选项:printcmd
;; 得到答案:

;; ->>HEADER假设您已经检查了所有明显的事情,例如确保主绑定配置文件是您认为的。首先检查您认为named使用的是正确的,有时很容易编辑错误目录中的文件,并想知道为什么没有注意到更改

您还使用了名为checkconf和名为checkzone

调试bind已经够难了,但是如果没有看到配置文件,这几乎是不可能的,所以请将它们添加到原始文章中


(我将此添加为对问题的评论-我将其作为答案发布,因为这里的OP是新的)

假设您已经检查了所有明显的事情,例如确保主绑定配置文件是您认为的。首先检查您认为named使用的是正确的,有时很容易编辑错误目录中的文件,并想知道为什么没有注意到更改

您还使用了名为checkconf和名为checkzone

调试bind已经够难了,但是如果没有看到配置文件,这几乎是不可能的,所以请将它们添加到原始文章中


(我将此添加为对问题的评论-我将其作为答案发布,因为这里的OP是新的)

三台服务器中的每台都需要有相同的提示文件。它应该有一个带有根服务器名称的“.”的NS记录和一个用于该名称的A记录

根服务器应设置“.”区域。“.”区域本身需要有一个ns记录的“伪”。然后它应该有box1.bogus到box1和box2.bogus到box2的记录

请注意,您不应将box1和box2同时用作主机名和二级域的名称。假设域是zone1.bogus和zone2.bogus

因此,box1和box2应位于伪造区域,并带有完整的记录。zone1和zone2应该是指向box1和box2的NS记录


清澈如泥?:)

三台服务器中的每台都需要有相同的提示文件。它应该有一个带有根服务器名称的“.”的NS记录和一个用于该名称的A记录

根服务器应设置“.”区域。“.”区域本身需要有一个ns记录的“伪”。然后它应该有box1.bogus到box1和box2.bogus到box2的记录

请注意,您不应将box1和box2同时用作主机名和二级域的名称。假设域是zone1.bogus和zone2.bogus

因此,box1和box2应位于伪造区域,并带有完整的记录。zone1和zone2应该是指向box1和box2的NS记录


清澈如泥?:)

好的。我看你已经准备好了你的配置。好极了

我将更改根区域,如下所示:

;Should this be ns1.itchy.bogus or ns1.itchy.internal.bogus??
itchy                   NS      ns1-itchy.bogus.
ns1-itchy.bogus.    A   10.0.0.2
;
scratchy        NS      ns1-scratchy.bogus.
ns1-scratchy.bogus. A   10.0.0.3
我认为问题是你授权了itchy.赝品,所以你不能在里面写名字

我相信,“com”名称服务器使用提示,这样它们就可以为指定区域的名称服务器提供一个记录,但在您的情况下,确保任何指定的区域只具有子区域的授权,这才更干净-
// Controls who can make queries of this DNS server. Currently only the
// local test bed. When there is a standardized IP addr scheme, we can have
// those addr ranges enabled so that even if firewall rules get broken, the
// public internet can't query the internal DNS.
//
acl "authorized" {
        localhost;      // localhost
        10.0.0.0/24;          // Local Test
};

options {
    listen-on port 53 {
        127.0.0.1;
        10.0.0.1;
    };
    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";
    pid-file    "/var/run/named/named.pid";
    allow-query     { any; };
    recursion no;
};

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

//
// The fake root.
//
zone "." {
    type master;
    file "master/root";
    allow-query { authorized; };
};

//
// The TLD for testing
//
zone "bogus" {
    type master;
    file "master/bogus";
    allow-query { authorized; };
    allow-transfer { authorized; };
};
$TTL    3600
.                   SOA ns.bogustld. hostmaster.internal.bogus. (
                        2008101601  ; serial
                        1H      ; refresh
                        2H      ; retry
                        14D     ; expire
                        5M )        ; minimum
;
; Fake root zone servers defined.
;
.                   NS  ns.bogustld.
ns.bogustld.        A   10.0.0.1
;
; Testing TLD
;
bogus           NS  ns1.bogus.
ns1.bogus.              A   10.0.0.1
$TTL 3600
@           SOA ns1.internal.bogus. hostmaster.internal.bogus. (
                2008102201  ; serial date +seq
                1H      ; refresh
                2H      ; retry
                14D     ; expire
                5M)     ; min TTL
;
            NS  ns1.internal.bogus.
;
; Auth servers
;
ns1.internal.bogus. A   10.0.0.1
;
; Customer delegations each customer 2nd level domain has it's
; own zone file.
;
;Modified to be unique nameservers in the bogus domain
itchy           NS  ns1-itchy.bogus.
ns1-itchy.bogus.    A   10.0.0.2
;
scratchy        NS  ns1-scratchy.bogus.
ns1-scratchy.bogus. A   10.0.0.3
; <<>> DiG 9.5.0-P2 <<>> .
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57175
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;.                              IN      A

;; AUTHORITY SECTION:
.                       300     IN      SOA     ns.bogustld. hostmaster.internal
.bogus. 2008101601 3600 7200 1209600 300

;; Query time: 1 msec
;; SERVER: 10.0.0.1#53(10.0.0.1)
;; WHEN: Tue Oct 21 12:23:59 2008
;; MSG SIZE  rcvd: 88
; <<>> DiG 9.5.0-P2 <<>> +trace itchy.bogus
;; global options:  printcmd
.                       3600    IN      NS      ns.bogustld.
;; Received 57 bytes from 10.0.0.1#53(10.0.0.1) in 1 ms

itchy.bogus.            3600    IN      NS      ns1-itchy.bogus.
;; Received 69 bytes from 10.0.0.1#53(ns.bogustld) in 0 ms

itchy.bogus.            3600    IN      A       10.0.0.2
itchy.bogus.            3600    IN      NS      ns1.itchy.bogus.
;; Received 79 bytes from 10.0.0.2#53(ns1-itchy.bogus) in 0 ms
Machine Name: Itchy   
Role:         SLD Nameserver (supposed to be owner of itchy.bogus) 
IP:           10.0.0.2  
BIND:         9.5.0-16.a6.fc8  
// Controls who can make queries of this DNS server. Currently only the
// local test bed. When there is a standardized IP addr scheme, we can have
// those addr ranges enabled so that even if firewall rules get broken, the
// public internet can't query the internal DNS.
//
acl "authorized" {
        localhost;      // localhost
        10.0.0.0/24;          // LAN Test
};

options {
    listen-on port 53 {
        127.0.0.1;
        10.0.0.2;
    };
    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";
    pid-file    "/var/run/named/named.pid";
    allow-query     { any; };
    recursion no;
};

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

zone "." IN {
    type hint;
    file "master/root.hint";
 };

zone "itchy.bogus" {
    type master;
    file "master/itchy.bogus";
    allow-query { authorized; };
    allow-transfer { authorized; };
};
$TTL    3600
@       SOA     ns1.itchy.bogus. hostmaster.itchy.bogus. (
                2008102202  ; serial
                1H      ; refresh
                2H      ; retry
                14D     ; expire
                5M )        ; minimum
;
        A   10.0.0.2
        NS      ns1.itchy.bogus.
ns1     A   10.0.0.2
.                        3600000      NS    ns.bogustld.
ns.bogustld.         3600000       A    10.0.0.1
; End of File
nameserver 10.0.0.2
; <<>> DiG 9.5.0-P2 <<>> .
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31291
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;.                              IN      A

;; AUTHORITY SECTION:
.                       3600000 IN      NS      ns.bogustld.

;; Query time: 0 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Oct 21 17:09:53 2008
;; MSG SIZE  rcvd: 41
; <<>> DiG 9.5.0-P2 <<>> +trace itchy.bogus
;; global options:  printcmd
.                       3600000 IN      NS      ns.bogustld.
;; Received 41 bytes from 10.0.0.2#53(10.0.0.2) in 0 ms

dig: couldn't get address for 'ns.bogustld': failure
;Should this be ns1.itchy.bogus or ns1.itchy.internal.bogus??
itchy                   NS      ns1-itchy.bogus.
ns1-itchy.bogus.    A   10.0.0.2
;
scratchy        NS      ns1-scratchy.bogus.
ns1-scratchy.bogus. A   10.0.0.3
@       SOA     ns1.itchy.bogus. hostmaster.itchy.bogus. (
                        2008102201      ; serial
                        1H              ; refresh
                        2H              ; retry
                        14D             ; expire
                        5M )            ; minimum
;
            NS      ns1
            A       10.0.0.2
    ns1     A       10.0.0.2
;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       3600    IN      NS      ns.bogustld.

;; ADDITIONAL SECTION:
ns.bogustld.            3600    IN      A       10.0.0.1
;; QUESTION SECTION:
;.                              IN      NS

;; AUTHORITY SECTION:
.                       3600000 IN      NS      ns.bogustld.

;; Query time: 0 msec
; <<>> DiG 9.5.0a6 <<>> +trace .
;; global options:  printcmd
.                       3005    IN      NS      C.ROOT-SERVERS.NET.
.                       3005    IN      NS      D.ROOT-SERVERS.NET.
.                       3005    IN      NS      E.ROOT-SERVERS.NET.
.                       3005    IN      NS      F.ROOT-SERVERS.NET.
.                       3005    IN      NS      G.ROOT-SERVERS.NET.
.                       3005    IN      NS      H.ROOT-SERVERS.NET.
.                       3005    IN      NS      I.ROOT-SERVERS.NET.
.                       3005    IN      NS      J.ROOT-SERVERS.NET.
.                       3005    IN      NS      K.ROOT-SERVERS.NET.
.                       3005    IN      NS      L.ROOT-SERVERS.NET.
.                       3005    IN      NS      M.ROOT-SERVERS.NET.
.                       3005    IN      NS      A.ROOT-SERVERS.NET.
.                       3005    IN      NS      B.ROOT-SERVERS.NET.
;; Received 500 bytes from 64.105.172.26#53(64.105.172.26) in 19 ms

.                       86400   IN      SOA     a.root-servers.net. nstld.verisi
gn-grs.com. 2008102201 1800 900 604800 86400
;; Received 92 bytes from 128.63.2.53#53(H.ROOT-SERVERS.NET) in 84 ms
; <<>> DiG 9.5.0-P2 <<>> +trace .
;; global options:  printcmd
.                       3600    IN      NS      ns.bogustld.
;; Received 57 bytes from 10.0.0.1#53(10.0.0.1) in 1 ms

.                       3600    IN      NS      ns.bogustld.
;; Received 72 bytes from 10.0.0.1#53(ns.bogustld) in 0 ms
; <<>> DiG 9.5.0-P2 <<>> +trace .
;; global options:  printcmd
.                       3600000 IN      NS      ns.bogustld.
;; Received 41 bytes from 10.0.0.2#53(10.0.0.2) in 0 ms

dig: couldn't get address for 'ns.bogustld': failure