iptables 命令構建器
產生用於設定 Linux netfilter 防火牆規則的 iptables 指令(新增、刪除、列出、設定策略)
開始使用 iptables
## 什麼是 iptables?
`iptables` 用於設定 Linux 核心中的 netfilter 防火牆。它會建立有序的規則清單(鏈),決定每個網路封包的處理方式——接受、丟棄、拒絕、記錄日誌,或將其傳回。這些規則存在於記憶體中,若要避免重啟後遺失,必須明確地將其儲存起來。
## 使用方式
1. **選擇動作**:`append` (`-A`)、`insert` (`-I`)、`delete` (`-D`)、`list` (`-L`)、`policy` (`-P`),或`flush` (`-F`)。 2. **選擇鏈**:`INPUT`、`OUTPUT`、`FORWARD`,或自訂的鏈。 3. **新增匹配條件**:協定 (`-p`)、目標連接埠 (`--dport`)、來源 (`-s`)。 4. **設定目標**:`-j ACCEPT|DROP|REJECT|LOG|RETURN`。 5. **複製並執行**——且在套用規則之前,**一定要保持一個正常的 SSH 連線開啟**。
⚠️ **警告**:若錯誤地套用 iptables 規則,可能會讓您無法透過 SSH 進入伺服器。請在另一個終端機上測試新規則,且除非您有控制台存取權,否則絕對不要以預設的 DROP 方針清除 INPUT 連結鏈。
常見動作、匹配項目與目標對象
### `-A` / `-I` / `-D` 追加、插入、刪除 `-A CHAIN` 會在規則串的末尾新增一條規則;`-I CHAIN [n]` 會在位置 n 處插入規則(預設為 1,優先級最高);`-D CHAIN` 會刪除一條規則。
### `-L` / `-F` / `-P` 列出、清除、策略 `-L` 會列出所有規則;`-F` 會清除一個規則串(或所有規則串);`-P CHAIN TARGET` 會設定當沒有規則符合條件時所使用的預設策略。
### `-p` 協定匹配 匹配 `tcp`、`udp` 或 `icmp`。在使用 `--dport` 之前是必須的。
### `--dport` 目的地連接埠 匹配傳送至特定連接埠的封包,例如 SSH 的 `--dport 22`。必須緊接在 `-p tcp` 或 `-p udp` 之後。
### `-s` 來源匹配 匹配來源的 IP 或 CIDR,例如 `-s 192.168.1.0/24`。
### `-j` 跳轉至目標 決定封包的處理方式:`ACCEPT`、`DROP`(靜默丟棄)、`REJECT`(以 ICMP 錯誤訊息丟棄)、`LOG`(記錄日誌並繼續處理),或 `RETURN`(停止處理該規則串)。
▶我要如何讓 iptables 規則在重啟後仍保持有效?
▶什麼是預設原則,為何它很重要?
▶我要如何為網路伺服器開放 80 通訊埠?
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。