IOS tipy a triky

by

V tomto príspevku by som rád ukázal zopár trikov v IOS, ktoré sa vám môžu zísť. Pôjde o príkazy do, alias, vloženie otáznika do textu, filtrovanie výpisu a zresetovanie konfigurácie.

Príkaz do

Ak si chceme zobraziť napríklad smerovaciu tabuľku, alebo hocaký iný príkaz z kategórie exec príkazov, no nie sme v privilegovanom režime, neostáva nám nič iné, ako napísať príkaz end, alebo stlačiť príslušnú klávesovú skratku. Ak však nechceme odísť z príslušného režimu, môžeme si pomôcť príkazom do. Ak si teda chceme zobraziť smerovaciu tabuľku a konfigurujeme, čo ja viem, protokol RIP, tak napíšeme nasledovné:

Router(config-router)#do show ip route

Problém je, že akonáhle napíšeme príkaz do, otáznik ani tabulátor nám nie a nie pomôcť. Musíme teda príkaz napísať správne aj bez ich pomoci. Príkazy sa dajú písať aj skratkovito, napr. „do sh ip ro“. Tento príkaz nie je v starších verziách IOS.

Príkaz alias

show ip interface brief. Dlhý príkaz, skúsme si to skrátiť: sh ip int brie. Stále veľa na môj vkus. Tak si nahraďme celý tento príkaz nejakým aliasom. Alias vytvorí pre definovaný príkaz nový názov, ktorý bude IOS poznať a budeme ho môcť použiť. Syntax je nasledovná:

Router(config)#alias <režim alebo skupina príkazov> <alias> <príkaz>

Keďže show príkazy sú z kategórie exec príkazov a celý ten show príkaz chcem nahradiť aliasom „s“, tak použijem:

Router(config)#alias exec s sh ip int brie

Ako vidíte, <príkaz> som si mohol skrátiť a nevypisovať celý názov, keďže to je jedno-jednoznačný názov. Teraz môžem začať používať môj nový príkaz „s“.

Router#s
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES unset  administratively down down
FastEthernet0/1            unassigned      YES unset  administratively down down

A schválne si pozrime, čo nám zobrazí otáznik:

Router#s?
*s="sh ip int brie"  sdlc     send  set
setup                show     slip  snasw
spec-file            squeeze  ssh   start-chat
systat

Pribudol mi nový príkaz *s=”sh ip int brie”. Tento príkaz môžeme použiť z hocijakého režimu príkazom: „do s“.

Mimochodom, IOS má v sebe už niekoľko preddefinovaných aliasov a to:

  • p – ping
  • h – help
  • lo – logout
  • u alebo un – undebug
  • w – where

Vloženie znaku „?“

Funkcia otáznička je nám jasná, no čo ak chcem vložiť otáznik priamo do textu? Nech už to je akýkoľvek popisok (description, banner…) alebo aj konfiguračný príkaz (destination-pattern 1..[.]?[.]?), tak použijem buď klávesovú skratku [Ctrl+V] a za tým napíšem otáznik, alebo stlačím klávesy [ESC+Q] naraz alebo po sebe. Po stlačení kláves sa nič nestane, akurát, že keď stlačím teraz „?“, tak sa mi otáznik naozaj objaví v texte. Takže MOTD banner môžem napísať takto:

Router(config)#banner motd %Co tu hladas[Ctrl+V]?%

A ako banner sa nám bude zobrazovať:

Co tu hladas?

Filtrovanie výpisu

Niekedy sú výpisy až príliš dlhé a my hľadáme len jeden konkrétny riadok, alebo výpisy s nejakou spoločnou vlastnosťou. Ak nemáte chuť lúskať celý výpis, tak si ho môžete odfiltrovať. Filtrovať sa dá prakticky čokoľvek, stačí, že je povolená pajpa (lomená čiara „|“) za príkazom. Napríklad si chcem nechať vyfiltrovať moje priamo pripojené interfejsy v stave down. Použijem príkaz:

Router#show ip interface brief | i down

Za pajpou dávame kľúčové slovo, ktoré definuje typ filtrovania. Kľúčových slov je viac, no ukážem len základné a to:

  • begin – Zobraz výpis od prvého riadku, ktorý matchuje, až do konca výpisu
  • exclude – Odstráň všetky riadky ktoré matchujú
  • include – Zobraz len tie riadky, ktoré matchujú
  • section – Zobraz len sekciu (súvislý blok) výpisu, ktorej prvý riadok matchuje
  • format – Zobraz výstup vo formáte XML

a za kľúčovým slovom dáme výraz, ktorý sa má matchnúť. Ja som použil include, ale skrátil som si to na „i“.

Ak si chcem pozrieť zo show run výpis interfejsu F0/0, musím zadať nasledovné:

Router#show run | b FastEthernet0/0

Žiadne skratky a ešte je to aj case sensitive! Samozrejme, tento výpis mi zobrazí show run počnúc riadkom interface FastEthernet0/0 do konca. S použitím príkazu section to bude vyzerať nasledovne:

Router#show run | s FastEthernet0/0
interface FastEthernet0/0
 no ip address
 shutdown
 duplex half
 !

Treba si len dávať pozor pri zadávaní výrazu na filtrovanie, lebo sa zadáva v tvare regulárneho výrazu. Podívajme sa na nasledovný výpis:

Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2
 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
 ia - IS-IS inter area, * - candidate default, U - per-user static route
 o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.0.0/24 is directly connected, FastEthernet0/0
L        192.168.0.1/32 is directly connected, FastEthernet0/0

Nakonfiguroval som len interfejs F0/0, ale mám nový IOS a ten zobrazuje okrem priamo pripojenej cesty (C) aj IP adresu samotného interfejsu ako /32 (L). Ak zadám ako filter:

Router#show ip route | i 0.0
      192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.0.0/24 is directly connected, FastEthernet0/0
L        192.168.0.1/32 is directly connected, FastEthernet0/0

tak mi vypísalo aj L riadok. Prečo? Veď tam nie je nikde výraz „0.0“. Akurát, že v regulárnych výrazoch bodka reprezentuje (skoro) hocaký znak. Čiže mi tu matchuje nielen „0.0“ ako časť adresy siete, ale aj „0/0“ na konci riadku. Bodka musí byť escapnutá spätným lomítkom „\“. Teraz už bude výpis vyzerať takto:

Router#show ip route | i 0\.0
      192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.0.0/24 is directly connected, FastEthernet0/0

Defaultná konfigurácia

Už ste asi niečo podobné zažili. Konfigurovali ste interfejs a keď ste mali konfig hotový, tak ste zistili, že to bol nesprávny interfejs. Aj tu je ľahká pomoc ako vrátiť veci do pôvodného stavu. Interfejs a prakticky čokoľvek iné, môžeme zresetovať do defaultného stavu príkazom default. Keďže ale konfiguráciu mám hotovú a správnu, tak pôjdem na to inteligentne. Najskôr si zobrazím, čo som nakonfiguroval:

Router#show run | s interface FastEthernet0/0
 interface FastEthernet0/0
 description TEXT
 ip address 192.168.0.1 255.255.255.0
 speed 100
 full-duplex
 !

Skopírujem si tento výpis, napr. do notepadu. Teraz zresetujem interfejs F0/0 do defaultného stavu príkazom:

Router(config)#default interface f0/0

Krátko na to uvidím ďalšie riadky výpisu:

Building configuration...

Interface FastEthernet0/0 set to default configuration

No a teraz sa posuniem do správneho interfejsu a len nakopírujem konfig z notepadu.

A teraz si už len pamätať tieto triky a používať ich 🙂

Filip Burda

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa /  Zmeniť )

Google photo

Na komentovanie používate váš Google účet. Odhlásiť sa /  Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa /  Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa /  Zmeniť )

Connecting to %s


%d blogerom sa páči toto: