como limitar o número de fluxos TCP abertos do mesmo IP para uma porta local?

2

Eu gostaria de limitar o número de fluxos TCP abertos simultâneos do mesmo IP para a porta (local) do servidor. Digamos que 4 conexões simultâneas.

Como isso pode ser feito com tabelas ip?

a coisa mais próxima que encontrei foi: No Apache, existe uma maneira de limitar o número de novas conexões por segundo / hora / dia?

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

Mas essa limitação apenas mede o número de novas conexões ao longo do tempo. Isso pode ser bom para controlar o tráfego HTTP. Mas esta não é uma boa solução para mim, uma vez que meus fluxos TCP geralmente têm um tempo de vida entre 5 minutos e 2 horas .

muito obrigado antecipadamente por qualquer resposta:)

    
por JMW 13.03.2011 / 16:11

2 respostas

3

apenas encerre connlimit no homem do iptables: link

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

a vantagem sobre o iplimit é que você não precisa instalar algo. vai sair da caixa ...

    
por 13.03.2011 / 23:31
2

Parece que você pode fazer isso com a extensão iplimit iptables . Algo parecido com isto:

iptables -A INPUT -p tcp --syn --dport http -m iplimit --iplimit-above 4 -j REJECT
    
por 13.03.2011 / 19:43