Sziasztok!
Különböző ip címek forgalmát szeretném monitorozni egy NAT hálózaton debian szerverrel és munin-nal.
Ahogy a pluginban le van írva az iptables-nek megmontam, hogy:
iptables -A INPUT -d 192.168.1.5
iptables -A OUTPUT -d 192.168.1.5
De nem akarja számolni a csomagokat. Megy a netrádió, így forgalom van!
Listázom úgy, ahogy az ip_ plugin végén van
:# iptables -L INPUT -v -n -x | grep -m1 192.168.1.5
0 0 all -- * * 0.0.0.0/0 192.168.1.5
Ha ugyanezt a szabályt a FORWARD ágon hozom létre és a pluginban átírom az INPUT-ot FORWARD-ra akkor számol rendesen, de akkor viszont nem tudja megállapítani, hogy melyik volt input illetve output csomag. (egy vonal lesz a grafikonon)
Ez lenne a problémám. Örömmel vennék minden a segítséget!
Üdv és mindenkinek kellemes ünnepeket!
redman
- 2785 megtekintés
Hozzászólások
Az INPUT es OUTPUT lancba akkor kerul csak bele, ha a routerrel van kapcsolatba. az atmeno forgalom csak a FORWARD-ba kerul bele.
Igy probald:
iptables -A FORWARD -s 192.168.1.5
iptables -A FORWARD -d 192.168.1.5
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Igen, próbáltam, de itt az a gond, hogy a fel és letöltést külön nem számolja.
Próbáltam, hogy új láncot készítek
iptables -N FORWARDIN
iptables -N FORWARDOUT
De így sem megy. Itt megint nem számolja.
Valahogy bele kéne irányítani direktbe? Onnan meg tovább folytatmi az útját a FORWARD ágon?
Ezt hogyan lehet?
Ami a LAN felől jön az először a FORWARDIN-be menjen utána a FORWARD-ba
ami pedig a WAN felől az először a FORWARD-on majd a FORWARDOUT-on menjen át.
Vagy hülyeséget beszélek?
- A hozzászóláshoz be kell jelentkezni
Mit is akarsz csinálni pontosan? Mert ha a gw-n forwardolt összes forgalmat akarod mérni, arra nem az ip_ plugin való. Ha pedig minden belső IP-re lebontva akarsz forgalmat mérni, akkor meg ipac-ng, és mysql...
Petya
- A hozzászóláshoz be kell jelentkezni
Igen ez egy gw és a mögötte levő IP-k forgalmát szeretném munin-nal monitorozni.
Igazából jó lenne evvel megoldani, nem szeretnék külön programot erre.
redman
- A hozzászóláshoz be kell jelentkezni
http://wiki.openvz.org/Traffic_accounting_with_iptables
http://www.lazyfrosch.de/linux/munin-ipt-accounting
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
Köszönöm, jó volt a link. Tehát FORWARD ág az tárolja az inputot és az outputot is.
Ez tök jó, már csak ki kell szedni belőle.
Próbálkoztam, de a grep-nek nem tudom megondani, hogy csak a második sort olvassa ki.
Esetleg valaki tudná?
Ezeketk követtem el:
iptables -L FORWARD -n -v -x | grep -m1 192.168.1.5
errea válasz:
105568 112619957 ACCEPT all -- * * 0.0.0.0/0 192.168.1.5
iptables -L FORWARD -n -v -x | grep -m2 192.168.1.5
105891 112905481 ACCEPT all -- * * 0.0.0.0/0 192.168.1.5
89292 8194535 ACCEPT all -- * * 192.168.1.5 0.0.0.0/0
A második esetben nekem csak a második sor kéne.
Valaki?
üdv: redman
- A hozzászóláshoz be kell jelentkezni
Hello!
Még mindig nem derült ki számomra , hogy az összes, a gw-n áthaladó forgalmat akarod mérni egyben, vagy IP címenként lebontva.
Egyik esetben sem az ip_ plugint kell használnod.
Mindkettőre van kész megoldásom, csak írd meg, melyiket akarod...
Petya
- A hozzászóláshoz be kell jelentkezni
A szerver mögötti LAN-t szeretném monitorozni IP címenként külön-külön. Igen a gw-n áthaladó forgalmat.
Az összes forgalom egyszerű, mert csak a belső hálókártya forgalmát kell monitorozni. (ez már megvan if_)
- A hozzászóláshoz be kell jelentkezni
Akkor segítesz?
- A hozzászóláshoz be kell jelentkezni
Hello!
Erre a feladatra én ipac-ng-t használok, ez szépen adatbázisba gyűjti a forgalmakat IP szerint, naponta, havonta összesíti azokat. Neked is ezt javaslom.
Ha mindenképp grafikont akarsz belőle rajzolni, azt a MySQL-ből kiolvasott adatokból is lehet, nem nagy ügy írni erre egy munin plugint.
Ha láttál már munin plugint "belülről", biztosan menni fog.
Ha nem akarsz plugint írni, azt is lehet, ekkor használhatod az ip_ plugint, de akkor annyi ilyen plugint kell használnod egyszerre, ahány IP-t akarsz monitorozni. Ha sok IP-ről van szó, akkor a grafikonok legenerálása megfoghatja a gépet elég rendesen. Ebben az esetben ugye minden IP-re lesz egy külön grafikonod.
Ebben az esetben a munin plugins könyvtárába többször kell linkelni ugyanazt a scriptet. Tehát ip_192.168.1.1 ip_192.168.1.2 stb...
Ha egy grafikont szeretnél, amin több IP forgalmát figyelnéd, akkor ipac-ng és mysql, majd az adatbázisból grafikon rajzolás.
Ha az utóbbi nem megy, írj, segítek, de szerintem biztos menni fog, ha másképp nem, fogj egy meglévő plugint, és írd át.
Petya
- A hozzászóláshoz be kell jelentkezni
Nem sok IP-t forgalmat szeretnék rajzoltatni, ezért lenne jó az ip_ plugin.
Sajnos az ip_ plugin alapból a bejövő és a kimenő forgalmat rajzolja.
Nekem a gw-n átmenő forgalom monitorozása kéne.
Annyit sikerült elérnem, hogy a FORWARD ágon vagy a feltöltést vagy a letöltést (attól függ melyik szabályt mutatom meg először az iptables-nek) tudom mérni.
Az a gondom, hogy ebből
# iptables -L FORWARD -n -v -x | grep -m2 192.168.1.5
105891 112905481 ACCEPT all -- * * 0.0.0.0/0 192.168.1.5
89292 8194535 ACCEPT all -- * * 192.168.1.5 0.0.0.0/0
nekem csak a második sor kéne.
Hogyan lehet megmondani a grep-nek, hogy a kapott eredményből csak a második sort adja vissza?
Üdv: redman
- A hozzászóláshoz be kell jelentkezni
# iptables -L FORWARD -n -v -x | grep -m2 192.168.1.5 | head -n 2 | tail -n 1
Petya
- A hozzászóláshoz be kell jelentkezni
Köszönöm, ez lesz a megoldás.
Tehát következőket kell tenni, ha pl a 192.168.1.5 IP gw-n átmenő forgalmát szeretnénk muninnal monitorozni.
Két iptables szabály a kernelnek:
iptables -A FORWARD -d 192.168.1.5 -j ACCEPT
iptables -A FORWARD -s 192.168.1.5 -j ACCEPT
és a munin ip_ plugin végét a következőképpen kell módosítani:
#Ez volt az eredeti
#iptables -L INPUT -v -n -x | grep -m1 $IP | awk "{ print \"in.value \" \$2 }"
#iptables -L OUTPUT -v -n -x | grep -m1 $IP | awk "{ print \"out.value \" \$2 }"
iptables -L FORWARD -v -n -x | grep -m1 $IP | awk "{ print \"in.value \" \$2 }"
iptables -L FORWARD -n -v -x | grep -m2 $IP | head -n 2 | tail -n 1 | awk "{ print \"out.value \" \$2 }"
Köszönöm mégegyszer a segítséget
- A hozzászóláshoz be kell jelentkezni