W dniu 28.03.2013 12:41, JOYNET napisał(a):
>>> W dniu 28.03.2013 11:55, JOYNET napisał(a):
>>>>> W dniu 2010.04.15 11:59, A.L.E.C pisze:
>>>>> Akurat w module traffic masz opcję begin_command, w niej ustawiasz
>>>>> komendę generującą plik. Do da ci pewnośc, że plik zostanie
>>>>> wygenerowany
>>>>> tuż przed jego wczytaniem.
>>>
>>>> Faktycznie, zasugerowałem się wpisem: "Więcej informacji (w tym jak
>>>> utworzyć taki plik) można znaleźć w rozdziale dotyczącym
>>>> lms-traffic." i
>>>> od razu tam przeskoczyłem. Dzięki.
>>>
>>>> Zrobiłem taki mały skrypt, który zapisuje do pliku dane dla potrzeb
>>>> statystyk. Mile widziane sugestie jeżeli da się to zrobić prościej.
>>>
>>>> ####
>>>> #!/bin/bash
>>>
>>>> #zerujemy plik
>>>> cp /dev/null traffic.log
>>>
>>>> #pobieramy adresy, ktore nas interesuja
>>>> for i in `cat /etc/internet/adresyip | cut -d'#' -f1`
>>>> do
>>>> IPADDR=`echo $i | cut -d';' -f1`
>>>
>>>> #pobieramy dane z ipt dla konkretnego ip i wrzucamy do pliku
>>>> cat /proc/net/ipt_account/all | grep -w "$IPADDR" | awk '{printf
>>>> ("%s
>>>> %.0f %.0f\n",$3,$6/1024,$12/1024);}' >> traffic.log
>>>
>>>> done
>>>
>>>> #zerujemy liczniki
>>> echo "reset" >> /proc/net/ipt_account/all
>>>> ####
>>>
>>>
>>>
>>>
>>> probuje sobie odpalic statystyki wg powyzszego
>>> schematu
>>> ale mam problem:
>>>
>>> iptables -A statistics -m account --aaddr
>>> 192.168.0.0/24 --aname ppp6 --ashort
>>> iptables: Invalid argument. Run `dmesg' for more
>>> information.
>>>
>>> w sysglogu:
>>>
>>> kernel: ip_tables: account.0 match: invalid size 88
>>> (kernel) != (user) 84
>>>
>>>
>>> coz to moze byc?:>
>
>> Niezgodność między wersją ipt_account w jądrze i iptaccount w
>> przestrzeni użytkownika
>> (czyli module iptables).
>
>
> dziekuje Tomku za wyczerpujaca odpowiedz, podejrzewam ze chodzi o
> niezgodnosc bitowa? da sie to jakos ugryzc czy instalowac system i386?
Nie to nie chodzi o architekturę sprzętową. To jest niezgodność między
wersją
ipt_account używaną przez jądro, a wersję ipt_account używaną jako
moduł iptables.
Trzeba mieć zainstalowane ipt_account w jądrze i iptables z tego samego
źródła.
Możliwe, że problem wynika użycia jakiegoś "chrzczonego" debiana w
którym ktoś
przypadkowo dorzucił łatkę iptaccount.
Sugeruję użycie xt_ACCOUNT zamiast ipt_account. Jest na bieżąco
wspierane i
nie ma z nim problemów z wydajnością odczytu liczników jak w
ipt_account.
Poza tym sensowne może być instalowanie tego typu rozszerzeń netfiltra
poprzez
pakiet xtables-addons.
--
Pozdrawiam
Tomasz Chiliński, Chilan