Linux limita conexões em uma porta específica

Linux limita conexões em uma porta específica

Eu estou seguindolimites de conexão iptablespara limitar a quantidade de conexões que o servidor pode obter na porta 80. Por exemplo, tentei:

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

Isso parece limitar as conexões por IP. Existe alguma maneira de usar IPTables ou talvez sysctl para limitar a quantidade de conexão globalmente. O que significa que se o host A bloquear todas as 10 sessões disponíveis, nenhum outro host conseguirá se conectar?

Responder1

Você pode modificar sua regra adicionando a opção --connlimit-mask 0. Isso efetivamente permite limitar conexões globalmente e todos os IPs serão tratados sem qualquer distinção.

Pelo contrário, o valor padrão 32para IPv4 significa corresponder a cada IP sozinho.

Conforme sugerido por @JayMcTee, você pode usar uma solução em nível de servidor web para limitar o limite de conexões. Por exemplo, você pode olhar a MaxClientsopção paraapache.

informação relacionada