内部DNS配置问题
好的,我要提前声明,对于这种媒体来说,这个问题可能太复杂(细节太多而不是太复杂)。但我觉得这是最好的开始 我正在尝试建立一个概念验证项目,我的绑定配置是我的第一个大障碍。我想在3个物理机箱上设置3个DNS服务器没有这些框需要解析公共地址,这是内部的仅。我已经在(大部分)优秀的DNS&BIND第五版书中通读了如何设置内部根。但是我对他们例子的翻译是不实用的。所有IP都是RFC1918不可路由的 框1将对box1.bogus域上的地址具有权威性,框2将对box2.bogus域上的地址具有权威性。框3将作为域伪的内部根目录和TLD服务器 目前尚未解决的问题:内部DNS配置问题,dns,bind,dig,Dns,Bind,Dig,好的,我要提前声明,对于这种媒体来说,这个问题可能太复杂(细节太多而不是太复杂)。但我觉得这是最好的开始 我正在尝试建立一个概念验证项目,我的绑定配置是我的第一个大障碍。我想在3个物理机箱上设置3个DNS服务器没有这些框需要解析公共地址,这是内部的仅。我已经在(大部分)优秀的DNS&BIND第五版书中通读了如何设置内部根。但是我对他们例子的翻译是不实用的。所有IP都是RFC1918不可路由的 框1将对box1.bogus域上的地址具有权威性,框2将对box2.bogus域上的地址具有权威性。框3
- 我在框1和框2中有一个提示文件,其中包含根区域的NS定义的单个NS记录。此外,还有一个记录将NS转换为根的ip。如果我
从框1中,我会得到一个带有NS名称的权限部分,而不是答案和附加记录部分。因此,我无法从框1中实际解析根服务器的IPdig.
- 如果我将方框1中的
直接指向根服务器,并对box1.bogus进行/etc/resolv.conf
挖掘,我将得到ns.box1.bogus答案记录和附加部分中的翻译。但是在下一次迭代中(应该在什么时候获得A记录),我得到了
dig:not-get-address for ns.box1.bogus
伪造的 /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