All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.