¿Cómo combinar connlimit con conjuntos de IP?

¿Cómo combinar connlimit con conjuntos de IP?

connlimitme permite limitar el número de conexiones por cliente/servicio. ¿Cómo podría combinar dicha regla con los conjuntos de IP disponibles en versiones más recientes del kernel de Linux y netfilter?

Respuesta1

Digamos que tenemos un ipset llamado MYTESTSETy que este ipset es de tipo hash:ip. Almacenará solo direcciones IP.

Luego compare con su IPset y luego compare contra connlimitla extensión de coincidencia, con los parámetros que desee.

iptables -A INPUT -p tcp -m set --match-set MYTESTSET src -m connlimit --connlimit-above 1 --connlimit-saddr --connlimit-mask 32 -j DROP

Esto hará lo siguiente: para cada fuente dentro del conjunto de IP, se contarán las conexiones y si hay más de una (--connlimit-above 1), se eliminará, limitando así el número de conexiones.por fuente en el ipseta 1. (También puedes hacer coincidir al revés, usando --connlimit-upto xxxy -j ACCEPTen lugar de DROP)

Si desea considerar el conjunto completo y permitir 1 conexiónpara todas las fuentes en el ipsetluego coloque el --connlimit-maskinterruptor en 0.

información relacionada