博客 / Others/ CentOS/Linux 系统如何禁止与恢复 Ping 响应(ICMP Echo)

CentOS/Linux 系统如何禁止与恢复 Ping 响应(ICMP Echo)

CentOS 系统禁止 ICMP Echo 请求(禁 Ping)的方法

在某些情况下,出于安全或减少干扰的考虑,您可能需要禁止服务器响应 ICMP Echo 请求(即通常所说的“禁 Ping”)。这可以通过修改 Linux 内核参数来实现。以下是在 CentOS 系统上操作的步骤。

方法一:临时生效(重启后失效)

通过 SSH 终端登录您的 CentOS 服务器,执行以下命令:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

此命令会立即生效,但服务器重启后配置会丢失。

方法二:永久生效

若要设置永久生效,需要编辑系统配置文件。

  1. 使用文本编辑器(如 vim 或 nano)打开配置文件:
vim /etc/sysctl.conf
  1. 在文件末尾添加或修改以下行:
net.ipv4.icmp_echo_ignore_all = 1
  1. 保存并退出编辑器。
  2. 执行以下命令使配置立即生效,无需重启:
sysctl -p

验证配置

配置完成后,您可以从另一台机器使用 ping 命令测试您的服务器 IP 地址,应该会收到“请求超时”或类似提示,表示禁 Ping 已生效。

恢复允许 Ping

如果需要恢复服务器响应 Ping 请求,请执行以下操作:

  • 临时恢复:执行命令 sysctl -w net.ipv4.icmp_echo_ignore_all=0
  • 永久恢复:编辑 /etc/sysctl.conf 文件,将 net.ipv4.icmp_echo_ignore_all 的值改为 0,然后执行 sysctl -p 使其生效。

注意事项

  • 禁 Ping 是一种简单的安全措施,但并不能完全防止网络探测。专业的攻击者会使用其他端口扫描技术。
  • 某些网络监控或负载均衡服务可能需要 Ping 响应来检测服务器健康状态,请根据实际业务需求谨慎配置。
  • 本文方法适用于 CentOS 7、CentOS 8 及大多数使用 systemd 的现代 Linux 发行版(如 Rocky Linux, AlmaLinux)。

发表评论

您的邮箱不会公开。必填项已用 * 标注。