我有一个 Bind9 实例,用作一组邮件服务器的缓存(转发)名称服务器。基本上,只有当域不在缓存中时,它才会查询一些特定的上游名称服务器。
此名称服务器对于任何域 (此处没有区域) 均不具有权威性。
我想使用此 Bind 实例将一些域“列入黑名单”,类似于 DNSBL;我想简单地为域“bad.example.com”返回“NXDOMAIN”。我该怎么做?
我不需要任何复杂的 rbld 或类似的东西,它只适用于一些我不想与之相关的域。
相关的named.conf选项:
options {
forwarders {
8.8.8.8;
1.2.3.4;
5.6.7.8
};
};
答案1
您可以将黑名单域名添加named.conf
为区域指令。
zone "bad.example.com" { type master; file "bad_domains"; };
然后创建其中bad_domains
只有一条记录的区域数据。SOA
问候,jgr
答案2
我只知道一种 BIND 返回 NXDOMAIN 的方法:
zone "bad.example.com" {
type slave;
masters { 127.0.0.1; };
};
我更喜欢:
zone "bad.example.com" {
type master;
file "/etc/bind/db.bad.example.com";
};
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
@ IN A 127.0.0.1
* IN A 127.0.0.1
或不带 *