Namereni prenesenych dat

Tomáš Vondra vondra na tesmail.cz
Úterý Březen 26 03:18:22 CET 2002


Ahoj,

ZH> lze prosim nejakym jednoduchym zpusobem pocitat objem vsech prenesenych dat (tam i
ZH> ven) na RH 7.1 - stroj funguje jako brana, na stroji bezi maskarada a
ZH> ipchains. Nechci pres proxy, potrebuji vsechny sluzby.

Jistěže to jde, a to velice jednoduše. Je na to (mezi jinými) balík
ipac (resp. pro jádra 2.4.x modifikace ipac-ng). V jádře je potřeba
mít zakompilovaný nějaký věci (jako třeba IP Accounting) a iptables
(umí to i ipchains). Viz README. Není to vázaný na žádnou konkrétní
službu, je to dělaný přímo přes jádro.

Určitě máte na RH 7.1 ipchains? Proč? (Tím nechci říct že to je
nesmysl, ale zajímalo by mne co to má za důvod.)

Princip - do iptables se natáhnou pravidla (automaticky po spuštění
programu) a počítá se kolik paketů jim odpovídalo. Použití je
jednoduchý - jednou za čas (dejme tomu 15 minut) se zavolá jeden
program (fetchipac), kterej ty výsledky uloží do databáze. Umí to
obyčejný textový soubory, databázový soubory gdbm a Postgres (přes ten
to dělám já). Pomocí druhýho programu (ipacsum) se potom ta data
zobrazují.

Problémem by mohlo bejt, kdybyste chtěl měřit data pro jednotlivý
klienty na síti. Nevím kdy přesně se maškaráda v procesu zpracování
paketu aplikuje, ale já mám na servříku udělaný SNAT a to je trochu
problém. IPAC se k paketu dostane teprve až v INPUT/OUTPUT/FORWARD,
čili už se to k němu dostane s novou zdrojovou IP adresou (SNAT je v
POSTROUTING, čili před INPUT/OUTPUT/FORWARD). Čili nemám jak získat
skutečnou zdrojovou IP adresu.

Přitom ty ukládaný výsledky se nepřepisujou, a je tedy možný zpětně
vybírat období. (Jednou za čas lze pochopitelně ty výsledky "zhustit",
třeba každej měsíc se zdrcnou výsledky o měsíc před, tj. v březnu se
zdrcou výsledky za leden, atd.)

Konfigurace je docela jednoduchá, pokud jde o základy. I když jsem to
asi před třemi dny viděl vůbec poprvé, nakonfiguroval jsem si základní
věci v podstatě napoprvé. Více viz README a konfigurační soubor.

Mimochodem - umí si to konfiguraci tahat i z Postgresu. Existuje CGI
rozhraní (v Perlu) pro web, ve kterým se prý dají ta pravidla nějak
jednoduše nastavit, a při startu se potom načítají přímo z databáze.
Ale je potřeba mít tak ten ipac-ng zkompilovanej. To "prý" jsem použil
protože se mi to nepodařilo rozběhat (je potřeba nakonfigurovat
webserver a práva, a to se mi nevedlo, a protože jsem to až tolik
nepotřeboval, tak jsem se na to vybodnul).

ZH> Predem diky moc za vsechny reakce.
Není zač

Zdraví Tomáš

PS: Kdybyste trochu kledal v archívu téhle konference
http://www.linux.cz/lists/archive/linux/
tak byste na tohle téma našel odhadem 50 až 100 příspěvků. Ostatně
zítra očekávám několik příspěvků které vám budou akorát vyčítat totéž.



Další informace o konferenci Linux