使用 iptables 設置 Linux 防火牆

如果您的 Linux 服務器或桌面需要一個好的防火牆,iptables 是一個不錯的選擇。它非常靈活且快速。在本指南中,我們將向您展示如何在 Linux 上設置 iptables 防火牆。

在 Linux 上安裝 iptables

要在Linux 系統上使用 iptables設置防火牆,您需要先安裝它。打開終端窗口並按照下面適用於您的 Linux 操作系統的安裝說明進行操作。iptables 可以安裝在 Linux 桌面和服務器上,如果您更喜歡 iptables 的通用 Linux 下載,您可以訪問官方網站。安裝完成後,您可以繼續使用 iptables 設置防火牆。

Ubuntu指令

sudo apt install iptables

Debian 說明

sudo apt-get install iptables

Arch Linux 說明

sudo pacman -S iptables

軟呢帽說明

sudo dnf 安裝 iptables

OpenSUSE 指令

iptables 中的 sudo sudo zypper

EPEL 發行版(Rhel、CentOS、Rocky、Alma 等)

須藤 yum 安裝 iptables

如何創建 iptables 規則集

在嘗試將其用作防火牆之前,您必須創建新的 iptables 規則集。打開終端窗口,並確保您可以輸入sudo命令。如果您的用戶無法登錄,請使用su登錄 root 帳戶。

從這裡,使用iptables -F命令。此命令將刪除並刷新系統上 iptables 的所有先前規則。

sudo iptables -F

運行上述命令後,您可以運行iptables -L命令來檢查並確認規則已被刪除。

sudo iptables -L

一旦您確認 iptables 規則已刷新,請使用下面的iptables -P命令默認阻止傳入流量。

警告:如果您通過 SSH 編輯 iptables,請斷開連接並在物理機上進行編輯。運行以下命令將自動斷開您與 SSH 的連接,直到您允許它通過防火牆。

sudo iptables -P 輸入丟棄

接下來,您必須允許通過 iptables 從系統發出的流量。您可以通過輸入以下iptables -P命令來允許傳出流量通過 iptables 防火牆。

sudo iptables -P 輸出接受

禁用傳入流量並啟用傳出流量後,您可以繼續允許特定服務。

如何允許端口通過 iptables 防火牆

默認情況下,運行 iptables -P INPUT DROP 會禁用來自所有來源(SSH、HTTP 等)的傳入流量。要啟用這些服務,您需要添加到 iptables 規則中。

為了簡單起見,這裡列出了您可能希望在 iptables 防火牆中啟用的常見端口。複製與您希望通過 iptables 防火牆啟用的端口關聯的命令。

  • HTTP(端口 80):sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  • HTTPS(端口 443):sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SSH(端口 22):sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  • FTP(端口 21):sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SMTP(端口 25):sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS(端口 53):sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT用於 UDP 或sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPTTCP
  • DNS over TLS (DoT)(端口 853):sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS over HTTPS (DoH)(端口 443):sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 遠程桌面協議 (RDP)(端口 3389):sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 虛擬網絡計算 (VNC)(端口 5900):sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 具有 X11 轉發的安全 Shell (SSH)(端口 6010):sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
  • MySQL數據庫(端口3306):sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
  • PostgreSQL 數據庫(端口 5432):sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT

當您允許所有您希望允許的端口時,您可以使用iptables -L檢查您的規則。

sudo iptables -L

最後,將 iptables 規則保存到文件中以供備份。您可以使用iptables-save命令來執行此操作。

sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup

如何恢復 iptables 備份

如果您需要在另一台計算機上重新部署 iptables 防火牆,請執行以下操作。首先,使用iptables -F命令刷新現有規則。

sudo iptables -F

接下來,將備份文件複製到系統。複製完畢後,恢復備份。

sudo iptables-restore <>


使用 Pano 改進 Gnome Shell 剪貼板

使用 Pano 改進 Gnome Shell 剪貼板

讓我們面對現實吧,默認的 Gnome Shell 剪貼板並不是很好。安裝 Pano 來改善您的剪貼板體驗!

如何在Linux上安裝DaVinci Resolve 17

如何在Linux上安裝DaVinci Resolve 17

您的 Linux 機器需要一個出色的非線性視頻編輯器嗎?使用本指南使用 Davinci Resolve 17!

如何使用壁紙下載器將壁紙下載到 Linux 桌面

如何使用壁紙下載器將壁紙下載到 Linux 桌面

Wallpaper Downloader 是一個靈活的 Linux 壁紙下載和管理器。它支持大多數Linux桌面環境,並且非常易於使用。本指南

如何在計算機上安裝 Tuxedo 操作系統

如何在計算機上安裝 Tuxedo 操作系統

想要通過 Tuxedo 計算機測試 Tuxedo 操作系統嗎?了解如何讓最新版本的 Tuxedo OS 在您的 PC 上運行。

如何在 Linux 上安裝 DEB 文件

如何在 Linux 上安裝 DEB 文件

什麼是 .DEB 文件?你用它做什麼?了解在 Linux PC 上安裝 DEB 文件的多種方法。

如何在 Linux 上玩消逝的光芒

如何在 Linux 上玩消逝的光芒

《消逝的光芒》是一款由 Techland 開發、華納兄弟互動娛樂發行的 2015 年生存恐怖視頻遊戲。遊戲的中心是

如何在計算機上安裝 Neptune Linux

如何在計算機上安裝 Neptune Linux

Neptune 使用 KDE Plasma 5 桌面環境,旨在提供優雅的操作系統。以下是如何在計算機上安裝 Neptune Linux。

嘗試 Ubuntu 的新基於 snap 的桌面

嘗試 Ubuntu 的新基於 snap 的桌面

想嘗試 Ubuntu 的新的基於 snap 包的桌面操作系統嗎?通過本指南了解如何將其部署在虛擬機上。

如何在 Linux 上玩《傳說之下》

如何在 Linux 上玩《傳說之下》

Undertale 是一款 2015 年 2D 獨立角色扮演遊戲,由遊戲開發商 Toby Fox 開發和發行。本指南將介紹在您的電腦上下載和安裝 Undertale

如何在 Linux 上玩《全面戰爭:三個王國》

如何在 Linux 上玩《全面戰爭:三個王國》

《全面戰爭:三個王國》是一款由 Creative Assembly 開發的回合製策略 RTS 遊戲。下面是如何在 Linux 上玩遊戲。