I have the impression that only sync packets are send and any packets sent back are ignored. Tarpit is not working then.
I drop in RAW so nothing enters the connection table.
Being able to add also in /24 ranges would really modernize dst-limit and when given a range any /32 are ignored so that 'normal' traffic is allowed trough. That can be examed in a other dst-limit line.
This way I don't have to manually create a address-list and the 40 bytes packet I now use have disavantages.
Update:I have made a line to generate a /24 address and with two lists I could make the final list.
local address1 1.2.3.4;local address2 ($address&255.255.255.0); :put ("$address2"."/24");
List one collects DDoS IP, list two contains the converted /24 addresses and list three contains the active DDoS. List two is most difficult and how to recognize /32 only.
Update:
if start-address <> address+i then if ($address+i in (($start-address&255.255.255.0)."/24") then add to list two
when added to list two then clear all addresses in list one matching (($start-address&255.255.255.0)."/24")
Now I have make a script to read the the address list, top-down, and clear list one when ready. And repeat that lets say every 60 seconds.
Any help is welcome.
Update: removing from list-1
/ip firewall address-list remove [find where list=list-1 && address in 1.2.3.0/24];
Counting the occurences of /24 in addresslist:
:local count 0; :foreach i in=[/ip firewall address-list find where list=list-1 address in 1.2.3.0/24] do={ :set count ($count + 1)}; :put $count;