为什么某些Web服务器不响应icmp请求?


8

阻止/丢弃公共Web服务器上的入站ICMP通信的目的是什么?被阻止是常见的吗?

我必须测试是否可以从各个位置访问服务器(在位于不同州/国家/地区的各种服务器上进行了测试)。我将使用ping作为确定服务器是否在线/可通过网络访问的快速可靠的方法。在几个盒子上都没有收到响应后,我尝试使用lynx加载该站点,并且它可以正常工作。


6
华纳解释得很好。顺便说一句-不要测试一项服务(ICMP)以确定另一项(HTTP)是否有效。想象一下,您关心的网站前有一个负载平衡器,它可以对ping做出响应,但是Web服务器本身都配置错误,除了“拒绝访问”之外什么也不提供。如果您关心HTTP的可用性,请使用curl。如果您关心SMTP,请使用脚本测试邮件回执。检查您要检查的任何内容的返回码。
mfinni 2010年

Answers:


14

如今,丢弃ICMP相当普遍,因为它是用于拒绝服务目的的通用方法。带宽较高的主机或反复对单个Web服务器执行ping操作的多个主机可以利用其所有带宽。

其他人可能会减少其在Internet上的足迹,因此可能被大众扫描流量所忽略。

虽然很常见,但我认为它提供的价值很小,并且在限制诊断潜力的同时,也无法最小化DoS和占用空间。


谢谢,我正在测试的服务器是处理公司VPN的Web服务器。考虑到服务类型,删除ICMP是有意义的。
John Himmelman

4

除了可疑的DoS保护和降低的配置文件外,给定IP无法响应ping的原因还有一个普遍但被忽略的原因:它实际上并未分配给接口。

将IP /协议/端口元组重定向(端口转发)到所需的各种服务,可以在较小的网络上提高服务密度。

例如,假设您的ISP向您路由1.2.3.4/30。您有三种选择:

  • 正常路由。留下两个可用的IP,其中一个必须是您的网关,因此是一个主机。
  • NAT外部IP到内部IP。剩下四个主机。
  • 根据需要将流量重定向到内部服务。SMTP(TCP 25),DNS(TCP / UDP 53)和公司网站(TCP 80,443)都可以存在于一个外部地址上。

第三种方式越来越普遍。大多数管理员(包括我本人)在进行设置时都不会费心重定向ICMP,因此它只掉在防火墙上。


2

阻止ICMP类型0(回显应答)没有什么害处,但是,如果重调路径中的任何链接的MTU小于TCP连接的“发送最大段大小”,则阻止所有ICMP流量都会中断对客户端的响应。发生这种情况是因为Web服务器不再能够接收ICMP类型3的代码4数据包(无法到达目的地;需要分段和DF设置)。

实际上,这并不是什么大问题,因为需要隧道传输流量的任何人还必须建立一种机制来处理众多TCP堆栈受到配置错误的防火墙阻碍的Web服务器。


1

帮助拒绝服务攻击。没有真正的理由需要该站点开放以供公众查访。

另外,它没有提供网站的统计信息;一个主机或IP可以很容易地为后端服务器的负载均衡服务器群提供答案(ping mysite.com不会告诉您所有服务器是否都在该名称后面正常工作。)

可能只是该公司丢弃不必要流量的策略,或者仅允许将端口80和SSL流量重定向到内部的其他服务器。

我想另一个问题是,如果真的不需要外部系统来ping您的服务器,为什么还要麻烦它们呢?


3
这里有个玩笑--- microsoft.com ping统计信息---传输3个数据包,接收0个数据包,丢失100%数据包,时间1999ms
华纳
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.