Como mencionado. Provavelmente, "recente" é sua melhor aposta. Ajuste conforme necessário:
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
Isso cria uma nova tabela "SPOOF" e envia os pacotes UDP de entrada correspondentes correspondentes a ela. Se esse host enviou um pacote nos últimos 30 segundos, ele será aceito, caso contrário, deixe-o cair.