[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: HTB [OT]



> sory za OT
(Nie ma sprawy, i tak nie wiem co to jest :P)

Jasne, że mógłbym się podzielić... sporo pracy w to włożyłem... i myślę, że
sam nie będę korzystał...
To co widzicie to kompedium z różnych stron i grup dyskusyjnych + mój wkład
pracy i kilka niezłych pomysłów.

Samym obliczeniem wartości zajmuje się php. Skrypt pobiera sobie dane z
plików które leżą sobie na dysku i formatuje.

Wygląda to tak, że MRTG odpala skrypt, który zlicza dane. Posyła transfer do
MRTG i przy okazji robi zrzut liczników.
Zrobiłem to na bazie 4 plików. Można zrobić po jednym pliku na usera, ale
dopracowywać skrypty będę, jak pozostałe usługi będa bez zarzutu... Jest
plik .i z licznikiem input, .o z licznikiem output i .ti, .to z aktualną
wartością licznika.
Gdy wartość pobrana z łańcucha iptables jest < .ti lub .to (restart firewala
lub serwera) - to pliki .ti, .to sa zerowane. Wartość pobrana dodawana jest
do plików .i, .o i zapisywana w .ti, .to
Gdy jest większa lub równa to obliczana jest różnica między .i i .ti ,oraz
.o i .to i dodawane do .i i .o, .ti, .to zostają zaktualizowane.

Wrzucam skrypt na listę, każdy może sobie to przeanalizować.
Jeśli ktoś chce go wykorzystac byłbym wdzięczny za kontakt :P (stopień
przydatności do spożycia mnie interesuje...ewentualnie jakieś poprawki...)

Resztę skryptów jak chcecie to na priv. W przyszłości jak uporządkuje
bałagan to zamieszcze na stronce gotowca.

Trzeba utworzyć za pomocą iptables łańcuch o nazwe stats i wysłać na niego
ruch z INPUT, OUTPUT i FORWARD. Następnie dorzucić regułki RETURN dla
każdego kompa.

#!/bin/bash
/sbin/iptables -N stats
/sbin/iptables -A stats -i eth1 -d ! 192.168.0.0/255.255.255.0 -j RETURN
/sbin/iptables -A stats -o eth1 -s ! 192.168.0.0/255.255.255.0 -j RETURN

for ipeki in `/etc/Router/siec.cfg` #tu jest pętelka, ale można ręcznie
wpisać wszystkie regułki :P
do
/sbin/iptables -A stats -d $ipeki -j RETURN
/sbin/iptables -A stats -s $ipeki -j RETURN
done

/sbin/iptables -I FORWARD -j stats
/sbin/iptables -I INPUT -j stats
/sbin/iptables -I OUTPUT -j stats

Sposób użycia dla serwera: <ścieżka do skryptu>/traffic eth1 #<interfejs na
świat - ppp0 lub eth1>
Sposób użycia dla userów: <ścieżka do skryptu>/traffic 192.168.0.2 #<po
prostu IP>

--
Lenthir

Attachment: traffic
Description: Binary data


Reply to: