Page 2 of 2

Posted: Sun Jul 11, 2004 1:31 am
by evan-
Ho lo stesso problema.
Stavo pensando di creare un semplice modulo di iptables che genera statistiche di traffico per ip.
Forse non è la soluzione ottimale per un ISP, ma per una box privata dovrebbe funzionare.

Posted: Sun Jul 11, 2004 2:53 pm
by federico
Io non penso di essere in grado di scrivere moduli per iptables...

Posted: Mon Jul 12, 2004 7:22 am
by xchris
visto che di python te ne intendi io lancerei in cron uno script python che ti fa le statistiche da ifconfig. (magari ogni ora e ti calcola l'utilizzo per ogni ora,giorno,mese,..)

Sicuramente e' meno completo delle altre soluzioni ma il suo sporco lavoro lo fa.


ciao

Posted: Mon Jul 12, 2004 2:17 pm
by federico
Il problema e' che ifconfig non e' affidabile...
Non ho mai capito per quale motivo ma perde il conto dei pacchetti...
Trasferisco ad esempio su alcune macchine anche un giga di traffico al giorno (almeno un giga) e dopo 100 giorni che sono accese per dire ifconfig mi fa un totale di 2 giga...

Code: Select all

server2 root # ifconfig eth0
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:x.xx.xxx.xx  Bcast:x.xx.xxx.255  Mask:255.255.255.0
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:414101289 errors:0 dropped:0 overruns:0 frame:0
          TX packets:419096462 errors:0 dropped:0 overruns:0 carrier:0
          collisions:5996181 txqueuelen:100 
          RX bytes:2180299228 (2079.2 Mb)  TX bytes:4237307915 (4041.0 Mb)
          Interrupt:12 Base address:0x5000 

server2 root # uptime
 17:36:13 up 162 days, 20:51,  1 user,  load average: 0.06, 0.02, 0.00
server2 root # 
Mi pare abbastanza improbabile...

Posted: Mon Jul 12, 2004 2:23 pm
by xchris
e non sono mai andate giu' le interfaccie? Strano!

cmq facendo il parziale ogni ora risolveresti cmq.

ciao

Posted: Mon Jul 12, 2004 2:25 pm
by federico
Come strano...
No che non sono mai andate giu' !
Qui a Sideralis le cose se non funzionano le buttiamo dalla finestra :)

Ad ogni modo ognuno di voi puo' fare la prova, trasferite un po' di giga anche via lan e noterete che ifconfig non tiene il conto correttamente...

Posted: Mon Jul 12, 2004 2:29 pm
by xchris
federico wrote:Come strano...
No che non sono mai andate giu' !
Qui a Sideralis le cose se non funzionano le buttiamo dalla finestra :.
ma LOL

strano che resetti il counter :lol:

ci faro' caso.
ciao

Posted: Sat Jul 17, 2004 1:00 pm
by BlueRaven
FonderiaDigitale wrote:per amministrare quella macchina in remoto (patch, upgrade, logwatching, e tutto quanto) e farlo senza essere sniffato in mezzo.
Per questo basta e avanza un SSH configurato a dovere. ;-)
Infatti mi son spiegato male. ti confermo che smpd non supporta le aliased interfaces, ma puoi distinguere tranquillamente per ip. infatti, per gli snmpd tutti gli ip di ogni interfaccia alias appartiene alla sua interfaccia fisica reale.
Pare a me o quanto sopra è una contraddizione? 8O
non credo proprio che sia un piu, anche xche vorrai sapere se i tuoi demoni hanno problemi o qualsiasi altra info di un sistema che si occupa di fornire i dati per creare le tariffazioni ai clienti :)
Aspe, forse non ci siamo capiti: io NON devo fare billing, devo semplicemente riuscire a capire quanto traffico passa e di che tipo.
semplicemente tramite ssh nel tunnel criptato con openvpn: ecco a cosa serve.
ci sono molti modi per farlo: un netcat in ascolto sull'ip della vpn, che quando viene invocato restituisce l'output delle catene e esce. ma e' solo un esempio.
OK, questo adesso è chiaro. :-)
Mi sembra ancora troppo per quel che devo fare io, comunque gli spunti sono molto interessanti, grazie.

Posted: Mon Jul 19, 2004 11:05 am
by evan-
Penso di aver trovato una soluzione abbastanza semplice:

Creo una regola di Accounting con iptables:

Code: Select all

iptables -N Accounting
iptables -A Accounting -s 192.168.1.1 -d 192.168.1.2 -p tcp
iptables -A Accounting -s 192.168.1.1 -d 192.168.1.2 -p udp
iptables -A Accounting -s 192.168.1.1 -d 192.168.1.2 -p icmp
iptables -A OUTPUT -j Accounting
Poi con perl parso l'output:

Code: Select all

#!/usr/bin/perl

use strict;

while (1 != 0) {
    qx (iptables -L -Z Accounting -vxn);
    sleep (5);
    my $tmp = qx (iptables -L -Z Accounting -vxn);
    $tmp =~ /.*(\d{1,6})\s+(\d{1,6}).+tcp.*\s+(\d{1,6})\s+(\d{1,6}).+udp.*\s+(\d{1,6})\s+(\d{1,6}).+icmp/;
    print "\nStatistiche per 5 secondi\nTCP: PKTS: ".$1." - BYTES: ".$2."\n";
    print "UDP: PKTS: ".$3." - BYTES: ".$4."\n";
    print "ICMP: PKTS: ".$5." - BYTES: ".$6."\n";
}
In questo modo dovrebbe essere possibile utilizzare i dati in mrtg.
Non so quanto possa esservi utile, ma io in questo modo ho risolto il mio problema
:wink: