Traffic statistieken van aliased interfaces?

Pagina: 1
Acties:

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

Topicstarter
Hello,

Ik zoek nu al een tijdje naar een manier om aan (dataverkeer) statistieken te komen van mijn aliased netwerk interfaces, eth0:0, eth0:1 etc.

Via SNMP kan het niet omdat snmp de hardware queried en dus alleen een eth0 ziet.

Het schijnt via iptables te kunnen, maar op de netfilter site kan ik er niets over vinden, niet in de FAQs en niet in de HOWTO's.

Iemand een idee/link/gedachte?

  • Mior
  • Registratie: Maart 2000
  • Laatst online: 14:03
Dit kan inderdaad met iptables. Ik heb het al een tijdje draaien hier, en het werkt prima.

Wat je eigenlijk moet doen is een input en output chain aanmaken voor elk ip adres. Deze kun je dan via een scriptje door mrtg laten uitlezen.

Chain aanmaken:
code:
1
2
$IPTABLES -A INPUT -i eth0 -d 212.61.71.210 -j STATS-210-IN
$IPTABLES -A OUTPUT -s 212.61.71.210 -j STATS-210-OUT



Scriptje om via mrtg uit te lezen (iptables-accounting ):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl -w
use strict;

my $iptables = "/usr/local/sbin/iptables";
my $uptime = "/usr/bin/uptime";
my $host = "kwhost02.kenniswijk.net";

my $target = shift;
my @chain;
my $junk;

push (@chain, "STATS-$target-IN");
push (@chain, "STATS-$target-OUT");

foreach (@chain) {
  $junk = `$iptables -nvxL | grep $_ | grep -v Chain`;
  $junk =~ s/^\s*\d+\s+(\d+).*$/$1\n/s;
  print $junk;
}

($junk = `$uptime`) =~ s/^.*up (.*,[\d: ]+),.*$/$1/s;
print "$junk\n$host\n";



En aanroepen via mrtg (of elk ander monitor proggie):
code:
1
Target[210]: `/www/kenniswijk.net.kwhost02.mrtg/iptables-accounting 210`


(sorry voor de layout)