我正在设置BIND为每个Alogging返回相同的IP地址,不pipe请求是什么。 它的工作基于下面的configuration,但是不能正常工作的是nslogging没有被正确地返回,正如一些域名注册商所要求的那样。
/etc/named.conf文件:
zone "." IN { type master; file "named.root"; };
/var/named/named.root:
$ORIGIN . $TTL 1H @ IN SOA . hostmaster.uafrica.net. ( 20121020 1D 1H 1W 3H ); @ IN NS ns1.uafrica.net. @ IN NS ns2.uafrica.net. *. IN A 46.38.178.141 ns1.uafrica.net. IN A 184.106.174.139 ns2.uafrica.net. IN A 31.222.155.45
使用dig直接查询名称服务器:
$ dig @ns1.uafrica.net ubookings.co.za ; <<>> DiG 9.7.3-P3 <<>> @ns1.uafrica.net ubookings.co.za ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46866 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;ubookings.co.za. IN A ;; ANSWER SECTION: ubookings.co.za. 3600 IN A 46.38.178.141 ;; AUTHORITY SECTION: . 3600 IN NS ns1.uafrica.net. // <b>*The domain is not being returned (only a period)</b> . 3600 IN NS ns2.uafrica.net. ;; ADDITIONAL SECTION: ns1.uafrica.net. 3600 IN A 184.106.174.139 ns2.uafrica.net. 3600 IN A 31.222.155.45 ;; Query time: 443 msec ;; SERVER: 184.106.174.139#53(184.106.174.139) ;; WHEN: Tue Oct 30 14:41:17 2012 ;; MSG SIZE rcvd: 126
看起来问题可能是上面的AUTHORITY SECTION(而不是域名)只返回一段时间。 此外,挖掘名称服务器logging不会像预期的那样返回nslogging:
dig @ns1.uafrica.net ubookings.co.za ns ; <<>> DiG 9.7.3-P3 <<>> @ns1.uafrica.net ubookings.co.za ns ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39694 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ubookings.co.za. IN NS ;; AUTHORITY SECTION: . 3600 IN SOA . hostmaster.uafrica.net. 20121020 86400 3600 604800 10800 ;; Query time: 716 msec ;; SERVER: 184.106.174.139#53(184.106.174.139) ;; WHEN: Tue Oct 30 14:43:34 2012 ;; MSG SIZE rcvd: 89
任何有关如何获得绑定返回nslogging作为通配符configuration的一部分的想法将非常赞赏(如果我创build一个特定域的区域的nslogging得到正确返回,但我需要这个工作作为通配符,没有为每个域创build特定的区域)。
那么只需添加所需的NS RR呢?
说你想注册ubookings.co.za ,你的注册商需要在你的区域上面这样的相应的IN NSlogging:
ubookings.co.za IN NS ns1.uafrica.net. ubookings.co.za IN NS ns2.uafrica.net.
您的区域也可能需要与您的域名相匹配的IN SOA 。
*.* IN NS ns1.uafrica.net. *.*.* IN NS ns2.uafrica.net.
(但是我仍然坚信你正在努力实现某些绝对错误的事情)
你在BINDconfiguration中所做的工作根本上是不健全的。
当一个区域被委托给你的域名服务器时,期望的是你有这个特定的区域。 (这不是一个具体的注册服务商所要求的,不pipe是否有人selectvalidation,这是协议的基本要求。)
在任何区域的顶点至less有SOA + NSlogging,如果你的名字服务器否认这些NSlogging的存在,那么你真的乞求麻烦(如果有人问你的名字服务器,他们会知道,没有名称服务器)。
另外,正如你在这个问题中提到的那样,你的域名服务器将在没有find请求的数据的地方返回到区域顶点的SOA 。 在这种情况下,你说的是你是根区的权威,这显然是错误的信息。
至于在区域顶点下面的某处添加NSlogging,实际上并不是在您的区域中添加数据,而是定义您的区域已经在该点结束。 这些NSlogging不用作答案,只是提供权限信息。
你会发现没有一个正常的名称服务器软件,有一个定义的区域集合将正确工作,你正在做什么。
我想可能(至less对于一个非DNSSEC的情况下)有一个名称服务器,当查询foo.example.com采取最后的标签(即example.com )和行为就好像它有一个预先定义的区域数据。 我不知道任何这样的软件,但是,这似乎是一个相当利基的事情,所以无论你是否发现这样做,或决定实现自定义为您的需求的东西我相信你将不得不做广泛的testing,以确保其实际function正确的(即,它实际上提供了一致的答案)。