我正在使用 bind9 DNS 服务器。我曾经在 RPZ 区域文件中阻止使用其域名的网站,例如:
malicious.example CNAME .
但是,我需要阻止 IP 而不是域名,例如:
192.0.2.4 CNAME .
我该怎么做?或者,上面的例子(192.0.2.4 CNAME .
)正确吗?
答案1
答案2
看https://www.isc.org/docs/BIND_RPZ.pdf,第 11 页:
为 IP 或子网创建触发规则 (v4)
假设我们要重写在 172.16.3.0/24 子网中解析的任何主机的任何 DNS 查询。
24.0.3.16.172.ns-ip IN CNAME .
如您所见,子网中的八位字节需要反转(类似于 rbl in-addr.arpa 的工作方式)。第一个数字代表子网掩码。如果我们只想阻止单个 IP,则第一个数字将是 32,代表 /32,即:
32.1.3.16.172.ns-ip IN CNAME
也可以看看https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-dns-rpz-00#section-4.3这表明使用了rpz-ip
而不是ns-ip
(RPZ 功能最早是由 bind 发明的,并且有人试图使其成为完整的标准)
因此,这还取决于您使用的绑定版本,您不会透露。查看其包含的文档以及其具有的 RPZ 支持级别。