Linux
如何使用 iptables 防止特定埠上的 Syn-flood?
我最近試圖在埠 2421 上的伺服器上防止 Syn-Flood,每秒只允許一個 TCP 連接,並且不應停止現有連接,所以我使用了以下腳本,但似乎沒有做到這一點,我的腳本有問題嗎?
#!/bin/bash iptables -F INPUT iptables -F FORWARD iptables -F OUTPUT iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -p tcp --dport 2421 --syn -m limit --limit 1/second --limit-burst 3 -j ACCEPT iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED -j ACCEPT
您的程式碼確實有效。問題出在其他地方。
您可以檢查您的規則是否完全符合
iptables -nvL INPUT
也許您不小心使用了 IPv6(如果使用的地址是
localhost
; 請改用 127.0.0.1)。或者除了
iptables
它的繼任者nftables
正在使用中。檢查與nft list ruleset