我正在我们的实验室DNS服务器上测试绑定响应策略区域功能。我们使用BIND 9.8.2运行一个RHEL 6服务器。我遵守了这里的指示,但我不能让它开始工作。以下是我所知道的:
1) DNS服务器确实响应对其他区域中主机的查询。
2)我的RPZ区域加载成功,如下所示:
Jan 28 12:00:13 labdns named[26564]: zone rpz/IN: loaded serial 2015012816但是,当我查询在RPZ区域中找到的域时,我在/var/log/messages中看到了以下内容:
Jan 28 11:52:54 labdns named[26060]: client 192.168.254.202#38524: query (cache) 'x99moyu.net/A/IN' denied我以前见过这种行为,但只有当您有递归关闭并查询一个不在区域文件中的主机时,才会看到这种行为。以下是我的RPZ区域db文件:
$TTL 86400
@ IN SOA localhost. root.localhost. (
2015012816 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS lab.testdns.net.
; Response Policy for x99moyu.net
x99moyu.net IN A 127.0.0.1
IN AAAA ::1
; Response Policy for ix99moyu.net
ix99moyu.net IN A 127.0.0.1
IN AAAA ::1
; Response Policy for duobao369.com
duobao369.com IN A 127.0.0.1
IN AAAA ::1我尝试过在域名前面和后面放置点,但这没有帮助,说明说无论如何不要使用点。
这是我的/etc/named.conf文件:
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 192.168.155.128; }; #Master DNS Servers IP
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named.stats";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.155.0/24; 192.168.254.0/23; 192.168.160.0/24; }; # IP range of hosts
allow-transfer { localhost; 192.168.254.202; }; # Slave DNS server
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
zone-statistics yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
response-policy { zone "rpz"; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
channel rpz-queries {
file "/var/log/bind/rpz.log" versions 10 size 50m;
severity info;
};
category rpz {
rpz-queries;
};
};
zone"rpz" IN {
type master;
file "/var/named/db.rpz";
notify yes;
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";我不知道如何向前推进,或者如何进一步调试。任何帮助都是非常感谢的。
编辑-这里是一个dig命令的输出。这就是我看到“拒绝”信息的地方。
dig @192.168.155.128 x99moyu.net
; <<>> DiG 9.10.3-P2-RedHat-9.10.3-7.P2.fc22 <<>> @192.168.155.128 x99moyu.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 51880
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;x99moyu.net. IN A
;; Query time: 1 msec
;; SERVER: 192.168.155.128#53(192.168.155.128)
;; WHEN: Thu Jan 28 12:30:08 CST 2016
;; MSG SIZE rcvd: 40发布于 2016-01-28 18:59:00
据我所知,这个问题似乎并不真正涉及RPZ,而只是归结为您有一个依赖于递归的设置(也就是说,您似乎希望处理不位于您自己的任何区域中的名称的查询?)但是在您的配置中已经关闭了递归。
recursion no;现在,从技术上讲,查询中的特定名称的查找将通过RPZ配置被覆盖,但在此之前,查询会被拒绝,因为递归已经关闭,查询名称部分在您的一个区域中也被拒绝。
https://serverfault.com/questions/752465
复制相似问题