iptables
是 Linux 系統中用于配置內核防火墻(netfilter)規則的一個命令行工具。以下是一些常用的 iptables
命令行參數及其用法:
iptables [選項] [鏈] [規則匹配條件] [目標動作]
-A
:追加規則到鏈的末尾。-I
:在指定位置插入規則。-D
:刪除規則。-R
:替換規則。-L
:列出所有鏈的規則。-n
:以數字形式顯示地址和端口。-v
:詳細模式,顯示更多信息。-x
:精確計數,顯示精確的數據包和字節計數。-t
:指定表(如 filter
, nat
, mangle
, raw
)。INPUT
:處理進入本機的數據包。OUTPUT
:處理從本機發出的數據包。FORWARD
:處理經過本機轉發的數據包。PREROUTING
:目標地址轉換(DNAT)之前處理數據包。POSTROUTING
:源地址轉換(SNAT)之后處理數據包。-p
:指定協議(如 tcp
, udp
, icmp
)。--dport
:指定目標端口。--sport
:指定源端口。-i
:指定輸入接口。-o
:指定輸出接口。-s
:指定源IP地址。-d
:指定目標IP地址。-m
:指定匹配模塊(如 conntrack
, state
, limit
)。ACCEPT
:允許數據包通過。DROP
:丟棄數據包,不給出任何回應。REJECT
:拒絕數據包,并給出錯誤響應。LOG
:記錄數據包信息到系統日志。允許所有來自特定IP的SSH連接
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
阻止所有ICMP請求
iptables -A INPUT -p icmp -j DROP
限制每分鐘最多接收5個新的SSH連接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 5/min -j ACCEPT
刪除特定規則
iptables -D INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
列出所有INPUT鏈的規則
iptables -L INPUT -v -n
清空所有規則
iptables -F
iptables
規則可能會影響系統的網絡連接,請謹慎操作。iptables-save
和 iptables-restore
命令可以備份和恢復整個 iptables
規則集。希望這些信息對你有所幫助!如果有更多具體問題,歡迎繼續提問。