LINUX.ORG.RU
ФорумAdmin

Учет трафика-помогите плиц


0

0

Есть сетка, есть выделенка и один ип - на всех(внешний - инетовский) - с помощью маскеровки у всех есть инет - осталось тока трафик считать и не исходящий, а входящий(инет->сетка) на границе между сеткой и инетом стойт 1 сервер (linux redhat 6.2). Да и возможно ли ето с 1 сервером.

anonymous

man ipchains. Если не поймешь icq 97556656 - тока седня, а то я ночью в командировку валю

anonymous
()

Запускай в кронде этот скрипт, скажем, каждые 10 мин, предварительно прописав в ipchains /sbin/ipchains -A output -s ! 192.168.0.1 -d 192.168.0.2/32 -j ACCEPT /sbin/ipchains -A output -s ! 192.168.0.1 -d 192.168.0.3/32 -j ACCEPT /sbin/ipchains -A output -s ! 192.168.0.1 -d 192.168.0.4/32 -j ACCEPT /sbin/ipchains -A output -s ! 192.168.0.1 -d 192.168.0.5/32 -j ACCEPT ... и т.д. для каждой машины в локалке (поменяй айпишники, если другие). Если будут вопросы мыль на mobyte@pirit.kz

(Сразу говорю, оригинал скомуниздил с инета, переделал под себя.)

#!/usr/bin/perl $d = `date +%D`; $d =~ s/\n//g; $t = `date +%T`; $t =~ s/\n//g; $m = `date +%b`; $m =~ s/\n//g; $y = `date +%Y`; $y =~ s/\n//g;

$accfile = "count-$Dt[1]"; @ipchains = `cat /proc/net/ip_fwchains | grep output`; $sm = `/sbin/ipchains -Z`; open(STDOUT,">> /home/billing/$m.$y.log");

foreach (@ipchains) { s/\t/ /g; next unless (/.*->.*/); ($addr, $size) = (split)[1,9]; $addr = substr($addr, 19, 8 ); $addr =~ s/(.{2})(.{2})(.{2})(.{2})/pack("c4",hex($1),hex($2),hex($3),hex($4))/ e; $name = gethostbyaddr($addr, AF_INET);

print <STDOUT>,"$d\t$t\t$name\t$size\n"; }

close STDOUT;

MOByte
()

Зачем такие извращения скачай что-нить типа SARG и все. Натрави ее на логи squid и нема проблем. Входящий трафик готов и в наиболее удобочитаемом виде :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.