A minap felfigyeltem arra, hogy egy kedves kollégám a Packet Tracer-t nyomogatja erőteljesen. Mint kiderült fel kívánta eleveníteni a régi CISCO router/switch konfigurációs ismereteit. Én megkértem arra, hogy ha már úgy is ilyennel foglalkozik, akkor nekem laikusnak készítsen már valami féle rövid skiccet, dokumentációt, mert engem is érdekelne a téma. Tudtam, hogy jó nyelvezetű és könnyen követhető írást fog kiadni a kezei közül, de felülmúlta a legvadabb elképzeléseimet is. Megkértem, had publikálhassam az írását, ő pedig szerényen igent mondott. Így elkezdett itt a blogon egy írás sorozatot, ami a CISCO switchekkel, routerekkel fog foglalkozni és azon belül is ezek IOS konfigurációs lehetőségéről. A szerző Szakály Attila.
A lent látható parancsok csak CISCO IOS operációs rendszer esetében működnek. Általában a CISCO Eszközök 80-85% án IOS van ez a legelterjedtebb. (a másik népszerű a CatOS de ez sokkal ritkábban fordul elő. A routerek és a switchek konfigurációs „menüjének” felépítése teljesen ugyanaz és a kiadható parancsok is hasonlóak. Itt még megjegyezném, hogy ez csak a „nagyobb” CISCO eszközökre igaz. Rengeteg féle CISCO eszköz van, ugyanis amikben szintén valamilyen módon rá lehet ismerni az itt leírt IOS parancsokra, de sem a Config módok felépítése sem a kiadható parancsok nem azonosak az itt leírtakkal (pl a rengeteg féle CISCO PIX-ek, amik szintén nagyon elterjedtek). Viszont ha már az itt leírtakkal tisztában vagyunk, sokkal könyebb lesz megtanulni egy más típusú eszközt felkonfigurálni.
A routereken és switcheken többféle konfigurációs mód van és mindenhol más parancsok adhatók ki, így ha egy parancs nem működik szinte biztos, hogy a rossz konfig módban vagy.
Ha bekapcsolunk egy routert vagy egy switchet és már rá vagyunk csatlakozva az eszközre konzollal láthatjuk a bootolási folyamatot ami így néz ki:
Első alkalommal felajánl egy ilyen automata bekonfigurálós „varázsló” félét de erre inkább „nem”-et szoktunk nyomni és a későbbi manuális beállítást szoktunk előnyben részesíteni.
Konfigurációs módok
A cli-t mindíg úgy kapjuk meg alapértelmezetten, hogy:
Router >
Itt most egyenlőre a „Router” a routerünk hostneve. Mint fentebb írtam több féle konfigurációs mód van:
A konfig módok között különböző parancsokkal lehet közlekedni, a legelső konfig módból a másodikba lépni az „enable” paranccsal lehet. Az eredmény onnan látjuk hogy a kacsacsőr ikonunk „#” jelre változott.
Router#
Innen a következő konfigurációs módba a „counfigure terminal” paranccsal lehet belépni a sikert a következőképp látjuk:
Router(config)#
Innen többféle konfig módba lehet belépni attól függően hogy mit szeretnénk beállítani. Itt a képen végigkövethetjük ezt a folyamatot, oda vissza. A parancsok esetében nem fontos kiírni az egész parancsot, általában van egy rövidített változata is a hosszabb parancsoknak, úgymint „ena” és „conf t”… Kijjebb lépkedni az „exit” és végül a „disa” parancsokkal lehet. A parancsok kiegészítésesben segít a TAB billentyű (ha már a parancs egyértelmű) illetve ha még nem egyértelmű akkor a kérdőjellel megnézhetjük mit a lehetséges parancsok amik az adott karakterekkel kezdődnek. Ha semmilyen parancsot nem írunk be csak a kérdőjelet akkor az kilistázza az abban a konfig módban kiadható összes parancsot.
Ezek a konfig módok közötti lépkedések azért fontosak mert pl a legetső konfig módban nem tudsz IP-t adni egy interfésznek vagy nem tudsz jelszót beállítani a konzolra vagy nem tudsz routing protokollt beállítani, ezekhez egyel vagy kettővel beljebb kell lépjünk a konfig módokban.
Induló és futó konfiguráció
A routereknek és switcheknek 2 féle konfig file-juk van. Az úgynevezett running config és az úgynevezett startup konfig. Az eszközök újraindításnál mindíg a startup konfiggal indulnak el! Amikor pedig valamit mahinálunk, beállítunk az mindíg a running konfigba kerül. Ezek gyakorlatilag konfigurációs file-ok amik a router összes beállítását tartalmazzák. A lényeg az hogy ha csinálunk egy beállítást az minden esetben a running configba kerül, ám ettől az még nincs elmentve úgymond. Ha a routert újraindítjuk ez a beállítás elveszik, mivel a router mindíg a startup konfiggal indul el! Az aktuális konfiguráció mentése éppen ezért a következőképpen zajlik: első lépésként elvégezzük a beállítást ami belekerül a runing configba és második lépésként a running konfiggal felülírjuk a startup konfigot. Úgy is mondhatjuk hogy ha menteni akarjuk az aktuális változásokat akkor rendszeresen szinkronizálni kell az aktuálisan változó running confogit és azt a konfig fájlt amit a router az elindulásnál használ. Ha a másolást megtettük, és a routert újraindítjuk, gyakorlatilag a startup konfig tartalmazni fogja azokat a beállításokat amiket a running configba mi megcsináltunk és pontosan ugyanazokkal a beállításokkal fog elindulni. Ezt nevezzük mentésnek.
Ugyanakkor ez egy hatalmas menekülési lehetőség is, ha eltoljuk(elbasszuk) a konfigurációt és elkezd semminemműködni, egyszerűen ujraindítjuk a routert, és minden az addíg csinált beállításunk elvész, a router elindul a még működő beállításokat tartalmazó startup konfiggal és gyakorlatilag meg vagyunk mentve.
A konfiguráció mentése a „#” jelő módban végezhető el a „copy running-config startup-config” parancsal. (copy run start)
Debrl# copy run start
Itt rákérdez a destination file-névre itt gyakorlatilag a startup-config és a running-config ez ténylegesen konfigurációs fileok neve, ezen célszerű nem változtatni így egy enterrel megerősítve a mentés kész is.
Ezeket a konfigurációkat elég gyakran szoktuk nézegetni, főleg a running konfigot… Általában minden „lekérdezést” a show paranccsal csinálunk. Az aktuálisan futó konfigurációt a „show running-config” parancsal nézhetjük meg (sh run). Hasonlóképpen mint a startup konfigot (sh start).
Nézzünk pár beállítást és parancsot
Nagyon fontos ezért írom az elejére, ha valamilyen parancsot vissza akarunk vonni, vagy törölni szeretnénk akkor általában elé írjuk a „no” –t és beírjuk még egyszer a parancsot. Ez általában törli a beállítást. Itt egy példa, amiben látszik, hogy a parancs szerkezete ugyanaz egyszerűen csak elé írtuk hogy „no” és a beállítás máris törlődött:
A routert a „#” jeles módban lehet újraindítani a reload paranccsal (előtte ne felejtsük el menteni az aktuális konfigot hacsak nem épp az a cél hogy az újraindítássál töröljük az esetleg balul sikerült változásokat..
Hostname
A routerünknek célszerű megváltoztatni a nevét hogy amikor belépünk felismerhető legyen. Ezt a conf t-s mádban lehet megtenni a hostname paranccsal. A formátuma „hostname” és utánaírjuk a kívánt nevet:
A sikert máris láthatjuk az utolsó sorban megváltozott a routerünk neve.
Banner
Szinte minden eszközben be van állítva egy banner, amit ha beépünk az eszközbe elolvashatunk. Itt általában nem üdvözlő szöveget szoktuk beállítani hanem egy sablonszöveget hogy ha nem idevaló emberke vagy akkor lépj ki mert ezzel megsérted a bla..bla…bla…
A parancsot a (config)# üzemmódba lehet kiadni ( a szöveget a „c” karakterekkel kell közrefogni):
Debr1(config)# banner modt c „ide jön a szöveg” c
Amint újraindítjuk a routerünket máris láthatjuk a bannerünket.
Kivéve persze ha kihagytuk a „copy run start” parancsot ha ezt kihagytuk és a routert újraindítjuk a running configba kerülő beállításaink mentése nélkül az eredeti startup konfig töltődik be ahol ez a konfiguráció még sehol nem volt így nem lesz bannerünk… Ezt meg kell szokni. Kisebb és biztosan működő változások után menteni!!!
Interfészek
Ha ránézünk a routerünkre vagy a switchünkre kívülről kapásból láthatjuk milyen interfészeink vannak. A routeren belül ezt a „sh interfaces” paranccsal tehetjük meg a „#” jeles konfig módban. Ezzel az összes interfész összes tulajdonságát megláthatjuk… szép hosszú lista.
Ha csak egy interfészre vagyunk kíváncsiak akkor konkrétan meg kell neveznünk az adott interfészt is mondjuk „sh int f0/0” amivel most a 0/0-és fastethernet interfész tulajdonságait kérdeztük le.
Ez a kép rengeteg információt mond el nekünk az áthaladó csomagokról az interfész státuszáról stb…
A legelső sorban már mindjárt láthatjuk hogy F0/0 is Administratively down. Ezt azt jelenti hogy az interfész az operátor által (azaz általunk) le van kapcsolva. Ez azért van így mert mindig ez egy interface alapértelmezett státusza. Ha egy interfész működik és van kapcsolata akkor a státusza egyszerűen „up”, ha pedig a vonal megszakadt és nincs kapcsolata akkor egyszerűen „down”. Ha pl ez van akkor feltételezhetjük hogy megszakadt a bérelt vonal, vagy kihúzták a switchből a kábelt, vagy esetleg lekapcsolták a switchportot stb…
Az interfészünket fel le tudjuk kapcsolgatni a „shutdown” és a „no shutdown” parancsal. Nagyon fontos mégegyszer ha egy parancsot vissza akarunk vonni akkor eléírjuk a „no” –t beírjuk ugyanazt a parancsot amit kiadtunk ezzel visszavonva azt. Mivel itt az interface alapesetben shutdownolva van ezért a no shutdown parancsal tudjuk életre kelteni. Ezt már interface konfigurációs modban tudjuk megtenni! Ahoz hogy egy interface tulajdonságait állítgassuk annak a konkrét intercafe-nek kell belépnünk a konfig módjába jelen esetben ez a fastethernet 0/0 interface:
Debr1(config)#int f0/0
Itt a packet tracer egy kicsit csal, egy igazi routeren miután kiírja hogy „changed state to up” utána egyből ki is írja nekünk hogy „changed state to down”. Miért is van ez? Mert nincs a másik oldalon semmi még. Felkapcsoltuk, ő megnézte magának hogy él e a link, mivel most még nem kötöttük össze semmivel ezért ő le is kapcsolja magának az interfészt. Mivel a Packet Tracer szoftver azért annyira nem „live” ezt nem láthatjuk, de azért ha megnézzük az interface állapotát láthatjuk hogy nem „up” ba hanem „down”-ba van. Amit megfigyelhetünk hogy ez már nem „administratively down” hiszen az interfészt felkapcsoltuk. Amint összekötjük valamivel, automatikusan „up” ba kerül. Ha az interface „administratively down” állapotba van, vagyis gyakorlatilag letiltva addig nem fog „up”-ba kerülni amíg fel nem kapcsoljuk hiába kötjük össze a másik oldalon lévő eszközzel.
Csak érdekesség képen nézzük meg milyen parancsokat lehet kiadni interfész konfig módban, itt már nem olyan hosszú a lista… nyomjunk egy kérdőjelet és megkapjuk a kiadható parancsokat.
Adjunk az interfészünknek egy IP címet:
Ezt az „ip address” parancsal tehetjük meg. Az ip beállítás után, ha még nem tettük meg ne felejtsük el felkapcsolni az interfészt.
Nézzük meg hogy mit műveltünk. Mivel azt mondtuk, hogy a változások a running config-ba azonnal belekerülnek így itt már látnunk kellene a beállított interface tulajdonságainál az új IP címet.
És lám tényleg:
Nyomjunk egy „sh run” parancsot!
Ahhoz hogy az alapvető dolgokat megértsük, akkor most nyomjunk egy „sh start” parancsot is az induló konfiguráció lekéréséhez.
Hoppá, itt miért nincs IP címe az interfésznek? Hová lett? És a Running configban miért van? Akkor most nem ugyanaz a kettő vagy mi? Hát nem… Mint ahogy már korábban leírtam, az aktuális beállítások a running configba kerülnek. Amíg ezt el nem mentjük a startup konfigba is addíg bizony nem ugyanaz a 2 file. Ha most jön egy áramszünet akkor az IP címünknek kakukk, de amint kiadjuk a „copy run start” parancsot és lekérjük a startup konfigot már ottis pontosan ugyanazt fogjuk látni, mint a running configban. Ne felejtsünk elmenteni!!
Két fastethernet vagy gigabit ethernet vagy akármilyen ethernet port közötti kapcsolatnál, legyen az router-router vagy router-switch között az IP cím beállításával (mind2 oldalon) és az interfészek felkapcsolásával máris „up” ba kerülnek az interfészeink. 2 router közötti serial kapcsolatnál annyi dolgunk van még hogy az egyik oldalnak órajelet kell adni amit a „clock rate” paranccsal tehetünk meg.
Interface Description
Egy nagyon pici ámde annál lényegesebb rész. Lehet jobb is hogy kihagytam a „nagy” interface topicból, talán így jobban felfedezhető hogy egy külön kis topic. Minden egyes interfészhez egyedileg tudunk egy kis description mezőt fűzni. Ha ezt nem tesszük meg, később majd ott bogarászhatunk hogy melyik interfészünk melyik kapcsolathoz is tartozik főleg ha sok ugyanolyan típusú interfész van ami abszolút nem kizárt sőt… Amint beállítunk egy interfészt írjunk hozzá egy kis szöveget hogy milyen kapcsolatot van azon az Interfészen, pl „Tatabánya Internal Lan”, vagy „Budapest-Debrecen invitel 20Mb”. Mivel ez a tulajdonság az egyes interfészekre egyedileg vonatkozik ezért természetesen interfész konfig módban kell ezeket megtennünk. A parancs a következő: description „és a szöveg”.
A „#” jeleknek semmi különös funkciója nincs, egyszerűen csak sokkal jobban észre lehet venni, ami azért jó mert amikor lekéred a konfigurációt gyakorlatilag ez az a mező amit elsőnek megkeresel egy interfészen.
Lássuk mit csináltunk:
Az interfész jellemzői között szépen láthatóan ott van hogy milyen kapcsolat van rajta. Tökéletes.
Hi!
Van egy nyugom. Osszedobtam egy egyszeru, ket router, ket switch egyik router oldalan 1 laptop masik router oldalan 1 PC es 1 server halozatot, majdnem szinkronban konfigoltam a ket routert (a belso halo elter, ahogy a leirasban), mindket routeren felkonfigoltam (jol) a dhcp-t, de a szerveres oldalon nem kapok a PC-n default gw-t es dns servert, a laptop viszont a sajat routeretol siman kap. A konfig tuti jo, mert ugyanez a konfig (mas szamokkal) mukodik a laptop oldalan. Lehet, hogy bugos a PT?
Plusz info: a szerveres router oldalan a 0-s portban kapok gw-t, a 1-esbe nem. Furi.
Oke, a megoldas: be kell kapcsolni a rip-et (router rip) es minden jo lesz.