> 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