Digamos que temos um ipset chamado MYTESTSET
e que esse ipset é do tipo hash:ip
. Ele irá armazenar apenas endereços IP.
Em seguida, combine com o seu IPset e após a correspondência com a extensão de correspondência connlimit
, com os parâmetros desejados.
iptables -A INPUT -p tcp
-m set --match-set MYTESTSET src
-m connlimit --connlimit-above 1 --connlimit-saddr --connlimit-mask 32
-j DROP
Isso fará o seguinte: para cada fonte dentro do conjunto IP, as conexões serão contadas e se houver mais de uma (--connlimit-above 1), ela será descartada, limitando assim o número de conexões por origem no ipset para 1. (Também é possível fazer a correspondência de outra forma, usando --connlimit-upto xxx
e -j ACCEPT
em vez de DROP
)
Se você quiser considerar todo o conjunto e permitir 1 conexão para todas as fontes no ipset , defina a opção --connlimit-mask
como 0.