在公共 Web 服务器上阻止/丢弃入站 ICMP 流量的目的是什么?经常被屏蔽吗?
我必须测试是否可以从各个位置访问服务器(在位于不同州/国家的各种服务器上进行测试)。我会依靠 ping 作为确定服务器是否在线/网络可访问的快速可靠的方法。在几个盒子上没有收到回复后,我尝试使用 lynx 加载该站点,并且成功了。
在公共 Web 服务器上阻止/丢弃入站 ICMP 流量的目的是什么?经常被屏蔽吗?
我必须测试是否可以从各个位置访问服务器(在位于不同州/国家的各种服务器上进行测试)。我会依靠 ping 作为确定服务器是否在线/网络可访问的快速可靠的方法。在几个盒子上没有收到回复后,我尝试使用 lynx 加载该站点,并且成功了。
如今,放弃 ICMP 相当普遍,因为它是用于拒绝服务目的的通用方法。一个更高带宽的主机或多个主机重复 ping 单个 Web 服务器可以利用其所有带宽。
其他人可能会下降以减少他们在 Internet 上的足迹,因此可能会被大规模扫描流量所忽视。
虽然它很常见,但我认为它提供的价值很小,并且在最大限度地减少 DoS 和足迹的同时限制了诊断潜力。
除了可疑的 DoS 保护和降低配置文件之外,给定 IP 可能不响应 ping 的一个常见但被忽视的原因是:它实际上并未分配给接口。
将(端口转发)IP/协议/端口元组重定向到您想要的各种服务,可以在较小的网络上为您提供更高的服务密度。
例如,假设您的 ISP 将 1.2.3.4/30 路由给您。你有三个选择:
第三种方式越来越普遍。大多数管理员(包括我自己)在设置它时都不会费心重定向 ICMP,因此它只会在防火墙处丢弃。
阻止 ICMP 类型 0(Echo 回复)没有任何害处,但如果返回路径中的任何链路的 MTU 小于 TCP 连接的发送最大分段大小,则阻止所有 ICMP 流量会中断对客户端的响应。发生这种情况是因为 Web 服务器无法再接收 ICMP 类型 3 代码 4 数据包(目标不可达;需要分段和 DF 集)。
在实践中,这并不是什么大问题,因为任何需要传输流量的人还必须建立一种机制来处理大量的 TCP 堆栈受到防火墙配置错误的 Web 服务器的阻碍。
有助于拒绝服务攻击。没有真正的理由需要该站点开放以供公众 ping。
另外,它没有提供网站的统计信息;一台主机或 IP 可以很容易地为后端服务器的负载平衡场作出响应(ping mysite.com 并不能告诉您名称后面的所有服务器是否都正常工作。)
可能只是公司丢弃不必要流量的策略,或者只允许端口 80 和 SSL 流量在内部重定向到其他服务器。
我想另一个问题是,如果他们真的不需要,为什么还要让外部系统 ping 你的服务器呢?