Comment limiter le nombre de stream TCP ouverts de la même IP à un port local?

Je voudrais limiter le nombre de stream TCP simultanés ouverts de la même IP au port (local) du server. Disons 4 connections simultanées.

Comment cela peut-il être fait avec les tables IP?

La chose la plus proche, que j'ai trouvé, était: dans Apache, existe-t-il un moyen de limiter le nombre de nouvelles connections par seconde / heure par jour?

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 86400 --hitcount 100 -j REJECT 

Mais cette limitation mesure le nombre de nouvelles connections au fil du time. Cela pourrait être bon pour contrôler le trafic HTTP. Mais ce n'est pas une bonne solution pour moi, car mes stream TCP ont habituellement une durée de vie entre 5 minutes et 2 heures .

Merci beaucoup d'avance pour toute réponse 🙂

il suffit de vérifier connlimit dans l'iptables man: http://unixhelp.ed.ac.uk/CGI/man-cgi?iptables+8

 # allow 2 telnet connections per client host iptables -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT 

L'avantage sur iplimit est que vous n'avez pas à installer quelque chose. ça va sortir de la boîte …

On dirait que vous pouvez le faire avec l' extension iplimit iptables . Quelque chose comme ça:

 iptables -A INPUT -p tcp --syn --dport http -m iplimit --iplimit-above 4 -j REJECT