Hálózat naplózása

Fórumok

Sziasztok!

A következő kérdésem lenne:
Adott egy hálózat, ahol mondjuk eth0 az internet, eth1 és eth2 a belső hálózat két külön /24 címtartománnyal és tun0, ami a vpn egy harmadik /24 -es tartományban ami másik telephely, de központi szerveren éri el a netet (külső előírás).

Keresnék olyan programot, ami háttérben futva készít egy naplófile-t (adatbázis preferált szerintem). A naplófájlból szeretnénk kinyerni, hogy adott gép, mikor, milyen oldalt kért be (ip v hostnév url), mekkora adatmennyiséget töltött be. A cél a szűk keresztmetszetű internet időszakos lassulása. Próbáltam tcpdump-al, ntop, nload-al. mindegyiknek megvan a maga kis hiányossága/hibája (pl. X idő után leáll a daemon minden szó nélkül)

Pl. egyik eredmény amit látni szeretnénk, mondjuk 8-9 óra közötti nethasználatra (az intervallumot majd a szűrőfeltételekkel faragjuk), a gépenkénti forgalom
192.168.1.20 - 22 IP - 576 kB
192.168.1.24 - 53 IP - 335.7MB
192.168.3.10 - 73 IP - 8.12 MB
10.10.5.73 - 30 IP - 7.2MB

a másik pedig az egyes IP címek részletes forgalma, külön megadott időszakra, hogy egyes oldalakról mekkora adat érkezett
2016-10-17 08:01 www.gmail.com - 1MB
2016-10-17 08:03 www.facebook.com - 763kB
2016-10-17 08:03 update.microsoft.com - 112MB

A gép iptables-t használ NAT-ra, de nem szeretnénk belepiszkálni, ha lehet. Proxy nem megoldás, mert vannak gépek, amelyeket nem mehetnek proxy-n.

Valami használható, javaslat, hogy megfogjuk a nagyobb hálózati terhelést jelentő gépet/szolgáltatást és optimalizálhassuk? Minden esetben "csak" azok a forgalmak érdekesek, amelyek eth0 felé mennek. Tehát a belső szerverek / gépek felé menő forgalom naplózását ha lehet megspórolnánk, így is elég nagy lesz a log...

Köszönöm előre is a segítségeteket!

Hozzászólások

Nekem a Lightsquid pont ilyen riportokat csinál. Persze proxy-val.
Ennek a megoldására viszont igazán kíváncsi leszek, ne menjen át rajta a net, de mérje mennyi ment át rajta..

Amúgy miért nem indítasz egy whitelist-tűzfallal, mindjárt kiderül ki a hunyó..
--
God bless you, Captain Hindsight..

Részmegoldásként mérheted 1-1 ip cím kimenő és bejövő adathasználatát iptables-el, pl:
iptables -I FORWARD -i eth0 -J TRAFIN
iptables -I FORWARD -o eth0 -J TRAFOUT

Utána pedig minden ip címre:
iptables -I TRAFIN -d 192.168.1.20 -j ACCEPT
iptables -I TRAFOUT -s 192.168.1.20 -j ACCEPT

Ha erre írsz egy scriptet, ami x időnként megnézi és feldolgozza /sbin/iptables -L TRAFIN -n -v -x -Z kimenetét, akkor naplózhatod, és ez egyben reseteli is az értékeket.

(Rossz helyre válaszoltam)

Esetleg olyan router/switch ami tud sflow/netflow -t aztan ezekhez keresel valamilyen collectort.

Fedora 24, Thinkpad x220

Netflow (és társai) lesznek a barátaid, erre találták ki őket.
Az adatok generálása természetesen fogyasztja az erőforrásokat, erre érdemes odafigyelni egy nagy forgalmú hálózaton.

Collector is van egy csomó, ami ingyenes, bőven lehet válogatni.
--------------------------------
...except the gyevi bíró

Köszönöm a konstruktív hozzászólásokat!

Elsőre megnézem mit ír a Netflow, majd az nfsen. Hunti IPTables megoldása harmadiknak. :)

De visszanézek még, hátha más tipp is beesik.

Netflow (flow-export) a routeren ha Cisco, vagy port mirror a switch-en es ntop vagy ntop-ng a kliens oldalon. Utobbiak mind ingyenesek es meg alert(email) is generalhato, ha valtozas van a halozatban.