我目前正受到欺骗性 UDP 数据包的攻击。每个欺骗性 IP 都试图在 30 秒内仅发送 1 个 UDP 数据包。但是有大量 IP。
我需要丢弃第一个数据包。但如果同一源在 30 秒内发送另一个数据包,我想接受它。
-A INPUT -d <myip> -p udp --dport <myport> -m hashlimit --hashlimit-upto 1/min --hashlimit-mode srcip --hashlimit-name mmmm -j DROP
尝试过这个但是没有帮助..
答案1
如上所述。可能“最近”是您的最佳选择。根据需要进行调整:
iptables -N SPOOF
iptables -A SPOOF -m recent --rcheck --seconds 30 -j ACCEPT
iptables -A SPOOF -m recent --set -j DROP
iptables -A INPUT -p udp --dport <myport> -j SPOOF
这将创建一个新的表“SPOOF”,并向其发送匹配的传入 UDP 数据包。如果该主机在过去 30 秒内发送了数据包,则该数据包将被接受,否则将其丢弃。