Podstawy korzystania z IOS

Wpis Gościnny
Wpis Gościnny Skomentuj

Czarne okienko wiersza poleceń IOS może przy pierwszym kontakcie budzić niemałe obawy. Większość użytkowników komputerów przecież jest przyzwyczajona do interfejsów graficznych i raczej z niechęcią podchodzi do „wklepywania” poleceń na klawiaturze. Jednak przy bliższym poznaniu systemu okazuje się, że command line wcale nie jest taki straszny. Dlatego też dzisiaj przyjrzymy się budowie systemu IOS i omówimy podstawy związane z poruszaniem się po nim.

Budowa IOS

System IOS (Internetwork Operating System) odpowiada za kontrolę hardware’u, czyli switchy lub routerów Cisco. Administrator musi natomiast zarządzać infrastrukturą sieciową. Rolą administratora jest więc takie skonfigurowanie urządzeń sieciowych, by realizowały one swoje funkcje zgodnie z naszymi potrzebami. Komunikacja między użytkownikiem, a sprzętem jest możliwa dzięki tzw. interfejsowi. Działanie IOS oparte jest o interfejs wiersza poleceń, czyli Command Line Interface (w skrócie CLI). Oznacza to, że konfigurowanie urządzeń sieciowych Cisco odbywa się poprzez polecenia i komendy tekstowe. 

System IOS podzielony jest na tzw. tryby (ang. modes). Każdy tryb charakteryzuje się tym, że pozwala na sterowanie określonym obszarem urządzenia lub konfigurowanie podobnych funkcji.

W Cisco IOS możemy wyróżnić pięć podstawowych trybów:

  • User EXEC mode,
  • Privileged EXEC mode,
  • Global Configuration mode,
  • Setup mode,
  • ROMMON mode.

Dzisiaj skupimy się ma pierwszych trzech trybach, ponieważ to one służą do zasadniczej konfiguracji urządzeń sieciowych Cisco i z nimi będziesz mieć najczęściej do czynienia. Warto jednak wiedzieć do czego służą dwa pozostałe tryby.

Setup mode służy do wstępnej konfiguracji urządzenia. Jeśli system IOS po uruchomieniu nie znajdzie prawidłowego pliku konfiguracyjnego to automatycznie przejdzie do tego trybu. Spotkasz się z nim jedynie w przypadku, gdy masz nowe urządzenie lub gdy został z niego usunięty plik konfiguracji początkowej. Setup mode to typowy konfigurator typu wizard, gdzie urządzenie prowadzi użytkownika „za rękę” i zadaje pytania dotyczące pierwszej konfiguracji. Następnie na podstawie udzielonych odpowiedzi system buduje odpowiednią konfigurację. Tryb ten nie umożliwia przeprowadzenia szczegółowej konfiguracji, dlatego sprawdzi się jedynie w przypadku osób niezaznajomionych z IOS.

ROMMON mode, czyli tryb monitorowania pamięci stałej (ang. Read Only Memory Monitor), to specjalny tryb wykorzystywany najczęściej w sytuacjach awaryjnych, gdy mamy jakieś problemy z systemem operacyjnym IOS. Szczegóły na temat działania tego trybu przeczytasz w artykule „ROMMON – wszystko co musisz wiedzieć”.

Zasadnicze tryby IOS

Zasadnicze tryby w IOS mają ściśle określoną hierarchię. W zależności od pozycji w hierarchii poszczególne tryby dają dostęp do różnych poleceń, a tym samym innych możliwości w zakresie konfiguracji urządzenia. Samo poruszanie się między trybami również ma swój określony porządek. Przykładowo, by znaleźć się w Global Configuration mode musisz „przedostać się” przez User EXEC i Privileged EXEC mode. Dokładnie wyjaśnię to w dalszej części artykułu.

Zależności między poszczególnymi trybami można zobrazować w formie schematu:

Podstawowe tryby IOS.

User EXEC Mode

Podstawowym trybem w CLI IOS jest User EXEC, czyli tzw. tryb użytkownika. To tu trafisz po zalogowaniu się do urządzenia (nie licząc wspomnianej wcześniej sytuacji, gdy switch lub router nie ma konfiguracji i uruchamia się w trybie Setup). Ma on bardzo ograniczoną funkcjonalność. Przede wszystkim pozwala na sprawdzenie podstawowej konfiguracji urządzenia poprzez polecenia z grupy show, czy weryfikację komunikacji np. za pomocą komendy ping. Co istotne User EXEC nie daje użytkownikowi możliwości przeprowadzenia żadnych zmian w konfiguracji urządzenia. Ten tryb jest swego rodzaju punktem początkowym IOS, ponieważ umożliwia on dostęp do dalszych trybów, dających już nieco szersze możliwości.

Privileged EXEC Mode

Kolejnym trybem, dającym już pewne możliwości konfiguracyjne, jest Privileged EXEC mode, czyli tryb uprzywilejowany. Jego głównym zadaniem nie jest stricte konfiguracja, a raczej zarządzanie urządzeniem. Oprócz poleceń dostępnych w User mode tryb uprzywilejowany pozwala między innymi na:

  • przeglądanie konfiguracji urządzenia,
  • zapisywanie i usuwanie konfiguracji urządzenia,
  • ponowne uruchomienie urządzenia,
  • bardziej zaawansowany troubleshooting.

Global Configuration Mode

Idąc głębiej w hierarchii trybów trafimy na Global Configuration mode. Jak sama nazwa wskazuje głównym zadaniem tego trybu jest już konfiguracja urządzenia. W trybie konfiguracji użytkownik może nie tylko wprowadzać nowe ustawienia, ale także zmieniać lub usuwać już istniejące.

Tryb globalnej konfiguracji służy do konfiguracji ustawień mających bardziej ogólny, czyli globalny wpływ na działanie urządzenia. W ramach Global Configuration mode funkcjonuje jeszcze klika specjalnych trybów, tzw. sub-configuration modes.  Umożliwiają one bardziej szczegółową konfigurację w obrębie danej grupy czy obszaru poleceń, np. interfejsów fizycznych, routingu, vlanów czy linii wirtualnych do zdalnego dostępu.

Cykl artykułów o podstawach korzystania z IOS

Artykuły publikowane w ramach cyklu o IOS można czytać niezależnie, ale najlepsze efekty osiągniesz, jeśli zapoznasz się z nimi po kolei. Cały cykl składa się z następujących artykułów:

  1. 1. Rodziny systemu Cisco IOS
  2. 2. Wersjonowanie IOS oraz IOS XE
  3. 3. Podstawy korzystania z IOS
  4. 4. ROMMON – wszystko co musisz wiedzieć
  5. 5. Jak sprawnie poruszać się po IOS
  6. 6. Podstawowa konfiguracja RADIUS w IOS
  7. 7. Konfiguracja banerów w IOS

Nawigacja po IOS

Command prompt

Aby ułatwić poruszanie się po CLI w IOS wszystkie tryby posiadają odpowiedni znak zachęty (ang. command prompt) lub dodatkowy opis. Dzięki temu jesteś w stanie określić, w którym miejscu w strukturze konfiguracji właśnie się znajdujesz. Znak zachęty jest wyświetlany zawsze bezpośrednio po nazwie urządzenia. Przykładowo w trybie User EXEC znakiem zachęty jest znak większości >.  Dla ustawień domyślnych będzie to Router> lub Switch>, pamiętaj jednak, że nazwa urządzenia może zostać zmieniona. Gdy zmienimy nazwę switcha np. na S1, to w trybie użytkownika będzie się wyświetlać jako S1>.

Command prompt dla poszczególnych trybów przedstawia się następująco:

Command prompt w poszczególnych trybach IOS.

Komendy

Do poruszania się między poszczególnymi trybami służą dedykowane komendy. Pozwalają one na przejście do kolejnego trybu lub opuszczenie go.

Aby wejść z User EXEC mode do Privileged EXEC mode należy użyć polecenia enable. Z tego też powodu tryb uprzywilejowany jest często nazywany właśnie „trybem enable„. Do opuszczenia trybu uprzywilejowanego można użyć polecenia disable.

Switch>
Switch>enable
Switch#
Switch#disable
Switch>
Code language: plaintext (plaintext)

Uruchomienie trybu Global Configuration odbywa się poprzez polecenie configure terminal. By przejść do szczegółowych ustawień związanych z daną grupą, np. z interfejsami fizycznymi czy VLANami musisz po prostu wpisać komendy służące do ich konfiguracji:

Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#
Switch(config-if)#vlan 10
Switch(config-vlan)#
Code language: plaintext (plaintext)

Jak widzisz znak zachęty zmienia się wraz z rozpoczęciem konfiguracji danej grupy. Zwróć uwagę, że przejście z konfiguracji jednej grupy do drugiej nie wiąże się z wpisywaniem żadnych dodatkowych komend. Nie musisz również wracać do Global Configuration mode.

Poleceniem, które pozwala cofnąć się do poprzedniego trybu jest exit.

Dodatkowo, by szybko wrócić do trybu uprzywilejowanego możesz użyć polecenia end lub skrótu klawiaturowego Ctrl-Z.

Switch(config)#
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#
Switch(config-if)#exit
Switch(config)#
Switch(config)#vlan 1
Switch(config-vlan)#
Switch(config-vlan)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Switch(config)#line vty 0 15
Switch(config-line)#
Switch(config-line)#^Z
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Code language: plaintext (plaintext)

By lepiej zrozumieć zasady poruszania się pomiędzy poszczególnymi trybami przyjrzyj się poniższej grafice:

Komendy służące do poruszania się między trybami IOS.

Narzędzie pomocy kontekstowej w IOS

System IOS posiada tysiące wbudowanych komend. Całe szczęście nie musisz znać wszystkich, żeby sprawnie poruszać się po systemie. CLI posiada bardzo przydatne narzędzie jakim jest pomoc kontekstowa. Możesz ją wywołać wpisując znak zapytania „?”. Z pomocy możesz korzystać we wszystkich trybach i tak naprawdę w każdy możliwym miejscu w systemie.

Dzięki temu możesz bardzo łatwo zweryfikować jakie komendy są właśnie dostępne.

Switch(config)#interface FastEthernet 0/1
Switch(config-if)#?
authentication       Auth Manager Interface Configuration Commands
cdp                  Global CDP configuration subcommands
channel-group        Etherchannel/port bundling configuration
channel-protocol     Select the channel protocol (LACP, PAgP)
description          Interface specific description
dot1x                Interface Config Commands for IEEE 802.1X
duplex               Configure duplex operation.
exit                 Exit from interface configuration mode
ip                   Interface Internet Protocol config commands
lldp                 LLDP interface subcommands
mdix                 Set Media Dependent Interface with Crossover
mls                  mls interface commands
no                   Negate a command or set its defaults
shutdown             Shutdown the selected interface
spanning-tree        Spanning Tree Subsystem
speed                Configure speed operation.
storm-control        storm configuration
switchport           Set switching mode characteristics
tx-ring-limit        Configure PA level transmit ring limit
Code language: plaintext (plaintext)

Z pomocy możesz również korzystać nawet, gdy wpisałeś tylko część polecenia:

Switch(config)#interface ?
Ethernet              IEEE 802.3
FastEthernet          FastEthernet IEEE 802.3
GigabitEthernet       GigabitEthernet IEEE 802.3z
Port-channel          Ethernet Channel of interfaces
Vlan                  Catalyst Vlans
range                 interface range command
Code language: plaintext (plaintext)

Gdy zostały wpisane wszystkie dostępne argumenty i polecenie jest prawidłowe otrzymasz komunikat <cr>:

Switch#configure terminal ?
<cr>
Code language: plaintext (plaintext)

Zapisywanie zmian w konfiguracji

Istotną kwestią jest również to, w jaki sposób zapisywane są zmiany w konfiguracji urządzenia. Przeczytasz o tym w naszym darmowym NSSletterze – mailingu dla sieciowców głodnych wiedzy.

Dołączając uzyskasz dostęp również do archiwum – tematykę tego artykułu rozszerzymy w jednym z najbliższych wydań. Rozwiń swoją wiedzę już teraz i zapisz się używając formularza poniżej.

Zostaw komentarz
Otrzymuj powiadomienia z tej dyskusji
Powiadom mnie o
guest

0 - Ilość komentarzy
Inline Feedbacks
View all comments