* Flush connection tracking
@ 2005-01-17 15:39 Mpourtounis Dimitris
2005-01-18 2:08 ` Jose Maria Lopez
0 siblings, 1 reply; 2+ messages in thread
From: Mpourtounis Dimitris @ 2005-01-17 15:39 UTC (permalink / raw)
To: netfilter
Hi All,
Is there a way i can flush(delete) all my ip_conntrack connections ?
I need to do it without having to rmmod,insmod any modules (static
compiled into kernel 2.4.26)
Thanks,
DB
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Flush connection tracking
2005-01-17 15:39 Flush connection tracking Mpourtounis Dimitris
@ 2005-01-18 2:08 ` Jose Maria Lopez
0 siblings, 0 replies; 2+ messages in thread
From: Jose Maria Lopez @ 2005-01-18 2:08 UTC (permalink / raw)
To: netfilter@lists.netfilter.org
El lun, 17 de 01 de 2005 a las 16:39, Mpourtounis Dimitris escribió:
> Hi All,
>
> Is there a way i can flush(delete) all my ip_conntrack connections ?
> I need to do it without having to rmmod,insmod any modules (static
> compiled into kernel 2.4.26)
>
> Thanks,
> DB
We have a script for doing this (closing all the connections and
clearing the conntrack entries) in our GPL bastion-firewall. Sorry
the comments are yet only in Spanish. The file uses hping2 and is:
#!/bin/bash
#########################################################################
## bastion-firewall GPL (www.bgsec.com)
#
#########################################################################
## Este archivo es parte de la version GPL de bastion-firewall, un
#
## firewall completo basado en Netfilter e iptables y desarrollado por
#
## bgSEC (www.bgsec.com). La licencia de bastion-firewall se
#
## encuentra en el archivo: /etc/bastion-firewall/LICENCIA.txt
#
##
#
## bastion-firewall es copyright de Jose Maria Lopez Hernandez
#
## (jkerouac@bgsec.com) y bgSEC (www.bgsec.com)
#
#########################################################################
# Quitar todas las conexiones de la tabla de conntrack para una
# determinada IP o borrar la tabla completamente.
# Forma de usarlo: bsf_clearconntrack [-a] [IP]
# Comprobamos que se ha tecleado bien el comando
if [ "$#" != "1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
echo
echo " Ayuda de bsf_clearconntrack:"
echo " bsf_clearconntrack direccionip (xxx.xxx.xxx.xxx)"
echo " bsf_clearconntrack -a : Borra todas las entradas de la
tabla"
echo " bsf_clearconntrack [-h] [--help]: Muestra esta ayuda"
echo " Borrar todas la conexiones TCP de la tabla de conntrack para
una"
echo " direccion IP o borrar la tabla completamente. Se cortan las"
echo " sesiones mandando un RST."
echo " ES TOTALMENTE NORMAL QUE APAREZCAN ERRORES INDICANDO QUE SE
HA"
echo " TERMINADO hping2. SE LO EJECUTA Y LUEGO SE LO MATA PARA NO
TENER"
echo " QUE ESPERAR LAS RESPUESTAS A LOS RESET."
echo " SOLO SIRVE PARA TCP."
echo
echo " Licencia de bastion-firewall en
/etc/bastion-firewall/LICENCIA.txt"
echo
exit 1
fi
if [ "$MYTAIL" = "" ]; then
source /etc/bastion-firewall/firewall.conf
source /usr/lib/bastion-firewall/bsf/functions.bsf
fi
# Puede cambiar la ubicacion de estos
CONNTRACKFILE=/proc/net/ip_conntrack
HPING2=$(which hping2 2>/dev/null)
if [ "$HPING2" = "" ]; then
echo
echo " Error: Este programa necesita hping2 para funcionar"
echo
fi
RESETIP=$1
DIDIT=0
if [ "$RESETIP" = "-a" ]; then
$MYCAT $CONNTRACKFILE|$MYGREP -E "^tcp .{10,25}ESTABLISHED"| \
while read TMPCONN ; do
echo $TMPCONN
# Sacamos los datos de cada conexion
SRCIP=$(echo $TMPCONN|$MYCUT -d '=' -f 2|$MYCUT -d ' ' -f 1)
DSTIP=$(echo $TMPCONN|$MYCUT -d '=' -f 3|$MYCUT -d ' ' -f 1)
SRCPORT=$(echo $TMPCONN|$MYCUT -d '=' -f 4|$MYCUT -d ' ' -f 1)
DSTPORT=$(echo $TMPCONN|$MYCUT -d '=' -f 5|$MYCUT -d ' ' -f 1)
# Mandamos el reset a la IP de destino y al puerto de destino, como
si
# fueramos la conexion verdadera
echo hping2 $DSTIP -R -s $SRCPORT -p $DSTPORT -a $SRCIP -k -c 1 -n
hping2 $DSTIP -R -s $SRCPORT -p $DSTPORT -a $SRCIP -k -c 1 -n &
usleep 100000
killall -9 hping2
# Mandamos tambien el reset al lado contrario
echo hping2 $SRCIP -R -s $DSTPORT -p $SRCPORT -a $DSTIP -k -c 1 -n
hping2 $SRCIP -R -s $DSTPORT -p $SRCPORT -a $DSTIP -k -c 1 -n &
usleep 100000
killall -9 hping2
done
else
$MYCAT $CONNTRACKFILE|$MYGREP -E "^tcp .{10,25}ESTABLISHED
src=$RESETIP"| \
while read TMPCONN ; do
echo $TMPCONN
# Sacamos los datos de cada conexion
SRCIP=$(echo $TMPCONN|$MYCUT -d '=' -f 2|$MYCUT -d ' ' -f 1)
DSTIP=$(echo $TMPCONN|$MYCUT -d '=' -f 3|$MYCUT -d ' ' -f 1)
SRCPORT=$(echo $TMPCONN|$MYCUT -d '=' -f 4|$MYCUT -d ' ' -f 1)
DSTPORT=$(echo $TMPCONN|$MYCUT -d '=' -f 5|$MYCUT -d ' ' -f 1)
# Mandamos el reset a la IP de destino y al puerto de destino, como
si
# fueramos la conexion verdadera
echo hping2 $DSTIP -R -s $SRCPORT -p $DSTPORT -a $SRCIP -k -c 1 -n
hping2 $DSTIP -R -s $SRCPORT -p $DSTPORT -a $SRCIP -k -c 1 -n &
usleep 100000
killall -9 hping2
# Mandamos tambien el reset al lado contrario
echo hping2 $SRCIP -R -s $DSTPORT -p $SRCPORT -a $DSTIP -k -c 1 -n
hping2 $SRCIP -R -s $DSTPORT -p $SRCPORT -a $DSTIP -k -c 1 -n &
usleep 100000
killall -9 hping2
done
fi
# bsf_clearconntrack end
--
Jose Maria Lopez Hernandez
Director Tecnico de bgSEC
jkerouac@bgsec.com
bgSEC Seguridad y Consultoria de Sistemas Informaticos
http://www.bgsec.com
ESPAÑA
The only people for me are the mad ones -- the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn, burn
like fabulous yellow Roman candles.
-- Jack Kerouac, "On the Road"
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-01-18 2:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-17 15:39 Flush connection tracking Mpourtounis Dimitris
2005-01-18 2:08 ` Jose Maria Lopez
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.