我使用 bind9 设置了一个 DNS 服务器,并将所有 DNS 请求转发到 1.1.1.1。它可以很好地解析用户请求的 DNS。请注意,我的 DNS 解析器位于 VPS 中,而不是在我的本地网络中。
问题是,如果我想将域“blocksite.com”重定向到另一个外部 IP 100.100.100.200,我该如何配置它?
这类似于 ISP 审查禁止的网站,并在用户尝试访问该网站时将其重定向到另一个 IP(阻止警告页面)。
请帮忙..提前谢谢。
答案1
可以为域添加区域,但你可能正在寻找的功能称为响应政策区域(RPZ)。使用 RPZ,您可以添加一个区域,该区域可以说谎关于您想要阻止的域名/主机名。
BIND 9 包含一种有限的机制,用于修改类似于电子邮件反垃圾邮件 DNS 黑名单的请求的 DNS 响应。可以更改响应以拒绝域的存在(
NXDOMAIN
)、拒绝域的 IP 地址的存在(NODATA
)或包含其他 IP 地址或数据。
response-policy
响应策略区域在视图选项中命名,如果response-policy
视图没有选项,则在全局选项中命名。响应策略区域是包含 RRset 的普通 DNS 区域,如果允许,可以正常查询。通常最好使用类似 的内容来限制这些查询allow-query { localhost; };
。请注意,使用 的区域masterfile-format map
不能用作策略区域。
options {
// . . .
response-policy { zone "rpz"; };
}
zone "rpz" {
type master;
file "rpz.db";
allow-query { 127.0.0.1; };
};
然后,您可以将域添加到rpz.db
文件中,并将A
记录添加到您的警告页面服务器:
$TTL 3600
@ IN SOA localhost. root.localhost. ( 2 3H 1H 1W 1H )
@ IN NS localhost.
blocked.example.com. IN A 192.0.2.1