如何使用 IPtables 在 Linux 中配置防火牆

iptable Linux

儘管有時我仍然會自己接觸 Windows,而在許多其他情況下,當我不得不離開計算機做事時,他們會強迫我 (marditoh rodoreh),但對我來說,談論 Windows 就像是被時間遠遠拋在後面的東西。 當我將它用作我的主要係統(我沒有其他系統)時,我嘗試使用卡巴斯基防病毒軟件和偶爾使用的防火牆等軟件以及許多其他安全工具來保護它。 在Linux中我們從來沒有像在Windows中那樣暴露過,但是也有一些軟件可以幫助我們冷靜下來,比如 IP表, 防火牆或防火牆。

防火牆是一個安全系統,負責控制進入和離開操作系統的網絡流量。 Linux 中最廣泛使用的 IPtables 之一,可能在您不知情的情況下,自您發布它以來,它已經安裝在您的操作系統中。 我們將在本文中嘗試做的是解釋 如何在 Linux 中配置防火牆 與IP表。

Linux 上的 IPtables,你需要知道的

配置防火牆 可能很複雜,以及更多在像 Linux 這樣的操作系統中,其中最好的是通過觸摸終端來實現的。 在開始之前,最好了解一點網絡和安全問題,或者至少了解,當我們連接時,我們正在與其他設備通信,而這些設備或它們的所有者可能有好的或壞的意圖。 出於這個原因,根據我們對 PC 的使用情況,控制出入的所有內容是值得的。

此外,對於可能發生的情況,如果我們的 Linux 系統上有另一個防火牆,並且我們要開始調整 IPtables 中的內容,則值得為我們當前的防火牆配置製作一個備份副本。 清楚了所有這些之後,我們開始全面討論 IPtables 的配置。

  1. 我們要做的第一件事是安裝包。 大多數 Linux 發行版都默認安裝了它,但情況並非總是如此。 要查明我們的操作系統中是否安裝了 IPtables,我們打開一個終端並寫入 iptables -v. 就我而言,在撰寫本文時,我的終端返回給我 iptable v1.8.8. 如果未安裝,可以安裝:

Ubuntu/Debian 或衍生產品:

sudo apt 安裝 iptables

Fedora/Redhat 或衍生品:

sudo yum 安裝 iptables

Arch Linux 和衍生品

sudo pacman -Siptables

安裝後,它將啟用:

sudo systemctl 啟用 iptables sudo systemctl 啟動 iptables

您可以通過以下方式查看其狀態:

sudo systemctl 狀態 iptables
  1. 安裝防火牆後,您必須配置其規則。 IPtables 規則分為表(我們將在本文後面更詳細地討論):filter、nat 和 mangle,我們必須向其中添加 raw 和 security。 filter 表用於控制傳入和傳出流量,nat 表用於進行 NAT(網絡地址轉換),mangle 表用於修改 IP 數據包。 要配置過濾表的規則,使用以下命令:
  • iptables -A INPUT -j ACCEPT(允許所有傳入流量)。
  • iptables -A OUTPUT -j ACCEPT(允許所有傳出流量)。
  • iptables -A FORWARD -j ACCEPT(允許所有路由流量)。 但是,此配置允許所有流量,不建議用於生產系統。 根據系統的特定需求指定防火牆規則很重要。 例如,如果要阻止端口 22 (SSH) 上的傳入流量,可以使用以下命令:
iptables -A 輸入 -p tcp --dport 22 -j 刪除
  1. 另一個重要的事情是保存設置,以免在重新啟動系統時丟失它們。 在 Ubuntu 和 Debian 上,“iptables-save”命令用於將當前配置保存到文件中。 在 Red Hat 和 Fedora 上,“service iptables save”命令用於保存配置。 如果您對使用哪一個有疑問,Ubuntu/Debian 命令往往適用於更多發行版。

重啟後加載配置

加載保存的設置,使用用於保存它們的相同命令,但使用“恢復”操作而不是“保存”。 在 Ubuntu 和 Debian 上,“iptables-restore”命令用於從文件加載保存的配置。 在 Red Hat 和 Fedora 上,“service iptables restore”命令用於加載保存的配置。 再次重申,如果您對使用哪個命令有疑問,Ubuntu/Debian 命令通常效果最好。

重要的是要注意,如果對防火牆設置進行了更改,則需要保存並重新加載以使更改生效。 這是一種用新數據覆蓋配置文件的方法,如果不這樣做,更改將不會被保存。

IPtables 中的表

有5種 桌子 在 IPTables 中,每個應用了不同的規則:

  • 過濾器 :這是使用 IPTables 時的主要和默認表。 這意味著如果在應用規則時沒有提到特定的表,規則將被應用到過濾表。 顧名思義,過濾表的作用就是決定是允許數據包到達目的地還是拒絕它們的請求。
  • NAT (Network Address Translation):顧名思義,該表允許用戶確定網絡地址的轉換。 該表的作用是確定是否以及如何修改源和目標數據包地址。
  • 撕裂: 該表允許我們修改數據包的 IP 標頭。 例如,可以調整 TTL 來延長或縮短數據包可以支持的網絡跳數。 同理,其他IP header也可以根據自己的喜好修改。
  • :此表的主要用途是跟踪連接,因為它提供了一種機制來標記數據包以將數據包視為正在進行的會話的一部分。
  • 安全:使用安全表,用戶可以將內部 SELinux 安全上下文標誌應用於網絡數據包。

最後兩個表幾乎沒有用到,以至於大多數文檔只討論 filter、nat 和 mangle。

在幫助文件中,我們可以找到有關如何管理 IPtables 的示例。 要查看它,我們將打開一個終端並輸入 iptables -h.

雖然 iptables 是 Linux 的最佳選擇之一,但如果您更喜歡使用圖形界面的更簡單的東西,您可以看看 Firewalld.


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。