使用本地缓存 Bind9 DNS 服务器将某些域名列入“黑名单”

使用本地缓存 Bind9 DNS 服务器将某些域名列入“黑名单”

我有一个 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

或不带 *

相关内容