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请求。
修改内核参数有三种不同的方法:
- 通过“sysctl”命令
- 通过“icmp_echo_ignore_all”文件
- 通过“/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