Linux begrenzt Verbindungen auf einem bestimmten Port

Linux begrenzt Verbindungen auf einem bestimmten Port

Ich folgeiptables-Verbindungslimitsum die Anzahl der Verbindungen zu begrenzen, die der Server über Port 80 herstellen kann. Ich habe beispielsweise Folgendes versucht:

/sbin/iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT --reject-with tcp-reset

Dies scheint die Verbindungen pro IP zu begrenzen. Gibt es eine Möglichkeit, über IPTables oder vielleicht sysctl die Anzahl der Verbindungen global zu begrenzen? Bedeutet das, dass, wenn beispielsweise Host A alle 10 verfügbaren Sitzungen blockiert, kein anderer Host eine Verbindung herstellen kann?

Antwort1

Sie können Ihre Regel ändern, indem Sie die Option hinzufügen --connlimit-mask 0. Dadurch können Sie Verbindungen effektiv global beschränken und alle IPs werden ohne Unterscheidung behandelt.

Im Gegensatz dazu bedeutet der Standardwert 32für IPv4, dass jede einzelne IP einzeln abgeglichen wird.

Wie von @JayMcTee vorgeschlagen, können Sie eine Lösung auf Webserverebene verwenden, um das Verbindungslimit zu begrenzen. Sie können sich beispielsweise die MaxClientsOption für ansehenApache.

verwandte Informationen