Linux 系統,憑借其強大的靈活性和開源特性,成為了服務器和嵌入式設備等領域的首選操作系統
在 Linux 系統上,防火墻的配置和管理是系統管理員必須掌握的關鍵技能之一
本文將深入探討 Linux 下查看防火墻狀態的方法,并通過實戰案例,幫助讀者掌握這一重要技能
一、Linux 防火墻概述 Linux 防火墻主要通過兩種技術實現:`iptables` 和`firewalld`
`iptables` 是 Linux 內核自帶的防火墻工具,提供了強大的包過濾和包處理功能,但配置相對復雜
而 `firewalld`則是基于`iptables` 的一個動態防火墻管理工具,它提供了更友好的命令行和圖形界面,使得防火墻規則的管理變得更加直觀和簡便
二、使用`iptables` 查看防火墻 `iptables` 是 Linux 防火墻的核心,通過命令行界面進行操作
雖然配置復雜,但功能強大,適用于需要精細控制網絡流量的場景
1.檢查 `iptables` 規則 要查看當前 `iptables` 的規則,可以使用以下命令: sudo iptables -L -v -n - `-L`:列出所有規則
- `-v`:顯示詳細信息,包括每個規則的匹配次數和字節數
- `-n`:不解析主機名,加快顯示速度
該命令將列出所有鏈(INPUT、FORWARD、OUTPUT)中的規則,包括允許或拒絕的數據包類型、協議、源地址、目標地址等信息
2. 查看特定鏈的規則 如果你只想查看特定鏈的規則,可以在`-L` 后加上鏈名,例如: sudo iptables -L INPUT -v -n 這將只顯示 INPUT 鏈的規則
3. 保存和恢復 `iptables` 規則 由于 `iptables` 規則在系統重啟后會丟失,因此需要手動保存和恢復
保存規則可以使用以下命令: sudo iptables-save > /etc/iptables/rules.v4 恢復規則則使用: sudo iptables-restore < /etc/iptables/rules.v4 三、使用`firewalld` 查看防火墻 `firewalld`是 `iptables` 的一個前端工具,提供了更加用戶友好的接口,支持動態更新防火墻規則,無需重啟服務即可生效
1.檢查 `firewalld` 狀態 首先,確保 `firewalld` 服務正在運行: sudo systemctl status firewalld 如果服務未運行,可以使用以下命令啟動: sudo systemctl start firewalld 2. 查看當前區域和規則 `firewalld` 使用區域(zones)來定義不同的安全策略
要查看當前活動的區域及其規則,可以使用: sudo firewall-cmd --list-all 這將顯示當前默認區域的規則,包括允許的服務、端口、源等
3. 查看特定區域的規則 如果你想查看特定區域的規則,可以在命令后加上`--zone` 選項,例如: sudo firewall-cmd --zone=public --list-all 4. 列出所有區域 使用以下命令可以查看所有已定義的區域: sudo firewall-cmd --get-zones 5. 列出所有服務 `firewalld` 使用預定義的服務來簡化規則的添加
要查看所有可用的服務,可以使用: sudo firewall-cmd --get-services 6. 持久化規則 與 `iptables` 不同,`firewalld` 的規則在默認情況下是持久的,即重啟后依然有效
但如果你手動修改了規則,最好使用`--permanent` 選項來確保更改是持久的,例如: sudo firewall-cmd --zone=public --add-port=8080