因此,在我的syslog中,我注意到很多ICMP数据包被我们的ASA标记:
%ASA-4-313005: No matching connection for ICMP error message: icmp src Internet:x.x.21.122 dst MGMT:x.x.36.55 (type 3, code 3) on Internet interface. Original IP payload: udp src x.x.36.55/53 dst x.x.21.122/47927.在ICMP回复的发起者(x.122是Linux机器)上执行tcpdump时,我注意到DNS查询请求被发送,过了一段时间,DNS服务器就会回复。在回复后,Linux服务器立即发送一条消息,表示无法将端口返回到DNS服务器。请见下文:
19:29:06.684523 IP x.x.21.122.47927 > DNS.domain: 7182+ PTR? x.x.x.x.in-addr.arpa. (43)
19:29:11.690336 IP x.x.21.122.33897 > DNS.domain: 58231+ PTR? x.x.x.x.in-addr.arpa. (45)
19:29:13.850887 IP DNS.domain > x.x.21.122.47927: 7182 ServFail 0/0/0 (43)
19:29:13.850929 IP x.x.21.122 > DNS: ICMP x.x.21.122 udp port 47927 unreachable, length 79
19:29:16.692581 IP x.x.21.122.33897 > DNS.domain: 58231+ PTR? x.x.x.x.in-addr.arpa. (45)
19:29:21.697217 IP x.x.21.122.42976 > DNS.domain: 19120+ PTR? x.x.x.x.in-addr.arpa. (45)
19:29:22.977289 IP DNS.domain > x.x.21.122.42976: 19120 ServFail 0/0/1 (56)
19:29:22.977342 IP DNS.domain > x.x.21.122.33897: 58231 ServFail 0/0/0 (45)
19:29:22.977382 IP x.x.21.122 > DNS: ICMP x.x.21.122 udp port 33897 unreachable, length 81我想可能Linux机器等待DNS应答的时间不够长,所以我在/etc/resolv.conf中增加了等待时间。但运气不好。
据我所知,Linux正在进行反向DNS查找,而DNS服务器正在答复它无法解析名称(因为它不存在于DNS服务器中)。由于某种原因,它正在查询的特定主机在DNS上没有条目)。这就是为什么请求花了这么长时间。但是我只想知道如何修改Linux,这样它就不会每次都发送这些ICMP消息。
如果有人能帮我弄清楚如何阻止这些信息的出现,我将不胜感激。
ASA在下面向show . icmp倾诉
ASA# show run | inc icmp
icmp unreachable rate-limit 1 burst-size 1
icmp permit any echo Internet
icmp permit any echo-reply Internet
icmp permit any echo DATA
icmp permit any echo-reply DATA
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02发布于 2016-08-02 10:08:15
这听起来很熟悉,我也看到基于Linux的服务也有同样的行为。
这是一种特定于应用程序的行为,虽然我也不记得我追踪到了哪个应用程序.或者即使我真的追踪到一个应用程序..。
基本上,所讨论的应用程序使用普通的libC解析器进行自己的DNS查找(在nscd或dnsmasqd之类的东西没有作为本地缓存运行的情况下,这是正常的),并且客户端套接字在响应返回之前关闭。因为响应返回并且再也没有监听(未连接的UDP)套接字,所以它用一个不可访问的端口进行响应。
有两件事可以改进:
1)使用客户端DNS缓存(如果您关心短TTL,最好不要使用nscd )。
( 2) (未经测试)在输出链ICMP上下降--无法到达的包转到UDP/53端口
我建议前者是更好的解决方案,这可能解释了为什么您不倾向于从Windows机器(有本地缓存的机器)中看到这一点。
发布于 2015-08-26 22:00:35
尝试将所有通信量从x.x.21.122传递到您的DNS。如果错误会消失,那么您应该改进防火墙规则。
它记录,您提供的,我们找不到任何连接端口39132。此外,请张贴您的asa配置。
发布于 2023-01-07 01:29:59
如果客户端配置了多个DNS服务器,则可以同时尝试多个DNS服务器。它将接受第一个响应并关闭该请求的端口,因此后续响应将得到ICMP响应。
https://serverfault.com/questions/717065
复制相似问题