如何在 Ubuntu 中阻止或取消阻止 PING 請求

為了測試網絡質量,使用了 PING 工具,黑客經常使用它來欺騙主機和目標服務器以執行泛洪攻擊。 用戶有時會覺得需要阻止不需要的服務器請求,以確保他們的系統安全並保護服務器免受任何類型的攻擊。 在本文中,我們將看到如何阻止 PING 請求。 本教程還將引導用戶解除對 PING 請求的阻塞。

分組 Internet 探查器 (PING)

PING 用於檢查任何源和任何目的地之間的連接狀態。 用戶可以知道數據包接收響應所用的時間。 在本文中,我們將介紹在 Ubuntu 或 Debian 或 Linux Mint 20 系統中與服務器通信以阻止和解除阻止它們所需的 iptables 命令。

先決條件

  • Ubuntu 20.04 或 Linux Mint 20 或 Debian 10
  • 用戶與 sudo 權利

本教程中使用的命令在 Ubuntu 系統上進行了測試。 第一步是安裝 iptables,為此我們將使用系統的終端窗口。 使用以下命令打開終端 Ctrl+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 請求

現在,我們希望取消阻止 PING 請求,在終端窗口中鍵入以下命令:

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

使用 sysctl 解除阻止 ping

用戶還可以使用內核參數值並在 echo 命令的 /proc/sys 目錄中更改它。 用戶需要注意他們需要有一個 sudo 用戶權限。 現在,使用以下命令切換到 root 帳戶:

$ sudo -s

Enter 終端中的這個命令:

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

忽略ping

要解鎖,請使用:

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

解除阻止ping

這是臨時阻止和取消阻止 PING 請求的方法。

永久阻止/解鎖請求

要修改內核的參數,我們可以使用 /etc/sysctl.conf 文件。 要阻止請求,我們需要編輯此文件。

阻止 PING 請求

要阻止請求,我們需要編輯 /etc/sysctl.conf 文件使用:

$ sudo 納米 /etc/sysctl.conf

編輯 sysctl.conf

將打開編輯器窗口,在此文件中輸入以下行:

net.ipv4.icmp_echo_ignore_all = 1

sysctl.conf 文件

現在,保存並 close 這個文件。 要在不重新啟動的情況下反映更改,請發出以下命令:

$ sysctl -p

應用 sysctl 配置

解除阻止 PING 請求

為此,編輯 /etc/sysctl.conf 文件使用:

$ sudo 納米 /etc/sysctl.conf

使用 sysctl 解除阻止 ping

這一次,我們需要將 net.ipv4.icmp_echo_ignore_all 的值更新為“0”: net.ipv4.icmp_echo_ignore_all = 0

再次允許ping

現在,保存並 close 這個文件。 要在不重新啟動的情況下反映更改,請發出以下命令:

$ sysctl -p

應用配置更改

通過這種方式,用戶可以永久阻止和取消阻止 PING 請求。

如何使用 iptables 阻止/解除阻止 PING 請求

iptables 實用程序通過命令行使用來啟用或禁用流量。 它基於規則工作,即 政策鏈. iptables 適用於數據包智能網絡,其中分別針對每組數據包監控流量。 他們在查找規則上工作,將每個數據包與列表進行匹配,以將其與每個規則進行映射。 如果規則不匹配,則不會建立連接。 iptables 的包過濾器是用 C 編程語言編寫的,直到現在出現了新的發行版和版本,可以使用以下方法下載: https://git.netfilter.org/iptables/

阻止/取消阻止來自 iptables 的 PING

第一步:安裝iptables

要安裝 iptables,請在終端窗口中鍵入以下命令:

$ sudo apt-get 安裝 iptables

安裝iptables

安裝將開始,如下所示:

IPTables 安裝

第二步:確認iptables安裝

現在,我們需要確認 iptables 的安裝。 在終端窗口中鍵入下面提到的命令:

$ iptables –version

iptables 版本檢查

按下 Enter 鍵後,您將在輸出中看到與此類似的版本。

IPTables 版本

現在,我們將看到禁用和啟用 ping 命令的方法。

使用 iptables 阻止 PING

iptables 是一個基於規則的網絡過濾引擎。 用戶可以添加這些規則來阻止 ping 的到來 向和從 他們的服務器。 我們將討論一組示例來添加規則集以阻止 PING。

例子:

規則1:

要拒絕或阻止請求,請使用以下命令。 -一個 在下面的命令中意味著添加規則。 您將在運行以下 ping 命令時看到錯誤消息:

$ sudo iptables -A INPUT -p icmp –icmp-type echo-r​​equest -j REJECT

塊icmp

當您 ping 任何 IP 地址時,您將看到如下輸出:

Ping 端口不可達

規則 2:

您還可以使用以下規則在輸入結束時阻止 PING。 這不會顯示錯誤消息。

$ sudo iptables -A INPUT -p icmp –icmp-type echo-r​​equest -j DROP

刪除 ping 請求,恕不另行通知

第 3 條:

要在輸出端丟棄或阻止 PING 請求,也可以使用以下命令。

$ sudo iptables -A OUTPUT -p icmp –icmp-type echo-r​​eply -j DROP

塊icmp

從 iptables 解鎖 PING

現在,我們將討論從 iptables 啟用 PING 命令的方法。

列出可用規則

您可以使用以下命令查看已添加到 iptables 的所有規則。

列出防火牆規則

輸出將如下所示:

iptables 列表

刪除阻止規則集

用戶可以刪除充當 PING 阻止程序的規則集,他們可以刪除它。 如上圖所示 example,這裡ICMP被拒絕。 因此,我們將通過以下方式刪除它:

$ sudo iptables -D INPUT -p icmp –icmp-type echo-r​​equest -j REJECT

刪除規則

用戶可以輕鬆刪除所有不需要的規則。 他們可以簡單地使用 -D 命令 刪除任何規則。

刪除自定義規則

要刪除添加到 iptables 的自定義規則,請在終端窗口中鍵入以下命令以刪除任何不需要的規則:

$ sudo iptables -F

應用防火牆配置

通過這種方式,用戶可以在 iptables 中添加和取消阻止 PING。

結論

在本文中,我們介紹了在 Linux Mint 20 系統中使用內核參數和 iptables 禁用和啟用 PING 的方法。 內核參數允許用戶永久或臨時保存設置。 我們討論了 iptables 的安裝,然後通過合適的示例介紹了禁用 PING 的方法。 然後我們看到了從 iptables 解鎖 PING 的方法。 在本文中,我們檢查瞭如何刪除和刪除規則,無論它們是自定義的還是充當系統的阻止程序。