我在 CentOS 6.6 上运行 BIND 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6。唯一的区域是无类反向 DNS,已委派。
我不是 BIND 或 DNS 专家,但据我所知,无类反向 DNS 需要递归。
如果将递归设置为“any”,服务器将返回正确的 PTR 记录,但同时也充当开放 DNS 服务器,而这并不是我们所希望的。如果将递归设置为 localhost,则所有查询都会被拒绝。
递归任何:
64.19.199.56
服务器:slcdns1.redacted.com 地址:64.19.199.55 别名:55.199.19.64.in-addr.arpa
非权威答案:56.199.19.64.in-addr.arpa 规范名称 = 56.0-127.199.19.64.in-addr.arpa
56.0-127.199.19.64.in-addr.arpa 名称 = slcdns2.redacted.com
0-127.199.19.64.in-addr.arpa 名称服务器 = slcdns1.redacted.com 0-127.199.19.64.in-addr.arpa 名称服务器 = slcdns2.redacted.com slcdns1.redacted.com 互联网地址 = 64.19.199.55 slcdns2.redacted.com 互联网地址 = 64.19.199.56
递归本地主机:
64.19.199.56
服务器:slcdns1.redacted.com 地址:64.19.199.55 别名:55.199.19.64.in-addr.arpa
*** slcdns1.redacted.com 找不到 56.199.19.64.in-addr.arpa.: 查询被拒绝[/CODE]
关于如何让它响应反向区域的查询而不作为开放服务器运行,您有什么想法吗?此外,第一个查询显示为非权威性是否正确?
named.conf:
options {
listen-on port 53 { 10.10.1.55; };
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";
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity debug;
};
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
view "outsiderev" {
empty-zones-enable no;
allow-recursion { 127.0.0.1; };
allow-query { none; };
additional-from-auth no;
additional-from-cache no;
zone "0-127.199.19.64.in-addr.arpa" {
type master;
file "/var/named/64.19.199.rev";
allow-update {
10.10.1.56;
};
allow-query {
any;
};
allow-transfer {
10.10.1.56;
};
notify yes;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "redacted.com" {
type master;
file "/var/named/redacted.com.hosts";
allow-update {
10.10.1.56;
};
allow-query {
any;
};
notify yes;
allow-transfer {
10.10.1.56;
};
};
zone "0.0.127.in-addr.arpa" {
type master;
file "/var/named/127.0.0.rev";
allow-update {
none;
};
allow-query {
none;
};
};
zone "localhost" in{
type master;
file "master.localhost";
};
};
区域文件:
$ORIGIN 0-127.199.19.64.IN-ADDR.ARPA。
@IN SOA slcdns1.redacted.com.administrator.redacted.com.(
1379648159 10800 3600 604800 38400 )
@IN NS slcdns1.redacted.com。
@IN NS slcdns2.redacted.com。
55 在 PTR slcdns1.redacted.com。
56 在 PTR slcdns2.redacted.com。
... ... ...
答案1
您的服务器已经完全按照您的要求运行,但您不是从 localhost 查询它。使用 127.0.0.1 或 localhost 作为您查询的名称服务器。如果您使用 localhost,则输出中将显示 localhost,而不是 slcdns1.redacted.com。
此外,在询问 DNS 问题时,如果提问者试图掩盖域名和/或 IP,那就太令人沮丧了。您可以随时返回并编辑掉真实的域名。
这里没有人会自动知道你用 redacted.com 替换了 diamedic.net,因为 redacted.com 是一个实际的网站,这里任何人尝试进行的测试都会失败。如果你让事情变得毫无必要地困难,大多数人都不会费心去帮忙。
如果你坚持要掩盖它,那么在RFC 2606和 IP 地址RFC 5737应该使用。
编辑:您的 PTR 记录根本不需要递归。如果您希望您的名称服务器返回来自其他名称服务器的结果,则需要递归。