使用 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 <>

Leave a Comment

如何在 Linux 上玩 VRChat

如何在 Linux 上玩 VRChat

VRChat 是一款适用于 PC 的社交互动视频游戏。在 Linux 系统上轻松安装和运行 VRChat,享受用户创建的世界与社交互动。

如何在 Linux 上玩《殺戮尖塔》

如何在 Linux 上玩《殺戮尖塔》

Slay The Spire 是一款由 MegaCrit 开发、Humble Bundle 发行的 Roguelike 牌组构建视频游戏。本文讲述如何在 Linux 系统上顺利安装和运行该游戏。

如何在 Ubuntu 22.04 LTS 中禁用 Firefox snap

如何在 Ubuntu 22.04 LTS 中禁用 Firefox snap

了解如何卸载 Ubuntu 22.04 LTS 中的 Firefox Snap,不再使用 Snap 包,而是选择更原生的 DEB 版本。

如何在 Linux 上玩神界:原罪 2

如何在 Linux 上玩神界:原罪 2

详细介绍如何在 Linux 系统上安装并运行神界:原罪 2,包括必备步骤和注意事项。

如何在 Linux 上玩鋼鐵雄心 IV

如何在 Linux 上玩鋼鐵雄心 IV

學習如何在 Linux 系統上安裝和運行鋼鐵雄心 IV,這是一款以二戰為背景的策略遊戲。

如何使用 Rescuezilla 克隆 Linux 硬盤

如何使用 Rescuezilla 克隆 Linux 硬盤

您需要克隆 Linux 硬盘吗?使用简单的方法达成目的,看看 Rescuezilla,这是一款用户友好的驱动器克隆工具。

如何在 Kali Linux 上安裝 Discord

如何在 Kali Linux 上安裝 Discord

Discord 正迅速成為計算機用戶交流的主要方式之一。了解如何在 Kali Linux 上安裝 Discord,包括 DEB 包、Flatpak 和 Snap 方法。

如何在 Linux 上運行 Microsoft Word

如何在 Linux 上運行 Microsoft Word

需要在您的 Linux 筆記本電腦或台式機上運行 Microsoft Word 以便在工作或學校使用?不確定如何設置?跟著我們。

使用 Linux 在 LAN 上運行虛擬機的簡單方法

使用 Linux 在 LAN 上運行虛擬機的簡單方法

您是否知道可以通過 LAN 在 Linux 台式機、筆記本電腦或服務器上運行虛擬機?這是如何做到的。

如何在 Linux 桌面上使用 YouTube Music

如何在 Linux 桌面上使用 YouTube Music

YouTube Music 是一項出色的服務,提供無限音樂選擇。了解如何在 Linux 桌面上安裝和使用 YouTube Music。