如何在 Ubuntu 中阻止或取消阻止 PING 请求
为了测试网络质量,需要使用PING工具,黑客经常使用它来欺骗主机和目标服务器以进行洪泛攻击。用户有时觉得需要阻止不需要的服务器请求以保证系统安全并保护服务器免受任何攻击。在本文中,我们将了解如何阻止 PING 请求。本教程还将引导用户解锁 PING 请求。
数据包互联网探查器 (PING)
PING 用于检查任何源和任何目标之间的连接状态。用户可以知道数据包收到响应所花费的时间。在本文中,我们将介绍 Ubuntu 或 Debian 或 Linux Mint 20 系统中与服务器通信以阻止和解除阻止所需的 iptables 命令。
先决条件
- Ubuntu 22.04 或 Linux Mint 22 或 Debian 11
- 具有 sudo 权限的用户
本教程中使用的命令在 Ubuntu 系统上进行了测试。第一步是安装 iptables。为此,我们将使用系统的终端窗口。使用 Ctl+Alt+T 快捷键打开终端。
在 Ubuntu 中阻止/取消阻止 PING 请求
ICMP 是用于发送 PING 请求的协议。数据包将请求回显到目标系统,然后作为响应,获得回显答复。 PING命令具有连续发送ICMP数据包的能力。这种数据包发送机制会一直持续下去,除非用户通过按键盘上的 Ctl+C 快捷键来停止它。
要阻止 PING 请求,用户需要阻止 ICMP 请求。我们将讨论阻止和解除阻止这些回显请求的方法。方法有:
- 通过内核参数
- 通过 iptables 的方式
如何通过内核参数阻止/取消阻止 PING 请求
要暂时或永久阻止 PING 请求,可以使用内核方法。可以使用 sysctl 命令编辑和修改内核的参数。
临时阻止/取消阻止请求
阻止 PING 请求的第一种方法是临时阻止,这是通过使用 sysctl 命令来完成的。 该命令用于Linux平台系统中修改或读写/proc/sys目录下的内核参数。
阻止 PING 请求
要阻止 PING 请求,请在终端中发出以下命令:
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1
这里,net.ipv4.icmp_echo_ignore_all是控制系统响应传入ICMP请求的参数。 0 表示是,1 表示不响应请求。这里,1表示所有请求将被忽略或拒绝
发送 PING 请求时,不会收到响应数据包。
解除阻止 PING 请求
现在,我们希望解除对 PING 请求的阻止,请在终端窗口中键入以下命令:
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0
用户还可以使用内核参数值并在 echo 命令中的 /proc/sys 目录中更改它。用户需要注意的是,他们需要拥有 sudo 用户权限。现在,使用以下命令切换到 root 帐户:
sudo -s
在终端中输入此命令:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
要解锁,请使用:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
这是暂时阻止和解除阻止 PING 请求的方法。
永久阻止/解锁请求
要修改内核的参数,我们可以使用/etc/sysctl.conf文件。要阻止请求,我们需要编辑此文件。
阻止 PING 请求
要阻止请求,我们需要使用以下命令编辑 /etc/sysctl.conf 文件:
sudo nano /etc/sysctl.conf
将打开一个编辑器窗口。在此文件中输入以下行:
net.ipv4.icmp_echo_ignore_all = 1
现在,保存并关闭该文件。要在不重新启动的情况下反映更改,请发出以下命令:
sysctl -p
解锁 PING 请求
为此,请使用以下命令编辑 /etc/sysctl.conf 文件:
sudo nano /etc/sysctl.conf
这次,我们需要将 net.ipv4.icmp_echo_ignore_all 的值更新为“0”:net.ipv4.icmp_echo_ignore_all=0
现在,保存并关闭该文件。要在不重新启动的情况下反映更改,请发出以下命令:
sysctl -p
这样用户就可以永久阻止和取消阻止 PING 请求。
如何使用 iptables 阻止/取消阻止 PING 请求
通过命令行使用 Iptables 实用程序来启用或禁用流量。它在规则的基础上工作,即策略链。 iptables 在数据包网络上工作,分别监控每组数据包的流量。他们处理查找规则,将每个数据包与列表进行匹配,以将其与每个规则进行映射。如果规则不匹配,则不会建立连接。 iptables 的包过滤器采用 C 编程语言,到目前为止,已经发布了新版本,可以使用以下地址下载:https://git.netfilter.org/iptables/
阻止/取消阻止来自 iptables 的 PING
第1步:安装iptables
要安装 iptables,请在终端窗口中键入以下命令:
sudo apt-get install iptables
安装将开始,如下所示:
第2步:确认iptables安装
现在,我们需要确认 iptables 的安装。在终端窗口中键入下面提到的命令:
iptables --version
一旦你按下回车键,你就会在输出中看到与此类似的版本。
现在,我们将看到禁用和启用 ping 命令的方法。
使用 iptables 阻止 PING
Iptables 是一个基于规则的网络过滤引擎。用户可以添加这些规则来阻止传入和传出其服务器的 ping。我们将讨论一组示例来添加阻止 PING 的规则集。
例子:
规则1:
要拒绝或阻止请求,请使用以下命令。以下命令中的-A表示添加规则。运行以下 ping 命令时您将看到一条错误消息:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
当您 ping 任何 IP 地址时,您将看到如下输出:
规则 2:
您还可以使用以下规则在输入末尾阻止 PING。这不会显示错误消息。
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
规则 3:
如果需要在输出端丢弃或阻止PING请求,也可以使用以下命令。
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
解除 iptables 的 PING 阻塞
现在,我们将讨论从 iptables 启用 PING 命令的方法。
列出可用规则
您可以使用以下命令查看已添加到 iptables 中的所有规则。
输出将如下所示:
删除阻止程序规则集
用户可以删除充当 PING 拦截器的规则集,他们可以将其删除。如上例所示,此处 ICMP 被拒绝。因此,我们将通过以下方式删除它:
sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT
用户可以轻松删除所有不需要的规则。他们可以使用-D命令删除任何规则。
删除自定义规则
要删除添加到 iptables 的自定义规则,请在终端窗口中键入以下命令以删除任何不需要的规则:
sudo iptables -F
这样,用户就可以从 iptables 添加和取消阻止 PING。
结论
在本文中,我们讨论了在 Ubuntu 系统中使用内核参数和 iptables 禁用和启用 PING 的方法。内核参数允许用户永久或临时保存设置。我们讨论了 iptables 的安装,然后通过适当的示例介绍了禁用 PING 的方法。然后我们看到了从 iptables 解锁 PING 的方法。在本文中,我们检查了如何删除和删除规则,无论它们是自定义的还是充当系统的阻止程序。