forgalmi könyvelési rendszer Cisco routerek, hálózatok, cikkek, könyvtár linukstsentra - szakértő
forgalmi könyvelési rendszer CISCO router
Recept hogyan kell számolni a forgalom, ha az Internet-hozzáférés révén a CISCO router, kizárólag saját eszközeivel a router és a szabad szoftver. A tudás a forgalom nagysága és eloszlása a munkahelyek - az egyetlen eszköz „nem repülnek” komoly kompeechku meg internetes fizetési keresztül dedikált csatornát.
Elég gyakran, mint az Internet routerek, hardver routerek CISCO használunk, amelyek a de facto szabványa irányító csatlakoztatásához szinkron adatátviteli csatornákat. Ebben az esetben a router operációs rendszer (IOS) rendelkezik az összes szükséges tulajdonságokat a kimeneti hálózatot és az internetet (NAT, tűzfal, routing).
Állítsa be a router nagyon stabil működés (mind a hardver és szoftver), és gyakorlatilag nem igényel figyelmet - ezért CISCO-útválasztók állnak stabil közül első helyen a hardver megoldásokat az internet eléréséhez.
A telepítés után és beállítása a router, a természeti tárgyat, hogy megszámolják a forgalom áthalad rajta. És akkor vannak problémák, mert szabadalmaztatott szoftver forgalom irányítás CISCO nagyon drága, és a vásárlás, hogy gazdaságilag nem indokolt, de másrészt, továbbra is teljesen kizárva a forgalom is nagyon veszélyes.
A tapasztalat azonban azt mutatja, hogy ez a probléma is megoldható nagyon hatékonyan és gyakorlatilag nincs extra költségek alapján már megállapított CISCO tulajdonságait, a csomag a szabad szoftverek és egy sor egyszerű programokat.
- Egyidejű internetes csatorna;
- CISCO 2611, IOS 12
- A belső hálózat keresztül csatlakozik egy router
Postvalena feladat végrehajtásához számlálása áthaladó forgalom Cisco router használata nélkül a kereskedelmi forgalom számviteli eszközökkel.
Mert statisztikák forgalom lesz szüksége a következő eszközök:
- SQL-szerver. A „tároló”. Elvileg akkor bármilyen. Ebben a példában, a MySQL
- A munkaállomás, azaz Perl, rsh parancsot, amely képes futtatni folyamatok egy ütemtervet. bármilyen UNIX alapú szerver ideális erre a célra (szoktuk FreeBSD 4.4). Elvileg nincs külön rendszer megvalósítása prepyatsviya Windiws-szerver -, de szükség további szoftver (analóg rsh, aktív állapot perl).
Mi meg egy adott feladatot: adott LAN 10.120.0.0/16 és 10.6.0.0/16, csatlakozik az internetre egy Cisco router. Meg kell jelentést nyújt be az internetes forgalmat az egyes munkaállomások a LAN.
1. Állítsa interfészek
Először meg kell állítani a routert, hogy megjelenítse az aktuális kapcsolatok száma és a csomagokat.
Mert interface Serial0 / 0 kell végrehajtani ezeket a parancsokat:
> Conf t
> Int Serial0 / 0
> Ip számviteli output-csomagok
2. Lásd a statisztikák a router
A router összerakja a kimenő csomagokat ez a felület, információk, ahol láthatjuk sh ip számviteli parancs
Az eredmény az lesz, egy táblázatot a párok
Annak érdekében, hogy állítsa vissza a táblát a forgalmat le kell futtatni a parancsot clear ip számviteli
3. Állítsa be a távoli parancsok végrehajtása a router
Változások a konfiguráció a router távoli Statisztika (távoli végrehajtását parancsok)
# Végezhetnek távoli parancsok
> Ip rcmd rsh engedélyezése
# A felhasználói forgalom a fogadó 10.58.0.2, a root felhasználó jogosultsági szint 8
> Ip rcmd távoli host forgalom 10.58.0.2 gyökér engedélyezze 8
# Hagyjuk jogosultsági szint 8 a következő parancsokat
# Reset Statisztika
> Privilege exec szinten 8 clear ip számviteli
> Privilege exec szinten 8 clear ip számviteli ellenőrzőpont
# Statisztikát
> Privilege exec 8. szintű show ip számviteli ellenőrzőpont
su-2,05 # rsh -l forgalom 10.58.0.1 sh ip számviteli | több
Számviteli adatok kor 03:12
Számviteli küszöbértéket túllépik 5016149 1936384303 csomagok és bájtok
Su-2,05 #
PS. Mint látható, ip számvitel nem ad tájékoztatást a csatlakozási port.
Megjegyzés: Az utolsó sorban - számviteli küszöbértéket túllépik. Azt mondja, hogy a rekordok száma határ (paraméter ip számviteli-küszöb) meghaladja, és a megadott számú byte - az elveszett forgalom. Ie elvesztése tájékoztatás a forgalmat nem történik, meg kell, hogy vagy növelni a paraméter értéke (átlag forgalom asztal több memóriát), vagy befogják a statisztikát gyakrabban.
Előfordulhat továbbá, hogy kiszűrje az információkat a forgalom, amelyben az IP-számviteli-lista hálózat, mely még ma is a forgalom. Lehetőség van figyelni a paraméter ip számviteli-átvonulás. mellyel lehetővé beleesik a bázis egy rekordok száma neprshedshih szűrőt. Ebben az esetben a teljes összeg statisztikák egyébként korlátozott értékű ip számviteli-küszöböt.
(Artem Naluzhny)
Nos, ezek az adatok felhasználhatók „tároló” statisztika bárhol. Elvileg lehet tárolni statichtiku szöveges vagy bináris fájlokat, de úgy döntöttünk, hogy mentse az adatokat az adatbázisban az SQL.
Első statisztikák a router
Tárolásához a statisztikát, kiderül Perl DBI nyelv és szabványos könyvtárakat dolgozó adatbázisok.
1. szerkezete a táblázatokban.
Létrehoztunk két asztal: egy asztal leíró útválasztók és asztali tároláshoz forgalmi adatok:
2. Tárolás statisztikák
#
# Táblázat szerkezetét asztal „forgalom”
#
CREATE TABLE forgalom (
Id int (10) előjel nélküli NOT NULL auto_increment,
Nap datetime NOT NULL default '0000-00-00 00:00:00',
FromIP varchar (15) NOT NULL default '',
Sport int (10) unsigned NOT NULL default '0',
X12 varchar (7) NOT NULL default '',
X3 int (10) unsigned NOT NULL default '0',
X4 int (10) unsigned NOT NULL default '0',
Dport int (10) unsigned NOT NULL default '0',
Bytes int (10) unsigned NOT NULL default '0',
IFACE varchar (20) NOT NULL default '',
RouterID int (10) unsigned NOT NULL default '0',
PRIMARY KEY (ID)
) TYPE = MyISAM;
adatok mentése
Forgatókönyvet, hogy a statisztikák a router és költözött az adatbázisba. A végrehajtás a szkript képes megtenni szokásos műveletek SQL adatbázis (get, beszúrás, törlés, módosítani az adatokat, stb.) A megvalósításhoz a különböző platformok különböző, így a leírás a mechanizmus végző SQL-lekérdezések segítségével Perl, nem adjuk. Élveztük a DBI felületet.
# Szabvány könyvtári munka az adatbázis annak eljárásaiban Connect Select, Exec, Insert,
# Törlése, frissítése
require '/usr/local/traffic/lib/DB2.pl';
Csatlakozás (TrafficBase ', '10 .128.1.43 '' root '' „);
# Néhány router statisztikát - ip - ID a maróasztallal
$ Routerek = 1;
$ Routerek = 3;
foreach $ ip (billentyűk% routerek)
# Fordítás adatokat a mértéke a forgalom az aktív asztal egy táblázatban ellenőrzőpont
/ Usr / bin / rsh -l forgalom $ ip clear ip számlákról
# Kapnak adatokat a router az ellenőrzőpont asztal
@Stat = split (/ \ n /, / usr / bin / rsh -l forgalom $ ip sh ip számviteli checkpoint`);
$ Date = sprintf ( "% 4d-% 02d-% 02d% 02d:% 02d:% 02d", $ AD [5] + 1900, $ AD [4] + 1, $ AD [3]
$ AD [2], $ AD [1], $ AD [0]);
foreach $ s (@Stat) if ($ s!
/^\s\d\./)
$ S =
s / \ s + / / g;
én @sor = split (/ /, $ s);
én @Dst = split (/\./, $ sor [1]);
# Írja le forgalmi adatbázis
Beszúrása (Traffic ',' '', '$ Date', '$ row [0]', '0', '$ Dst [0]. $ Dst [1]', $ Dst [2], $ Dst [ 3], '0', $ sor [3], '', $ Routerek „);
>
# Törlés a statisztikai táblázat a maróasztallal ellenőrzőpont
/ Usr / bin / rsh -l forgalom $ ip clear ip számviteli checkpoint`
>
3. Futtassa a mechanizmus rendszeres statisztikák védelmi
Attól függően, hogy a platform végrehajtásának eltérő lehet. Régebben a beépített mechanizmus időszakos UNIX futó folyamatokat „cron”.
Tehát, a korona végre egy forgatókönyvet, hogy a statisztika 4 óránként. Ez az időszak határozza meg a kötet sootnesheniem RAM router, és halad a forgalom, annál nagyobb a forgalom, annál nagyobb a statisztikai táblázat, annál gyakrabban adatokat törölni kell.
# Get 1IP számviteli
0 0-23 / 4 * * * /usr/local/traffic/IPAccounting.pl
Most, az adatbázis kell illeszteni a rögzítés típusát:
Adatok visszakeresése az adatbázisból, és kiszámítása a forgalom
forgalmi mintavételi program nagyon eltérő lehet. Sőt, meg kell megfelelő módon kialakítani a kérelmet az adatbázis és az adatok feldolgozására. Tegyük fel például, a szkript egy jelentést egy bizonyos ideig, mint a cvs fájlba.
# Kéréseket az adatbázisban
$ Sth = Select (Traffic ", 'nap, fromip, x4, bájt',„fromip nem tetszik '10 .128.% 'És fromip nem szeretem' $ NotNet.% 'És x12 =' $ Net 'és a nap>' $ StartDate „nap <'$EndDate' and routerid=$Router order by day, bytes");
while (@res = $ sth-> fetchrow) <
#print "$ res [0] $ res [1] $ res [2] $ res [3] \ n";
$ Sum + = $ res [3];
>
s /\./,/;
printf ( "Total;% s \ n", $ S);
Az eredmény a script - cvs fájlban
10.6.0.2; 2,50131;
10.6.0.4; 0,190212;
10.6.0.5; 1,97279;
10.6.0.6; 14,875368;
.
.
.
10.6.0.103; 74,21923;
10.6.0.104; 14,346887;
10.6.0.105; 2,884767;
10.6.0.106; 1,04632;
10.6.0.110; 1,867212;
10.6.0.112; 1,327554;
10.6.0.151; 8,126519;
10.6.0.152; 3,669052;
10.6.0.153; 0,625454;
10.6.0.154; 3,835585;
10.6.0.155; 2,207297;
10.6.0.157; 4,4e-005;
10.6.0.201; 130,717364;
-------------------------------
Összesen; 1041,25119;
1. Van végre egy rendszert a Cisco 2611, UNIX-szerver fut FreeBSD 4.4, MySQL szerver. A rendszer sikeresen működik kb 3 hónapos.
2. Otsutvsuet adatok forgatást. 2 hónappal gyűjtöttek 266.000 rekordok a közlekedési táblát.
3. Nincs lehetőség (vagy még nem vizsgálták) Statisztika egy adott felület, amely lehetővé teszi, hogy a pontosabb számok sebességgel forgalom (például kérések, hogy kizárja a hálózati 195.131.31.0/24)? És, hogy egyszerűsítse a igénylőlapot az adatbázisban.