如何禁用对PING的响应


11

我觉得这应该是一件非常简单的事情,但是在Google搜索和检查SF时我什么都没看到。我试图使我的Fedora服务器不响应ping,我该怎么做?


本文介绍了如何执行此操作。
山姆·科根

此外,您可以使用“黑洞”安全性:服务器根本无法回答与已关闭端口的
临时

9
我从不了解在服务器上禁用ICMP回显请求的好处。它使监视和调试网络连接变得很麻烦。无论如何,服务器通常都会打开一个或多个低端端口以进行服务,因此您无法对其进行黑洞处理。你能告诉我你的原因吗?
马丁·海姆斯

2
这样做只是出于错误的安全感。
迈克尔·汉普顿

Answers:


24

要禁用PING响应,请将以下行添加到网络的初始化脚本中:

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

要重新启用PING响应,请执行以下操作:

echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all

更新:

要使更改永久生效,请将以下行添加到/etc/sysctl.conf

net.ipv4.icmp_echo_ignore_all=1

我该如何针对Windows Server系列呢?
AminM 2014年

11

将以下行添加到/etc/sysctl.conf

net.ipv4.icmp_echo_ignore_all=1

它具有与上述回波线相同的效果。


11

最好将防火墙用于这些目的,以便您可以选择从某些系统(例如esp监视系统)启用ping

iptables -t filter -I INPUT -p icmp --icmp-type echo-request -s monitoring_system -j ACCEPT
iptables -t filter -I INPUT -p icmp --icmp-type echo-request -j DROP

4
+1选择性启用
Josh Brower

3
以防万一iptables新手不太清楚,请将“ monitoring_system”替换为应该能够ping通服务器的服务器的IP /范围。所有其他ping请求将被静默删除。
合作社

2

您也可以使用此命令禁用ping请求

sysctl net.ipv4.icmp_echo_ignore_all=1

再次启用

sysctl net.ipv4.icmp_echo_ignore_all=0

最后保存 sysctl -p


1
奇怪的是,在我的系统上使用Ubuntu 14.04却相反。我要对本地主机执行ping操作。
Elijah Lynn

1
抱歉! 我现在退了口并纠正了。试图CentOS的7
Sathish所在

0

只是这样做:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

0

打开您的/etc/sysctl.conf并添加此行

net.ipv4.icmp_echo_ignore_all = 1

并执行此命令

sysctl -p

重新启动后仍然可用


-1

防火墙阻止ICMP连接。

特别是icmp echo。


7
但是,请勿阻止所有ICMP流量,因为这将例如破坏路径MTU发现。
knweiss
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.