Depois de muito teste, descobri que ter uma política de descarte padrão não é suficiente,
*filter
-F
-X
:INPUT DROP [0:0]
É muito importante não assumir que isso seria seguido. A regra connlimit
só funcionaria se você explicitamente adicionar uma regra de eliminação no final da cadeia:
-A INPUT -j DROP
Funciona agora mesmo com uma concorrência menor que o limite especificado:
$ ab -kc 7 -t 6 http://mysite.com/
This is ApacheBench, Version 2.3 <$Revision: 1554214 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking mysite.com (be patient)
apr_pollset_poll: The timeout specified has expired (70007)
O importante é testar. Não tenho certeza se você classificaria isso como um bug.