www.SAMURAJ-cz.com 

03.05.2024 Alexej Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Cisco IOS 1 - úvod, příkaz show

Čtvrtek, 08.03.2007 13:00 | Samuraj - Petr Bouška |
Firma Cisco je v oblasti aktivních prvků známa asi každému. Velká část jejich zařízení je vybavena jednotným operačním systémem zvaným IOS (Internetwork Operating System), který nabízí široké možnosti konfigurace a správy. V této první části série článků o IOSu se věnuji obecnému popisu IOSu, jeho používání a velmi důležitému příkazu show, který slouží k zobrazení informací.

Co je to IOS a jak pracuje

IOS je zkratka pro Cisco's Internetwork Operating System, což je operační systém, který používá většina Switchů a Routerů firmy Cisco (dále budu mluvit o switchích, ale obecně je vždy možno uvažovat i o routerech). Celý IOS je uložen v jednom image souboru s příponou bin a v aktuálních switchích má velikost kolem 5 MB. Ve flash paměti switche může být ještě uloženo webové rozhraní, které bývá ve složce HTML.

IOS je propracovaný a na míru provedený systém. Nabízí velké množství možností pro konfiguraci, a pokud víme, co chceme konfigurovat, není to již příliš složité. Obsluha IOSu je založena na CLICommand Line Interface, tedy na příkazové řádce.

Pro správné používání/konfiguraci switche je nutné se orientovat v různých pamětech, které se používají a vědět jak s nimi switch pracuje. Typy pamětí jsou popsány v další kapitole. Důležitý je také postup, jakým probíhá startování switche:

  • zapojíme napájení do switche
  • spustí se mikrokód z ROM paměti
    • pokud nenalezne validní verzi IOSu, nastartuje do omezené funkce RxBoot
  • nalezne IOS image (standardně ve Flash paměti) a zavede jej
  • načte se a aplikuje startup-config z NVRAM (tento textový soubor obsahuje sekvenci příkazů IOSu, která se vykonává stejně, jako při zadávání přes CLI)
    • pokud není nalezen, tak se vyvolá express setup
  • pokud existuje, tak se z Flash paměti načte vlan.dat

Pokud zadáváme nějaké konfigurační příkazy IOSu, tak ty se okamžitě provádějí, ale ukládají se pouze do running-config, který je uložen v RAM (při startu se do něj kopíruje obsah startup-config). To znamená, že aktuálně jsou platné, ale po restartování switche se vymažou. Pokud bychom tedy provedli nějakou konfiguraci, kterou bychom nemohli vrátit zpět, stačí restartovat switch a ten je v takovém stavu, jako při posledním uložení konfigurace. Pokud však chceme zachovat naše změny, je třeba vždy překopírovat běžící konfiguraci do startovací.

Pozn.: Pro zdůraznění. Všechny změny, o které nechceme přijít při restartu switche, můsíme uložit! To se provede překopírováním běžící konfigurace do startovací.

SWITCH#copy running-config startup-config  // uložit
Destination filename [startup-config]?     // dotaz na jméno, stiskněte ENTER
Building configuration...
[OK]

Typy paměti

Cisco switche a routery používají pět různých pamětí (většinou se uvádí pouze čtyři, ale já myslím, že i ten poslední je důležitý).

Paměť ROM

ROM paměť je možno pouze číst a je nezávislá na napájení. Obsahuje procesy, které se provádí při bootování (startování) switche. Ve starých verzích switchů obsahovala i IOS. V ROM paměti je uloženo několik základních funkcí:

  • POST (Power-on Self Test) - po zapnutí switche provede tento mikrokód test funkčnosti hlavních částí (paměť, CPU, interfacy)
  • Bootstrap Program - inicializace bootování, nahrává IOS
  • ROM monitor - speciální diagnostický mód pro řešení problémů
  • RxBoot - pokud se nenalezne funkční IOS, tak se načte tato omezená verze IOSu, která umožní instalovat správný IOS image

Paměť Flash

Flash je paměť typu NVRAM (Non-volatile random access memory), do které je možno zapisovat a při odpojení napájení zůstane obsah zachován. Ve flash paměti je primárně uložen IOS (může zde být i více verzí), dále kopie startup-config v souboru config.text a informace o VLANech v vlan.dat. Teoreticky zde můžeme uložit cokoliv. Výpis paměti se provede pomocí dir flash: nebo show flash:.

Paměť NVRAM

Non-volatile random access memory (NVRAM) je obdobně jako Flash zapisovatelná paměť nezávislá na napájení. Je použita pro uložení startup-config. Výpis paměti se provede pomocí dir nvram:.

Paměť RAM

Random Access Memory (RAM) je operační paměť. Jedná se o rychlou zapisovatelnou paměť, která je ovšem závislá na napájení a při restartu switche se vymaže. Standardně je tato paměť rozdělena na dvě části - hlavní paměť procesoru a sdílenou paměť I/O. V hlavní části je uložena běžící konfigurace (running-config), běžící IOS, routovací a ARP tabulky. Sdílená paměť je použita jako buffer pro uložení aktuálně zpracovávaných paketů. Zobrazit její obsah můžeme pomocí show memory.

Externí paměť - TFTP

Poslední typ paměti není součástí zařízení, takže by se zde nemusel počítat, ale využívá se pro řadu činností. Používá se zde TFTP (Trivial FTP) server, který můžeme rozběhnout na libovolném počítači. Upozorňuji, že to není FTP, ale TFTP. Nejčastěji jej využijeme při provádění zálohy či upgradu IOSu, ale je možné i zavádět IOS přímo z TFTP serveru.

Základní práce s IOSem

Nejprve je třeba se připojit ke switchi, abychom mohli pracovat v CLI. Můžeme tak učinit přes consoli, tzn. sériovým kabelem přes speciální port na switchi. To je základní připojení a někdy jediné možné. Nebo pokud již máme provedenu základní konfiguraci, přes telnet či ssh. Aby fungovala tato připojení, musí být nastavena a musí být vždy nastaveno přihlašovací heslo. Pro některé úkony, třeba i základní konfiguraci, se můžeme připojit přes webové rohranní či užitečný program Cisco Network Assistant. Ale ač to tak na první pohled nemusí vypadat, nakonec je jednodušší provádět většinu nastavení přes CLI. Pro připojení přes consoli použijeme hyperterminál nebo putty, který poslouží i pro ssh a telnet.

Zadávání příkazů

Veškeré příkazy IOSu se dají zadávat zkráceně, stačí zadat první znaky, které jednoznačně určí příkaz (tedy, aby v daném kontextu neexistoval jiný příkaz, začínající těmito znaky).

Klávesa tabulátor doplňuje příkaz. Zadáme prvních pár písmen příkazu a po stisknutí TAB se příkaz doplní, pokud je jednoznačný, nebo se doplní část, která je pro více příkazů společná.

Zadáním ? (otazníku) se zobrazí seznam příkazů s krátkým popiskem, které můžeme na aktuálním místě použít. Také můžeme zadat prvních pár písmen příkazu a otazník, aby se vypsal seznam příkazů s tímto začátkem. Většina příkazů se skládá z posloupnosti klíčových slov, pokud zadáme příkaz ?, dostaneme seznam argumentů či klíčových slov, která se dají zadat na tomto místě.

SWITCH#?
Exec commands:
  <1-99>           Session number to resume
  access-enable    Create a temporary Access-List entry
  access-template  Create a temporary Access-List entry
  archive          manage archive files
 --More--
SWITCH#co?
configure  connect  copy

Klávesa šipka nahoru a šipka dolu slouží k procházení historie, prochází dříve zadané příkazy.

Pokud se na obrazovku vypisují údaje, listují se po stránkách. Při vypsání stránky se výpis zastaví. Klávesou SPACE se zobrazí další stránka, klávesou ENTER se zobrazí další řádek.

U příkazů, které generují nějaký informační výstup, můžeme použít výstupní modifikátor | (svislá čára) a pomocí něj omezovat výstup.

Zobrazení MAC adres na portu 16
SWITCH#show mac-address-table | include Fa0/16

Pokud jsme v CLI na nějakém switchi, tak se můžeme připojit k jinému switchi zadáním jednoho z příkazů v uživatelském/privilegovaném módu. ssh adresa, telnet adresa, connect adresa či pouze zadáním samotné adresy, pokud neodpovídá nějakému klíčovému slovu. Adresa je buď IP adresa nebo hostname. Pro přepnutí zpět bez ukončení aktuální session slouží Ctrl+Shift+6 a potom x.

Rušení příkazů

Pokud zadáme nějaký příkaz IOSu a odešleme jej pomocí klávesy ENTER, tak se okamžitě uplatní a uloží do běžící konfigurace. Pokud chceme zrušit nějaké nastavení, tedy odvolat dříve zadaný příkaz, použijeme klíčové slovo no a za ním stejný příkaz, jako pro zadání. Tedy všechna nastavení se dají opět rušit pomocí příkazu no. Často není třeba zadávat všechny parametry příkazu. Takto provedené změny se opět uplatní pouze na běžící konfiguraci.

SWITCH(config-if)#no ip address	// zrušení IP adresy pro interface

Příkazové módy

Uživatelské rozhranní IOSu je děleno do řady různých módů, které nám umožňují provádět jiné činnosti. Hlavní módy jsou

  • uživatelský mód (EXEC) – user EXEC – SWITCH>
    v tomto módu jsme hned po přihlášení a má pouze omezené příkazy
  • privilegovaný mód (EXEC) – privileged EXEC - SWITCH#
    výchozí mód pro přestup do dalších konfigurací, umožňuje zobrazovat různé údaje
  • globální konfigurační mód – global configuration - SWITCH(config)#
    zde se konfigurují funkce, které ovlivní celý systém
  • konfigurace interfacu – interface configuration - SWITCH(config-if)#
    v tomto módu konfigurujeme vlastnosti určitého interfacu

Podobných módů jako konfigurace interfacu je celá řada. Módy jsou od sebe odlišeny různým promptem.

SWITCH> 				// uživatelský mód
SWITCH>enable 				// přepnutí  do privilegovaného modu
SWITCH#configure  terminal 		// přepnutí do globální konfigurace
SWITCH(config)#interface {jméno}	// přepnutí do  konfigurace interfacu 
SWITCH(config-if)# 			// konfigurace interfacu 

Pro přestup z vyšší urovně do nižší slouží příkaz exit, pokud chceme přejít z několika nadřazených úrovní do privilegovaného módu, použijeme Ctrl+Z.

SWITCH(config-if)#exit 
SWITCH(config)# 

Základní kontrolní (informační) příkazy - show

Tyto příkazy slouží k výpisu nastavení a informací o aktuální položce. Většina se zadává v privilegovaném módu pomocí příkazu show, který zobrazuje informace z běžící konfigurace.

Obecné příkazy

Výpis obsahu flash paměti (dva  shodné příkazy)
SWITCH#show flash:
SWITCH#dir

Informace o switchi a verzi IOSu
SWITCH#show version

Vypsání běžící konfigurace
SWITCH#show running-config

Vypsání startovací konfigurace
SWITCH#show startup-config

Informace o loggování a poslední záznamy
SWITCH#show logging

Seznam naposled zadaných příkazů
SWITCH#show history

Zobrazení informací o okolních Cisco  switchích pomocí protokolu CDP
SWITCH#show cdp neighbors
SWITCH#show cdp neighbors detail

Informace o využití procesoru a běžících procesech
SWITCH#show processes

Připojení

Informace o aktuálních telnetových  spojeních
SWITCH#show sessions

Informace o aktuálních ssh spojeních
SWITCH#show ssh

Informace o přihlášených uživatelích
SWITCH#show users

Informace o linkách
SWITCH#show line

Interface

Podrobný výpis informací o interface
SWITCH#show interfaces 

Podrobný výpis informací o jednom  interface
SWITCH#show interfaces {jméno-interfacu}
SWITCH#show interfaces f0/1

Interface – rozhranní jsou hlavně fyzické porty na switchi a VLANy. Porty se adresují typem, dnes hlavně fastEthernet (stačí f) a gigabitEthernet (stačí g), a číslem portu (může jít o kombinaci čísel, kde je například pořadí ve stacku, ale poslední je vždy číslo portu).

Informace o portu  s podrobnostmi o VLAN
SWITCH#show interfaces {jméno-interfacu} switchport

Vypsání seznam fyzických interfaců  s popisem a stavem v přehledné formě
SWITCH#show interfaces status

Stručný seznam všech interfaců se  statistikou přenosů
SWITCH#show interfaces summary

Seznam statistik pro interfacy
SWITCH#show interfaces stats

Stručné informace o VLANech a  přiřazení portů
SWITCH#show vlan

Informace o existujících truncích
SWITCH#show interfaces trunk

Zobrazení CAM tabulky – MAC adresy a  porty komunikujících zařízení
SWITCH#show mac-address-table

Zobrazení ARP tabulky
SWITCH#show arp

Zobrazení informací o ACL a routování na interface
SWITCH#show ip interface

Zobrazení směrovací tabulky
SWITCH#show ip route
zobrazeno: 137301krát | Komentáře [13]

Autor:

Související články:

Cisco IOS

Velký seriál o operačním systému aktivních prvků firmy Cisco.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] stiff

    command "show memory" neexistuje (teda aspon nie v najnovsom packet tracery 5.0)

    Čtvrtek, 04.09.2008 20:01 | odpovědět
  2. [2] stiff

    nepozna ich viac. aj show logging, line, interfaces status, interfaces summary, interfaces stats

    Čtvrtek, 04.09.2008 20:52 | odpovědět
  3. [3] Samuraj

    odpověď na [1]stiff: Já se zde věnuji switchům a ne hračkám pro děti jako PT (tam chybí většina všeho, protože to je simulátor)

    Pátek, 05.09.2008 09:53 | odpovědět
  4. [4] _knight

    inak "show users" sa da nahradit "who"

    efekt rovnaky

    Úterý, 11.11.2008 20:32 | odpovědět
  5. [5] Koumes

    U popisu příkazových režimů ještě chybí vlan database

    vím že cisco se ji snaží ze switchů vymýtit, ale na routeru se switchovací kartou se jinak ani vlan konfigurovat nedají

    Pátek, 26.12.2008 22:42 | odpovědět
  6. [6] Samuraj

    odpověď na [5]Koumes: Příkazových módů existuje mnohonásobně více. A jak všude poznamenávám, já se věnuji switchů. Použití vlan database je již mnoho let nedoporučováno, takže by jeho i jen zmínění odporovalo účelu mého webu.

    Sobota, 27.12.2008 00:12 | odpovědět
  7. [7] Honza

    Mám k Vám jako k odborníkovi pro Vás školácký dotaz. Příklad z praxe, mám IP adresu PC a potřebuji zjistit na jakém portu cisco switche visí. Připojuji se telnetem. Umím vylistovat MAC pomocí příkazu "show mac address-table". Není nějaký podobný příkaz kde uvidím přímo IP adresu??

    Děkuji za odpověď

    Pondělí, 23.02.2009 09:55 | odpovědět
  8. [8] Samuraj

    odpověď na [7]Honza: Přímá možnost neexistuje, protože switch pracuje na L2 a tudíž IP adresy "nevidí" (i když některé funkce pracují i s vyššími vrstvami). Musíme to tedy nějak obejít. Možností je určitě více.

    Nejjednodušší, pokud máte přístup na stanici, je zjistit si její MAC a podle toho dohledat na switchi.

    Pokud máte centrální L3 switch (který routuje) nebo router, tak na něm se najde MAC v ARP tabulce a následně dohledá na switchi.

    Já jsem si napsal aplikaci, která mi stahuje tyto informace ze všech switchů i routerů a dává vše dohromady, takže se dá hledat i podle IP nebo DNS jména.

    Asi budou i jiné možnosti, ale teď mě nic nenapadá.

    Pondělí, 23.02.2009 10:23 | odpovědět
  9. [9] VoDa

    Dobry den...

    mam otazecku... Da se v IOS zjistit co na jistem portu jede za IP nebo MAC (mysleno tim IP nebo MAC zarizeni zapojeneho do Switche)

    Dekuji mnohokrat

    P.S. jinak luxusni web!!!!

    Pondělí, 27.07.2009 14:11 | odpovědět
  10. [10] Samuraj

    odpověď na [9]VoDa: Jde to a možností je více. Složitější je to ale s IP adresou, switch standardně kouká pouze na MAC adresy. Takže IP adresy se musí vytáhnout z routeru (nebo podobně). Existují i různé aplikace, které to automatizují. Já jsem si napsal svoji vlastní.

    MAC adresu na portu najdeme v CAM tabulce. Příklad pro port G2/0/5:

    SWITCH#show mac address-table | include Gi2/0/5

    Pondělí, 27.07.2009 14:26 | odpovědět
  11. [11] Samuraj

    Zobrazení množství informací o zařízení (interfaces, running processes, IOS image ...)

    SWITCH#show tech-support

    Pondělí, 20.09.2010 11:10 | odpovědět
  12. [12] benq

    Dobry den, mam otazocku

    ako zistim kedy bol port naposledy vyuzity? aby som nevyuzite porty (dlhsiu dobu) v pripade ich nedostatku mohol znova vyuzit..dik

    Úterý, 29.03.2011 20:25 | odpovědět
  13. [13] free home inspection leads

    Become listed at http://hireahomeinspector.com to get more home inspection jobs.

    free home inspection leads http://hireahomeinspector.com

    Pátek, 16.10.2015 03:47 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách