Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: Dolorian в Dec 15, 2005, 21:36



Титла: netacct отчитане на трафик
Публикувано от: Dolorian в Dec 15, 2005, 21:36
Здравейте,
имам инсталиран на Slackware 10.2 netacct 0.75, който отчита трафика от БТК АДСЛ модем, генериран от различните юзери на LAN мрежата. Хоста се ползва като gateway, една карта за бтк модема, една за мрежата.

Проблемът ми е, че се отчита (записва се в базата данни) само общият трафик само от модема, т.е. само от адреси 192.168.1.0, 192.168.1.1.. , а не от IP-тата, които са аднати (в случая 10.0.3.1 - 10.0.3.254).

Тъй като съм дилетант и не мога да опиша с две думи, ще дам какви са ми настройките:

в rc.local се изпълняват следните команди:

route.add default gw 192.168.1.1
echo "1" > /proc/sys/net/ipv4/ip_forward
/root/net.pl

Като файла net.pl е със следното съдържание:



#!/usr/bin/perl
$file="./file.user";
$iptables="/usr/sbin/iptables";
print `$iptables -F -t nat`;
print `$iptables -F adsl`;
print `$iptables -N adsl`;
print `$iptables -F FORWARD`;
print `$iptables -A FORWARD -s 10.0.3.0/24 -j adsl`;
print `$iptables -A FORWARD -d 10.0.3.0/24 -j adsl`;
print `$iptables -F masq`;
open(USER, "<$file") || &ErrorMessage;
@ip = <USER>;
close(USER);
print "NoTraffic users setup:\n";
foreach $ip (@ip) {
    chomp($ip);
    print `$iptables -A adsl -s $ip -j ACCEPT`;
    print `$iptables -A adsl -d $ip -j ACCEPT`;
    print `$iptables -t nat -A POSTROUTING -o eth1 -s $ip -j MASQUERADE`;
    print "$ip \tAdded\n";
};
print "Bqha dobaverni obshto ",$#ip+1," users\n";

sub ErrorMessage {
    print "File : nemoje da bade otvoren ili ne sa6testvuva";
};




Конфигурационният файл naccttab на netacct съдържа:

sniff 1         # 0 = not setting PROMISC mode
                # 1 = put interface in PROMISC mode

database mysql
mysql_user xxx
mysql_password xxx
mysql_host localhost
mysql_port 0
mysql_database netacct

pidfile  /var/run/nacctd.pid
                # set pid file
                # tis will help if you want to
                # two (or more) nacctd on same machine
compactnet 10.0.3.0 255.255.252.0
compactnet 10.0.2.0 255.255.252.0
compactnet 192.168.1.0 255.255.255.252
                # log traffic only for these networks
                # all other packets are NOT logged

ournet 10.0.3.0 255.255.252.0
ournet 10.0.2.0 255.255.252.0
ournet 192.168.1.0 255.255.255.252
                # Ours IP nets for diferenciation of
                # peering traffic types

#direct_peer 194.12.233.160 255.255.255.224
    # log traffic between 2 or more regional ISP-s
flush 300       # flush every 5 minutes..

fdelay 60   # this defines after how many seconds..

#notdev eth1    # Dont log entries for this device
                # Use this on routers that you dont
                # log forwarded packets twice.

device eth0
device eth1     # device to put into promiscous mode
                # you can specify as many as you want
                # and you don't have to specify one
                # (e.g. if this runs on your router)

# iflimit eth0  # on machines with multiple interfaces,
                # log only packets on this interface
                # mutually exclusive with hostlimit

# ignoremask 255.255.255.0
                # Ignore traffic on same class C net

ignorenet 127.0.0.0 255.0.0.0
                # ignore loopback net

debug 0                         # set debugging level
debugfile /tmp/nacctd.debug # where to put debugging info

# Device configuration
# Defines where the real data starts for each type of interface
# First give the name prefix, then the offset in bytes to the start
# of the real data, then the offset of the type field in bytes. If
# there is no type field, just give a 0.
# Don't specify SLIP or PPP devices here, otherwise association of
# dynamic ip-addresses with usernames won't work
# Put device types with more traffic last.

headers tr  40  38
headers lo  14  12
headers isdn    4   0
# headers isdn  14  0   # for hdlc/trans/cisco and hdlc/trans/raw
headers eth 14  12
headers plip    14  12

# hostlimit 12.34.56.78     # log only packets to/from this host
# hostlimit 34.56.78.12         # and this one too
                # this option is mutually exclusive with iflimit



Ако някой се е сблъсквал с подобен проблем и/или знае решението ще съм му много благодарен ако го сподели. Търсих и гледах дали няма подобни теми в този форум, даващи отговор на въпроса ми, но не открих.


Титла: netacct отчитане на трафик
Публикувано от: mrvoland в Dec 17, 2005, 09:39
ето ти цитат от FAQ
"Въпрос: Всичко работи но всичкия трафик се отчита като международен или
като пиъринг или въобще не се отчита?
Отговор: Амииии... ... ... все пак: ПРОЧЕТОХТЕ ЛИ ВНИМАТЕЛНО README и INSTALL
файловете!!!? Там са описани по-известните възможни варианти на мрежова
конфигурация и отчитане на трафик. Ако вашата конфигурация я няма в README
файла и не ви е ясно как точно да настроите naccttab попитаите във форума
на адрес: http://netacct-mysql.gabrovo.com/ или в краен случай (след като
сте изчерпали всички възможни варианта) можете да ме питате лично на
geroy@stemo.bg. Все пак имайте на идея че не разполагам с прекалено много
свободно време така че преди да попитате моля прочетете това-онова! "


http://netacct-mysql.gabrovo.com/

това ще ти помогне със сигурност


Титла: netacct отчитане на трафик
Публикувано от: Dolorian в Dec 17, 2005, 10:06
Прочетих и README и INSTALL добре, както и прерових половината нет преди да задам този въпрос тук. Не обичам неща наготово, но си мислех, че някой ще ми даде hint, защото просто не съм навътре в тази материя и отговора може да е пред очите ми и да не го виждам.


Титла: netacct отчитане на трафик
Публикувано от: mrvoland в Dec 19, 2005, 11:47
я драсни на geroy@stemo.bg може пък да ти каже какъв е проблема :)


Титла: netacct отчитане на трафик
Публикувано от: в Dec 20, 2005, 13:09
probvai s poslednata versia - 0.78 ne 0.75

p.s.
i kato pisha na latinica i kakvo? tova e forum za linux ne forum za nacionalistichesko mislene? не ми е проблем да пиша на кирилица просто не ме кефи .. и?