최근에 초당 하나의 TCP 연결만 허용하는 포트 2421의 서버에서 Syn-Flood를 방지하려고 시도 중이었고 기존 연결을 중지하면 안 되기 때문에 다음 스크립트를 사용했지만 트릭을 수행하지 않는 것 같습니다. . 내 스크립트에 문제가 있나요?
#!/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
답변1
귀하의 코드는 작동합니다. 문제는 다른 곳에 있습니다.
규칙이 전혀 영향을 받는지 확인할 수 있습니다.
iptables -nvL INPUT
실수로 IPv6를 사용했을 수도 있습니다(이 주소가 사용 중인 경우 localhost
대신 127.0.0.1을 사용하세요).
iptables
또는 후속 제품을 제외하고는 사용 중입니다 nftables
. 확인해보세요
nft list ruleset