connlimit

1. connlimit

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/08/2009 - 22:35h

boa noite
estou a duas semanas lutando com o connlimit.
o objetivo é limitar o numero de conexões por host, nas chains INPUT e FORWARD (filter)

estou usando um debian lenny
compilei um kernel 2.6.30.5
compilei um iptables 1.4.4
"lsmod" mostra que connlimt está carregado
"iptables -m connlimit -h" está retornanando a ajuda acerca do connlimit como esperado

o conjunto de regras usadas no teste é bastante simples, como mostrado abaixo, mas ainda assim não consigo faze-las funcionar corretamente.

se algum colega tiver uma idéia do que possa estar ocorrendo, por favor poste aqui.

#! /bin/bash

IPTABLES="/usr/local/sbin/iptables"

echo 0 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -N KILL

$IPTABLES -A INPUT -i lo -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport 22 --syn -m connlimit --connlimit-above 2 --connlimit-mask 24 -j REJECT

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -j KILL
$IPTABLES -A KILL -j ULOG --ulog-prefix "IPT_KILL "
$IPTABLES -A KILL -j DROP

exit 0
#EOF

grato.
Editar


  


2. Re: connlimit

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/08/2009 - 22:54h

De acordo com o manual:

--connlimit-above n --> compara se o n° d conexões existentes está (ou não) acima do limite "n"
--connlimit-mask n --> qual é a máscara do grupo de hosts

Será q a máscara está errada? E será q é necessário colocá-la msm? Veja no manual do iptables:

# permitir 2 conexões telnet por cliente

iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT

Tente colocando esse exemplo ae.


3. connlimit

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/08/2009 - 23:01h

grato pela resposta renato.
a máscara está correta e já tentei esta linha de comando.


4. Re: connlimit

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/08/2009 - 23:15h

Então tente colocar essa regra antes da regra do connlimit:

$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT


5. connlimit

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/08/2009 - 23:27h

grato novamente renato.
também já tentei ista linha de comando e muitas outras, incluindo testes com outras chais e outras tabelas. de fato não creio que o problema seja sintático, em minha opinião existe um bug em algum lugar.


6. Re: connlimit

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/08/2009 - 23:45h

Vc tentou colocar isso logo após à regra?

$IPTABLES -A INPUT -p tcp --dport 22 -j REJECT






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts