Limite de conexões máximas de entrada para uma porta usando iptables

3

Eu tenho um servidor que tem o apache escutando em várias portas. Algumas portas são usadas para configurar o servidor e outra é usada para baixar arquivos grandes.

Meu problema é que, quando tenho um grande número de clientes fazendo download de arquivos, a interface da Web é incontornável. Eu gostaria de limitar o número de clientes conectados na porta "arquivo grande" para que o apache sempre tenha conexões disponíveis para configurar o servidor. Uma REJECT está bem, o cliente tentando baixar o arquivo vai recuar e tentar mais tarde. Cada cliente só tem uma conexão aberta ao servidor por vez, portanto, limitar por IP não funcionará.

Eu sei que poderia colocar algo na frente do apache para gerenciar isso, mas eu realmente gostaria de fazer isso no iptables, sem adicionar mais software.

    
por Harley 20.03.2012 / 23:46

1 resposta

5

Você pode tentar --connlimit com a opção --connlimit-mask para definir uma máscara de 0.

iptables -A INPUT -p tcp --dport XXY -m connlimit --connlimit-above 5 --connlimit-mask 0 -j REJECT

Onde XXY é a porta para a qual você deseja limitar as conexões.

    
por 21.03.2012 / 00:32

Tags