服务器禁止被ping的设置方法(图文)

 更新时间:2024年05月05日 21:27:59   投稿:mdxy-dxy  
局域网中为了防止用户频繁Ping服务器而导致服务器性能下降,一般都会在防火墙中设置规则决绝Ping请求。那么如果单纯借助系统自身的功能是否也可以拒绝用户Ping服务器呢

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

windows server 2008-2019开启Ping或者禁PING

禁止ping一般有两种方法一是通过防火墙设置,二是通过ip安全策略实现。

此套规则适用于任何windows server服务器系统,包括windows server 2008、windows server 2012、windows server 2016、windows server 2019、windows server 2022等。

写日志的原因是,有个朋友说ping不通服务器ip地址,所以让他查看下这个,就解决了。

方法1:命令行模式

进入服务器后 点击 开始——运行 输入命令:

netsh firewall set icmpsetting 8

这样就可以在外部ping到服务器了 非常简单实用!

同样道理,如果想禁止Ping,那运行如下命令即可实现:

netsh firewall set icmpsetting 8 disable

netsh firewall命令行上下文在 Windows 操作系统的未来版本中可能已弃用。 建议使用 netsh advfirewall 防火墙上下文来控制防火墙行为。

具体的可以参考这篇文章:https://learn.microsoft.com/zh-CN/troubleshoot/windows-server/networking/netsh-advfirewall-firewall-control-firewall-behavior

您可以使用netsh工具来配置Windows防火墙。打开命令提示符或PowerShell(以管理员权限)并执行以下命令:

netsh advfirewall firewall add rule name="Allow ICMPv4-In" protocol=icmpv4:8,any dir=in action=allow

此命令将添加一个新的入站规则,允许ICMPv4 echo请求(ping请求)通过Windows防火墙。
对于ICMPv6(如果您正在使用IPv6),您可以相应地修改上述命令。
执行上述操作后,ICMP数据包(例如ping请求)应该能够成功通过Windows防火墙。
要取消或删除之前使用 netsh 添加的防火墙规则,您可以使用以下命令:

netsh advfirewall firewall delete rule name="Allow ICMPv4-In"

此命令将删除名为 "Allow ICMPv4-In" 的入站规则,从而撤销您之前添加的ICMPv4 echo请求(ping请求)的允许规则。执行此命令后,ICMPv4数据包将不再被允许通过Windows防火墙,除非有其他允许此类数据包的规则。

方法2:防火墙高级面板方式

使用图形界面:

打开“控制面板”。选择“系统和安全”。点击“Windows Defender防火墙”。
在左侧选择“高级设置”以打开“Windows防火墙与高级安全”管理工具。
在左侧选择“入站规则”。
在右侧,滚动找到和选择名为“文件和打印机共享 (Echo Request - ICMPv4-In)”的规则。

 右键 点击规则 点击“启用规则(Enable)”

禁止ping的方法相反,点击“禁用规则”

win2003中禁止设置方法

以在Windows Server 2003中设置IP策略拒绝用户Ping服务器为例,具体操作步骤如下:

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

添加IP筛选器

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

选择IP协议类型


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

设置筛选器操作的行为


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

设置身份验证方法


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

选择IP筛选器


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

指派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里面

相关文章

最新评论