如何在 Debian 10 上阻止或取消阻止 Ping 请求

Ping 是一种网络实用程序,用于使用 ICMP 回显请求和回显回复消息检查 Internet 协议网络上系统的可用性。 但是,一些网络管理员更喜欢阻止 ping,因为出于某些原因,他们认为这是一个安全问题。 在之前的一篇文章中,我们已经解释了如何在 Ubuntu 20.04 上阻止或取消阻止 ping 请求。 这篇文章将介绍如何在 Debian 上阻止或取消阻止 ping 请求。

先决条件

  • Debian 操作系统
  • 须藤用户

笔记: 这里解释的过程已经过测试 Debian 10(克星) 系统。

在 Debian 上阻止或取消阻止 Ping 请求

Ping 向目标系统发送 ICMP echo 请求,然后获得 ICMP echo 回复。 在 Linux 操作系统中,当您 ping IP 地址时,它会继续发送 ICMP 数据包,直到您按 Ctrl+C 停止它。 要发送特定数量的数据包,请使用 ping -C 选项。 例如,要发送 3 个 ICMP 数据包,您可以使用以下命令:

$ ping -c 3 <ip-address or hostname>

要阻止对 Debian 系统的 ping 请求,有以下两个选项:

  • 通过内核参数
  • 通过 iptables

我们将解释在 Debian 系统上阻止 ping 请求的两个选项。

通过内核参数阻止或取消阻止 Ping 请求

可以通过修改内核参数来阻塞/解除阻塞Ping请求 net.ipv4.icmp_echo_ignore_all. 此参数控制系统是否应响应 ping 请求。 内核参数的默认值 net.ipv4.icmp_echo_ignore_all “0” 这意味着允许所有 ping 请求. 通过修改这个内核参数的值,可以使系统阻塞ping请求。

修改内核参数有三种不同的方法:

  1. 通过“sysctl”命令
  2. 通过“icmp_echo_ignore_all”文件
  3. 通过“/etc/sysctl.conf”文件

要查看系统当前是阻止还是允许 ping 请求,请在终端中发出以下命令:

$ sudo sysctl -ar ‘icmp_echo’

“icmp_echo_ignore_all”的值等于“0”表示不阻塞ping,而值为“1”表示不阻塞ping。 以下输出显示 ping 当前在我们的系统中未阻塞。

通过“sysctl”命令阻止或取消阻止 Ping 请求(临时)

如果您需要暂时阻止对系统的 ping 请求,可以使用 sysctl 命令,如下所示:

$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1