![BIND9:“消息解析失败:FORMERR”](https://linux22.com/image/696802/BIND9%EF%BC%9A%E2%80%9C%E6%B6%88%E6%81%AF%E8%A7%A3%E6%9E%90%E5%A4%B1%E8%B4%A5%EF%BC%9AFORMERR%E2%80%9D.png)
我的 BIND 9.10.3 记录了一些奇怪的条目,例如:
Jan 12 12:44:49 www named[24776]: client 117.136.25.126#18977: message parsing failed: FORMERR
Jan 12 12:50:47 www named[24776]: client 117.136.25.126#18978: message parsing failed: FORMERR
Jan 12 13:00:08 www named[24776]: client 117.136.95.15#24805: message parsing failed: FORMERR
117.136.95.15 不在我的网络中,并且我不允许除本地主机之外的任何内容进行递归,因此它一定是我有权威的区域。
这是最近才开始的(1 月 5 日)。查看日志似乎只查询来自:
# zfgrep "message parsing failed: FORMERR" daemon.log* | awk '{print $7}' |awk -F\. '{printf("%s.%s.x.x\n",$1,$2)}' | sort | uniq -c | sort -n
1 101.27.x.x
1 121.31.x.x
1 1.84.x.x
1 61.158.x.x
104 223.104.x.x
150 117.136.x.x
导致此问题。查看这些 IP 的 WHOIS 信息:
inetnum: 117.128.0.0 - 117.191.255.255
netname: CMNET
descr: China Mobile Communications Corporation
descr: Mobile Communications Network Operator in China
descr: Internet Service Provider in China
country: CN
inetnum: 223.64.0.0 - 223.117.255.255
netname: CMNET
descr: China Mobile Communications Corporation
descr: Mobile Communications Network Operator in China
descr: Internet Service Provider in China
country: CN
答案1
似乎 DNS 查询格式不正确。也许您的网络设备破坏了 UDP 流量,或者这些 IP 来自僵尸网络,正在寻找一些可利用的 DNS 服务器(我是这样认为的)
答案2
因此,我进行了 tcpdump,并从相同的两个网络获得了相当多的数据包,导致我的日志中出现相同的消息。
查看数据包,其 DNS 负载中似乎没有任何内容是正确的:
域名字段为二进制“0”。DNS 域标签是长度编码的 - 长度“0”表示“空名称” - 根区域具有空名称。
但由于 DNS 有效负载的其余部分也几乎完全由零组成,所以这可能只是巧合。
它可能是攻击,但更可能是损坏的软件(如防火墙)。