我添加了一个RPZ区域来覆盖我的BIND9服务器中的一些主机,并在named.conf中添加了以下行:
...
response-policy { zone "rpz"; };
...
zone "rpz" {
type master;
file "/etc/bind/rpz.hosts";
allow-update { 172.33.1.7; };
};rpz.hosts文件:
$TTL 38400 ; 10 hours 40 minutes
@ IN SOA localhost. root.localhost (
1515764950 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
NS 172.33.1.2.当我尝试用nsupdate更新它时,使用像somehost.dyndns.dappnode.io这样的任意主机名,我会得到一个NOTZONE错误。更新机制期望rpz.区域下的某个主机。
我怎么才能解决这个问题?有人设法动态配置RPZ区域吗?
谢谢
发布于 2021-04-26 15:14:02
诀窍是域名应该以rpz区域名结尾。下面是一个完整的示例,其中使用DNSSEC键动态更新rpz区域。
在named.conf中,
options {
// some other options...
response-policy {
zone "dynamic-rpz";
};
};
include "/var/named/rpz.key";
zone "dynamic-rpz" IN {
type master;
file "dynamic-rpz.db";
update-policy {
grant keyname. name foobar.example.com.dynamic-rpz A;
};
};在dynamic-rpz.db,
$TTL 600
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
600 ; Negative Cache TTL
)
IN NS localhost.
foobar.example.com A 127.0.0.1现在,这个域名可以用nsupdate更新,
nsupdate -k rpz.key
> server 192.168.xx.xx
> update add foobar.example.com.dynamic-rpz 600 A aaa.bbb.ccc.ddd
> sendhttps://serverfault.com/questions/990996
复制相似问题