所以在我的系统日志中挖掘我一直在注意到我们的ASA标记了很多ICMP数据包:
%ASA-4-313005: No matching connection for ICMP error message: icmp src Internet:xx21.122 dst MGMT:xx36.55 (type 3, code 3) on Internet interface. Original IP payload: udp src xx36.55/53 dst xx21.122/47927.
在ICMP回复的发起者(xxx122,一台Linux机器)上做tcpdump我注意到发送了一个DNS查询请求,一段时间之后,DNS服务器回复。 紧接着,Linux服务器立即发送一条消息,指出端口不可访问到DNS服务器。 请看下面:
19:29:06.684523 IP xx21.122.47927 > DNS.domain: 7182+ PTR? xxxxin-addr.arpa. (43) 19:29:11.690336 IP xx21.122.33897 > DNS.domain: 58231+ PTR? xxxxin-addr.arpa. (45) 19:29:13.850887 IP DNS.domain > xx21.122.47927: 7182 ServFail 0/0/0 (43) 19:29:13.850929 IP xx21.122 > DNS: ICMP xx21.122 udp port 47927 unreachable, length 79 19:29:16.692581 IP xx21.122.33897 > DNS.domain: 58231+ PTR? xxxxin-addr.arpa. (45) 19:29:21.697217 IP xx21.122.42976 > DNS.domain: 19120+ PTR? xxxxin-addr.arpa. (45) 19:29:22.977289 IP DNS.domain > xx21.122.42976: 19120 ServFail 0/0/1 (56) 19:29:22.977342 IP DNS.domain > xx21.122.33897: 58231 ServFail 0/0/0 (45) 19:29:22.977382 IP xx21.122 > DNS: ICMP xx21.122 udp port 33897 unreachable, length 81
我以为Linux机器可能没有足够长的DNS答复时间,所以我在/etc/resolv.conf增加了等待时间…但没有运气。
我知道Linux PC正在进行反向DNS查询,并且DNS服务器正在回复它无法parsing名称(因为它不存在于DNS服务器中)。所查询的特定主机没有在DNS的原因)。 这就是为什么要求这么长时间。 但是我只想知道如何修改Linux PC,以防止每次发生这些ICMP消息。
如果任何人可以请帮助我找出如何阻止这些消息显示出来,将不胜感激。
ASAconfigurationshow run | 包括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
这听起来很熟悉,我也看到了基于Linux的服务的相同行为。
这是一个特定于应用程序的行为,虽然我不记得我跟踪的是哪个应用程序….或者即使我确实将它跟踪到应用程序…
基本上,有问题的应用程序使用正常的libCparsing器(在nscd或dnsmasqd没有作为本地caching运行的情况下是正常的)执行自己的DNS查找,并且在响应恢复之前closures客户端套接字。 由于响应返回,并且没有任何监听(未连接的UDP)套接字,它响应端口不可达。
有两件事情可以改善:
1)使用客户端的DNScaching(如果你关心短的TTL,最好不要使用nscd)
2)(未经testing)放在OUTPUT链ICMP不可达数据包到端口UDP / 53
我会build议前者是最好的解决scheme,这可能是为什么你不倾向于看到这是来自Windows机器(它有一个本地caching)
尝试将来自xx21.122的所有stream量传递到您的DNS。 如果错误消失 – 比你应该改善你的防火墙规则。
它logging,你提供,我们无法find任何连接端口39132.此外,请张贴您的configuration。