O seguinte irá detectar os IPs e depois soltá-los por mais de um dia.
# Dynamic Badguy List. Detect and DROP Bad IPs that try to access port 20000.
# Once they are on the BADGUY list then DROP all packets from them.
iptables -A INPUT -i eth0 -m recent --update --hitcount 5 --seconds 90000 --name BADGUY -j LOG --log-prefix "Port 20000 BAD:" --log-level info
iptables -A INPUT -i eth0 -m recent --update --hitcount 5 --seconds 90000 --name BADGUY -j DROP
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 20000 -m recent --set --name BADGUY -j ACCEPT
Substitua eth0
pelo seu nome de interface real.
Coloque essas regras depois da regra de by-pass ESTABELECIDA e RELACIONADA. Um exemplo típico:
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT