频繁地使用Ping命令会导致网络堵塞、降低传输效率,为了避免恶意的网络攻击,一般都会拒绝用户Ping服务器。为实现这一目的,不仅可以在防火墙中进行设置,也可以在路由器上进行设置,并且还可以利用Windows 2000/2003系统自身的功能实现。无论采用哪种方式,都是通过禁止使用ICMP协议来实现拒绝Ping动作。

以在Windows Server 2003中设置IP策略拒绝用户Ping服务器为例,具体操作步骤如下:
1.添加IP筛选器
第1步,依次单击“开始/管理工具/本地安全策略”,打开“本地安全设置”窗口。右键单击左窗格的“IP安全策略,在本地计算机”选项,执行“管理IP筛选器表和筛选器操作”快捷命令。在“管理IP筛选器列表”选项中单击“添加”按钮,命名这个筛选器名称为“禁止PING”,描述语言可以为“禁止任何其它计算机PING我的主机”,然后单击“添加”按钮,如图所示。




容器里面没有jps命令 容器没有ping命令_容器里面没有jps命令




添加IP筛选器




第2步,依次单击“下一步”→“下一步”按钮,选择“IP通信源地址”为“我的IP地址”,单击“下一步”按钮;选择“IP通信目标地址”为“任何IP地址”,单击“下一步”按钮;选择“IP协议类型”为ICMP,单击“下一步”按钮。依次单击“完成”→“确定”按钮结束添加,如图所示。




容器里面没有jps命令 容器没有ping命令_安全策略_02




选择IP协议类型




第3步,切换到“管理筛选器操作”选项卡中,依次单击“添加”→“下一步”按钮,命名筛选器操作名称为“阻止所有连接”,描述语言可以为“阻止所有网络连接”,单击“下一步”按钮;点选“阻止”选项作为此筛选器的操作行为,最后依次单击“下一步”→“完成”→“关闭”按钮完成所有添加操作,如图所示。




容器里面没有jps命令 容器没有ping命令_IP_03




设置筛选器操作的行为




2.创建IP安全策略。


右键单击控制台树的“IP安全策略,在本地计算机”选项,执行“创建IP安全策略”快捷命令,然后单击“下一步”按钮。命名这个IP安全策略为“禁止PING主机”,描述语言为“拒绝任何其它计算机的PING要求”并单击“下一步”按钮。然后在勾选“激活默认响应规则”的前提下单击“下一步”按钮。在“默认响应规则身份验证方法”对话框中点选“使用此字符串保护密钥交换”选项,并在下面的文字框中键入一段字符串如“NO PING”,单击“下一步”按钮。最后在勾选“编辑属性”的前提下单击“完成”按钮结束创建,如图所示。




容器里面没有jps命令 容器没有ping命令_筛选器_04




设置身份验证方法




3.配置IP安全策略。


在打开的“禁止PING主机 属性”对话框中的“规则”选项卡中依次单击“添加/下一步”按钮,默认点选“此规则不指定隧道”并单击“下一步”按钮;点选“所有网络连接”以保证所有的计算机都PING不通该主机,单击“下一步”按钮。在“IP筛选器列表”框中点选“禁止PING”,单击“下一步”按钮;在“筛选器操作”列表框中点选“阻止所有连接”,依次单击“下一步”按钮;取消“编辑属性”选项并单击“完成”按钮结束配置,如图所示。




容器里面没有jps命令 容器没有ping命令_容器里面没有jps命令_05


选择IP筛选器




4.指派IP安全策略。


安全策略创建完毕后并不能马上生效,还需通过“指派”使其发挥作用。右键单击“本地安全设置”窗口右窗格的“禁止PING主机”策略,执行“指派”命令即可启用该策略,如图所示。



容器里面没有jps命令 容器没有ping命令_服务器_06


指派IP安全策略



经过这样的一番设置,这台服务器已经具备了拒绝其它任何计算机Ping自己IP地址的能力了,不过在本地Ping自身仍然是通的。 



LINUX下禁止ping命令的使用  



以root进入Linux系统,然后编辑文件icmp_echo_ignore_all 


vi /proc/sys/net/ipv4/icmp_echo_ignore_all


将其值改为1后为禁止PING 


将其值改为0后为解除禁止PING 



直接修改会提示错误: 



WARNING: The file has been changed since reading it!!!  

Do you really want to write to it (y/n)?y  

"icmp_echo_ignore_all" E667: Fsync failed  

Hit ENTER or type command to continue


这是因为 proc/sys/net/ipv4/icmp_echo_ignore_all 


这个不是真实的文件 


如果想修改他的数值可以echo 0 或 1到这个文件 



(即echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all )。要是想永久更改可以加一行 



net.ipv4.icmp_echo_ignore_all=1


到配置文件/etc/sysctl.conf里面