![如何阻止流向特定域的所有流量](https://linux22.com/image/659661/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%E6%B5%81%E5%90%91%E7%89%B9%E5%AE%9A%E5%9F%9F%E7%9A%84%E6%89%80%E6%9C%89%E6%B5%81%E9%87%8F.png)
我最近为我的 VPS 添加了一个 IP 地址。问题是,之前的所有者已经放弃了该域名,并将其名称服务器设置在此 IP 上。尽管我的防火墙 (CSF) 拒绝了对该域名的任何访问,但我的问题是,由于该域名每次受到访问者(例如 google 和 Bing 等搜索引擎爬虫)的点击,我服务器上的日志文件中都会出现大量错误消息。
下面是从路径中负载很重的日志中截取的样例行/var/log/消息
client 74.125.181.85#34411: query (cache) 'ns1.the_troublesome_domain.com/A/IN' denied
我没有成功说服所有者更改其名称服务器。因此,我决定阻止所有前往此域的流量,以停止日志文件(但我不知道这是否是正确的决定)。我已经尝试将以下规则添加到 Iptables
iptables -I INPUT -s the_troublesome_domain.com -j DROP
只会收到警告
iptables v1.4.7: host/network `the_troublesome_domain.com' not found
请让我知道你对这个问题的想法。
提前致谢。
答案1
-s
旨在指定 IP 地址,您尝试配置的过滤器将丢弃所有具有该 IP 源的数据包。如果您提供 DNS 实体,则在添加规则时它将被解析为 IP 地址。由于无法解析该 DNS 记录,因此规则添加失败。
要使此数据包过滤器工作,您需要根据字节偏移量匹配所请求的记录(即深度数据包检查),无论如何,这种方法都是错误的。您将使内核的数据包过滤器清理数据包,以便它可以丢弃名称服务器已拒绝的流量。
如果您看到查询负载给软件带来任何压力,我会感到非常惊讶;很可能它只是弄乱了您的日志文件。如果这是一个问题,您最好的做法就是简单地请求一个不同的 IP 地址。您没有办法让流量消失。