ďťż
 
 
   Iptables, Snmp i transfer/ruch z poszczególnych komputerów
 
 

Tematy

 
    
 

 

 

 

Iptables, Snmp i transfer/ruch z poszczególnych komputerów





Luc3k - 12-03-2010 11:41
Utknąłem, liczę na Waszą pomoc. Konfiguruję sobie mrtg i nie mam pomysłu jaki skrypt napisać, żeby wyświetlił mi w konsoli aktualny transfer (z jaką prędkością, lub jaki ruch generuje komputer np. na adresie 10.0.0.213)
Dotychczas używałem takiego skryptu, ale to była inna dystrybucja:
#!/bin/bash
iptables -L mrtg_traffic -v -x -n | grep " $1 " | head -1 | awk '{print $2}'
iptables -L mrtg_traffic -v -x -n | grep " $1 " | tail -1 | awk '{print $2}' po uruchomieniu skryptu ładnie zwracał mi takie wartości:
[root@Lan14 bin]# ./ip 192.168.14.105
196552436
19006866 Niestety w Debianie nie ma żadnej wartości "mrtg_traffic". Jak inaczej można taką wartość wyciągnąć z systemu?

PS. Mam zainstalowane SNMP.



MadCow - 12-03-2010 21:43
Hej,
W dużym skrócie, mrtg_traffic to tablica iptables, przez która przechodziły pakiety w celu ich zliczania, domyślnie takich tablic w iptables nie ma.
Najprościej to poszukaj skryptów ze starej dystrybucji, które generowały iptables (pewnie potrzebny jakiś plik z użytkownikami/ adresami IP).

Po chwili z Google znalazłem: #!/bin/bash

. /etc/rc.conf

. /etc/rc.d/functions

PID="`pidof -o %PPID -x mrtg.run mrtg`"

mrtg_stop() {

        stat_busy "Stopping MRTG"

        for i in `cat /etc/mrtg/ipki.txt`; do

                iptables -D mrtg_traffic -d $i -j RETURN 2>/dev/null

                iptables -D mrtg_traffic -s $i -j RETURN 2>/dev/null

        done

        iptables -D FORWARD -j mrtg_traffic 2>/dev/null

#----------------------------------------------------------------------------------

        iptables -D INPUT -j mrtg_traffic 2>/dev/null

        iptables -D OUTPUT -j mrtg_traffic 2>/dev/null

#----------------------------------------------------------------------------------

        iptables -F mrtg_traffic 2>/dev/null

        iptables -X mrtg_traffic 2>/dev/null

        [ ! -z "$PID" ]  && kill -9 $PID 2>/dev/null

        if [ $? -gt 0 ]; then

                stat_fail

        else

                rm_daemon mrtg

                stat_done

        fi

}

mrtg_start() {

        stat_busy "Starting MRTG"

        if [ ! -z "$PID" ]; then

                stat_fail

        else

                add_daemon mrtg

                #Na wszelki wypadek...

                for i in `cat /etc/mrtg/ipki.txt`; do

                        iptables -D mrtg_traffic -d $i -j RETURN 2>/dev/null

                        iptables -D mrtg_traffic -s $i -j RETURN 2>/dev/null

                done

                iptables -D FORWARD -j mrtg_traffic 2>/dev/null

#----------------------------------------------------------------------------------

                iptables -D INPUT -j mrtg_traffic 2>/dev/null

                iptables -D OUTPUT -j mrtg_traffic 2>/dev/null

#----------------------------------------------------------------------------------

                iptables -F mrtg_traffic 2>/dev/null

                iptables -X mrtg_traffic 2>/dev/null

                #Start

                iptables -N mrtg_traffic

                for i in `cat /etc/mrtg/ipki.txt`; do

                        iptables -A mrtg_traffic -d $i -j RETURN

                        iptables -A mrtg_traffic -s $i -j RETURN

                done

                iptables -I FORWARD -j mrtg_traffic

#----------------------------------------------------------------------------------

                iptables -I INPUT -j mrtg_traffic

                iptables -I OUTPUT -j mrtg_traffic

#----------------------------------------------------------------------------------

                /etc/mrtg/mrtg.run &

                stat_done

        fi

}

case "$1" in

        start)

                mrtg_start

                ;;

        stop)

                mrtg_stop

                ;;

        restart)

                mrtg_stop

                sleep 3

                mrtg_start

                ;;

        *)

                echo "Uzyj: $0 {start|stop|restart}"

                ;;

esac
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis