上网找了很久,有很多不同的声音。当/var/log/messages 出现named[进程编号]: client IP地址:端口 : query (cache) '非本机域名/A/IN' denied这样的错误的时候怎样解决呢?如果你的DNS服务器是设置在开放网域中为所有人提供特定域名的解析服务的,而出现大量的查询非本机域名的拒绝错误,这篇文章或许会适合你。其实这是一种攻击,如果量不是很大其实不用任何诸如fail2ban这样的插件,如果量太大,就应该考虑一下是不是遭到分布式拒绝服务攻击了,跟你的ISP谈谈,看看能不能更换机房。
经常能够发现/var/log/message里面由named报错的信息。我的服务器也还比较好,大概就是每个几个小时出现一次这样的错误,其实这个应该算是攻击。
Apr 27 02:07:31 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#58851 (gspe1-ssl.ls.apple.com.edgekey.net): query (cache) 'gspe1-ssl.ls.apple.com.edgekey.net/AAAA/IN' denied Apr 27 02:07:33 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#58851 (e6987.a.akamaiedge.net): query (cache) 'e6987.a.akamaiedge.net/AAAA/IN' denied Apr 27 02:10:49 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#50808 (time-macos.apple.com): query (cache) 'time-macos.apple.com/A/IN' denied Apr 27 02:12:35 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#45043 (www.baidu.com): query (cache) 'www.baidu.com/A/IN' denied Apr 27 02:12:35 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#10467 (bbs.csroad.cn): query (cache) 'bbs.csroad.cn/A/IN' denied Apr 27 02:12:35 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#26744 (bbs.csroad.cn): query (cache) 'bbs.csroad.cn/AAAA/IN' denied Apr 27 02:12:35 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#20871 (hm.baidu.com): query (cache) 'hm.baidu.com/AAAA/IN' denied Apr 27 02:12:35 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#32598 (pos.baidu.com): query (cache) 'pos.baidu.com/A/IN' denied Apr 27 02:12:35 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#54506 (eclick.baidu.com): query (cache) 'eclick.baidu.com/A/IN' denied Apr 27 02:12:37 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#27808 (cpro.baidustatic.com): query (cache) 'cpro.baidustatic.com/AAAA/IN' denied Apr 27 02:12:59 c7g1t1 named[28128]: client @0x7fca8c0c0d60 192.168.1.33#26346 (www.ca.cn): query (cache) 'www.ca.cn/A/IN' denied |
经过仔细研究后比对。其实网上面之所以出现有两种相互矛盾的说法是因为—— 域名服务器大致有两种。一种是为解析自己特定域名的服务器的;一种是设置在局域网顶端,为内网的主机提供解析服务的。个人的理解是,如果你这台服务器是为自己特定的域名进行解析服务的服务器,出现这样的情况证明你的设置是相当正确的。千万不能打开allow-query-cache 和 recursion(递归查询)。
如果实在忍不了可以将有关的IP地址用iptables将它隔断掉。或者直接关掉BIND的登录档。
/var/named/chroot/etc/named.conf
1 2 3 4 5 | options{ //这里应该会有其它的设定 recursion no; //在Options里面必须添加这句话 } |
如果试着将其打开,登录档虽然没有任何问题了,你会发现你服务器的流量有着平稳且明显的增加,究竟好与不好自己去分析吧。