我需要通过 srcip 拒绝第一个传入的 UDP 数据包

我需要通过 srcip 拒绝第一个传入的 UDP 数据包

我目前正受到欺骗性 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 秒内发送了数据包,则该数据包将被接受,否则将其丢弃。

相关内容