我在本地 ISP 环境中使用 PowerDNS Recursor。递归只允许在我们的 IP 范围内进行,但我遇到了奇怪的问题。我们自己的客户 PC 不断使用以下查询攻击我们的 DNS 服务器:
15:43:38.473842 IP [CLIENT_IP].51097 > [DNSSERVER_IP].domain: 42318+ A? qhmrazabkvghwtgv.www.dl26.com. (47)
15:43:38.474161 IP [CLIENT_IP].40825 > [DNSSERVER_IP].domain: 14848+ A? yzqxqtklodgzuv.www.dl26.com. (45)
15:43:38.474443 IP [CLIENT_IP].34094 > [DNSSERVER_IP].domain: 35692+ A? inahybijsvqt.www.sf97.net. (43)
15:43:38.474953 IP [CLIENT_IP].39432 > [DNSSERVER_IP].domain: 7105+ A? kpkfgrsxihst.www.tpa.net.cn. (45)
Run Code Online (Sandbox Code Playgroud)
远程域名几乎总是 .cn 之一,但域名的其余部分不断变化。最简单的解决方案是在 iptables 上添加基于 hashlimit 的规则,但客户端位于 NAT 之后,因此进入 DNS 的流量被标记为集中器 IP。我也尝试过使用 spywaredomains 区域,但远程域一直在变化,所以我无法真正阻止它。SPAM 域的请求数量会导致 PowerDNS Cache 过度增长,并且还会大大增加 remote_timeout 计数。有什么办法可以抵御这种流量,让 DNS 再次像魅力一样工作吗?