iptables 命令有許多參數,用于指定規則的行為和特性。以下是一些常用的參數:
-
-t, --table
<表名>: 指定要操作的表,默認是filter表。 -
-A, --append
<鏈名>: 在指定鏈的末尾添加一條規則。 -
-D, --delete
<鏈名>: 刪除指定鏈中的一條規則。 -
-I, --insert
<鏈名><規則編號>: 在指定鏈的指定位置插入一條規則。 -
-R, --replace
<鏈名><規則編號>: 替換指定鏈中的指定規則編號的規則。 -
-L, --list
[<鏈名>]: 列出指定鏈的規則,如果不指定鏈名,則列出所有鏈的規則。 -
-F, --flush
[<鏈名>]: 清空指定鏈的規則,如果不指定鏈名,則清空所有鏈的規則。 -
-Z, --zero
[<鏈名>]: 將指定鏈的規則的計數器清零,如果不指定鏈名,則清零所有鏈的計數器。 -
-N, --new-chain
<鏈名>: 創建一個新的鏈。 -
-X, --delete-chain
[<鏈名>]: 刪除指定的鏈。 -
-P, --policy
<鏈名><策略>: 設置指定鏈的默認策略。 -
-s, --source
<地址>: 指定源地址。 -
-d, --destination
<地址>: 指定目的地址。 -
-i, --in-interface
<接口名>: 指定進入的網絡接口。 -
-o, --out-interface
<接口名>: 指定出去的網絡接口。 -
-p, --protocol
<協議>: 指定協議類型,如tcp、udp、icmp等。 -
--dport
<端口>: 指定目的端口。 -
--sport
<端口>: 指定源端口。 -
-j, --jump
<目標>: 指定規則匹配時執行的動作,如ACCEPT、DROP、REJECT、LOG等。 -
-m, --match
<模塊名>: 指定匹配模塊,如tcp、udp、state等。 -
!, --invert: 反轉匹配條件。
-
-v, --verbose: 顯示詳細信息。
-
--line-numbers: 顯示規則的行號。
-
--exact: 精確匹配。
-
--to-destination
<地址>: 指定目的地址的跳轉規則。 -
--to-source
<地址>: 指定源地址的跳轉規則。 -
--tcp-flags
<標志><掩碼>: 匹配 TCP 標志。
這些參數可以組合使用,以創建復雜的規則。例如,創建一條規則來拒絕從特定 IP 地址到特定端口的所有 TCP 連接,可以使用以下命令:
iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j DROP
這將在 INPUT 鏈中添加一條規則,拒絕來自 192.168.1.100 的所有到端口 22 的 TCP 連接。