Wybierz swój język

Podstawy sieci z Cisco IOS. Moduł 1: Poruszanie się w CLI

Czy będzie to router, przełącznik czy firewall firmy Cisco Systems, gdzieś na jego obudowie powinien znajdować się port konsoli. Jeżeli nie widać go od przodu, należy poszukać go na tylnej obudowie. Niektóre urządzenia posiadają jeden rodzaj portu konsoli, a niektóre dwa. Jest on oznaczony najczęściej błękitnym napisam "CONSOLE". W zależności od modelu, port konsoli od strony urządzenia firmy Cisco Systems może być gniazdem RJ45, USB-mini Type B lub USB-micro Type B.

Porty te są widoczne po lewej stronie panelu przedniego urządzeń widocznych na slajdzie poniżej.

W przypadku gniazda RJ45 (Console Port) do podłączenia należy użyć kabla typu RJ45-to-DB9. Wpinamy go do 9-pinowego wejścia szeregowego w komputerze (RS-232). Jeżeli komputer takiego wejścia nie ma, to należy użyć przejściówki z RS-232 na USB Type A.

W przypadku wejścia USB-mini Type B lub USB-micro Type B (Console Port) do podłączenia należy użyć kabla USB, który posiada z jednej strony standardowe wejścia USB Type A, które to wpinamy do komputera.

Kabel konsolowy można zamówić razem z urządzeniem, niemniej jest on obecnie opcjonalny. Oryginalne kable firmy Cisco Systems posiadają błękitny kolor i wyglądają jak na slajdzie powyżej.

W przypadku sali szkoleniowej, najczęściej bardziej wygodne są urządzenia z gniazdami RJ45 (Console Port). Połączenia szeregowe można wygodnie wydłużyć z użyciem zwykłej skrętki (kabla UTP), stosując przy tym klasyczne panele krosownicze do wygodnego przepinania się pomiędzy urządzeniami i komputerami. W przypadku kabli USB nie jest to już tak samo wygodne i łatwe w realizacji.

Kabel i ew. przejściówka to nie wszytko co będzie do tego potrzebne. W zależności od systemu operacyjnego, wymagane będzie także odpowiednie oprogramowanie. Przykładowe programy dla wybranych systemów operacyjnych zostały wskazane na slajdzie. Zaraz pod nimi widać też ustawienia, jakie należy wprowadzić w przypadku podłączenia do routera lub przełącznika firmy Cisco.


Przy pracy w interfejsie Cisco IOS CLI należy zwracać uwagę na miejsce w jakim jesteśmy czy też na tak zwany kontekst oraz przyzwyczaić się do hierarchiczności. To pierwsze oznacza, że funkcja i składnia polecenia zależy od miejsca w jakim je wydajemy (kontekst). Kontekst widoczny jest w nawiasach. Zatem polecenie "network" może mieć inną funkcję, znaczenie i składnię, kiedy wydajemy je w konfiguracji protokołu routingu (config-router), a inne kiedy wydajemy je w konfiguracji pooli DHCP (dhcp-config).

Drugie powiązane jest z trybami, jakie udostępnia Cisco IOS. Należy do nich tryb zwykłego użytkownika (User EXEC), tryb uprzywilejowany (Privileged EXEC) i tryb konfiguracji globalnej (Global Configuration).

Aby przejść z trybu zwykłego użytkownika (znak zachęty zawiera ">") do trybu uprzywilejowanego (znak zachęty zawiera "#"), należy użyć polecenia "enable". A aby wrócić, należy posłużyć się poleceniem "disable". Przejście do trybu konfiguracji globalnej odbywa się z użyciem polecenia "configure terminal".

Tryb konfiguracji globalnej to miejsce, gdzie konfiguruje się specyficzne dla całego urządzenia ustawienia. Z tego miejsca też można przejść do ustawień pojedynczych interfejsów czy usług. Aby cofnąć się o jeden poziom w hierarchii należy użyć polecenia "exit". A aby powrócić z trybu konfiguracji konkretnego interfejsu czy usługi (ogólnie, bardziej zagnieżdżonego), bezpośrednio do trybu uprzywilejowanego można posłużyć się poleceniem "end".

W trakcie pracy w Cisco IOS CLI warto zwracać uwagę zarówno na znak zachęty jak i kontekst w jakim się znajdujemy.


Cisco IOS domyślnie udostępnia dwa poziomy pracy czy uprawnień. Wspomniany wcześniej tryb zwykłego użytkownika (User EXEC) to poziom 1, a tryb uprzywilejowany (Privileged EXEC) to poziom najwyższy, czyli 15. Istnieje możliwość konfiguracji poziomów pośrednich, poprzez przypisanie im stosownych poleceń. W ten sposób użytkownik posiadający dostęp do poleceń poziomu N, ma także dostęp do wszystkich tych poleceń, jakie znajdują się poniżej poziomu N.

O ile warto być świadomym tych poziomów, to w praktyce do różnicowania uprawnień stosuje się już widoki. Są one o wiele bardziej elastyczne i wygodniejsze w konfiguracji. Poziom, na którym jesteśmy można sprawdzić z użyciem polecenia "show privilege".

Kiedy urządzenie nie ma lub też nie załaduje konfiguracji startowej, uruchamia "System Configuration Dialog". Jest to swego rodzaju wizard czy ułatawiacz, którego celem jest usprawnienie procesu wstępnej konfiguracji urządzenia. Pyta nas on o różne rzeczy i na tej podstawie wstawia odpowiednie zestawy poleceń. My będziemy uczyli się konfigurować urządzenia bardziej precyzyjnie, z użyciem dokładnie tych poleceń czy ustawień, jakie potrzebujemy, wcześniej je omawiając.

Zatem w przypadku pojawienia się dialogu konfiguracyjnego należy zawsze na pierwsze pytanie odpowiedzieć "no" - nie chcemy wejść do dialogu, a na drugie "yes" - chcemy zakończyć proces auto instalacji. Proces auto instalacji próbuje pobrać konfigurację urządzenia poprzez sieć, korzystając z kolejnych jego interfejsów - nie chcemy tego. Następnie można kilka razy nacisnąć "ENTER", aby wyczyścić ekran ze zdarzeń i różnych komunikatów, a nastepnie przystąpić do konfiguracji urządzenia w CLI.

Kiedy skończymy konfigurację, za pomocą polecenia "logout" lub "exit" możemy się wylogować.


Polecenie "configure terminal" nie jest dostępne w trybie zwykłego użytkownika (User EXEC). Na slajdzie widać, że nie zostało ono w nim rozpoznane. Wynika to z tego, że tryb ten jest przeznaczony do wykonywania tylko częściowej i najbardziej podstawowej weryfikacji. Nie da się z jego poziomu niczego zmieniać, ani też uzyskać dostępu do bardziej poufnych informacji.

Dopiero tryb uprzywilejowany (Privileged EXEC) daje dostęp do pełnej weryfikacji i konfiguracji, choć i ta może być różnicowana z użyciem m.in. wbudowanych mechanizmów RBAC (Role-Based Access Control), jak wspomniane wcześniej poziomy oraz widoki.

Na slajdzie widać wejście oraz wyjście z trybu konfiguracji globalnej. Następnie ponowne wejście do trybu konfiguracji globalnej i przejście do trybu konfiguracji szczegółowej "interface GigabitEthernet 0". Następnie widać przejście z jednego do drugiego trybu konfiguracji szczegółowej. W pierwszym przypadku poprzez cofnięcie się o jeden poziom niżej, a w drugim poprzez wpisanie dokładnego polecenia. Należy pamiętać, że drugi scenariusz jest możliwy, jeżeli w obecnym kontekście nie znajduje się wydane polecenie. CLI szuka go wtedy poziom niżej. W naszym przypadku się to powiodło i umożliwiło bezpośrednie przejście z trybu konfiguracji szczegółowej "route-map EXAMPLE-RM" do trybu konfiguracji szczegółowej "interface GigabitEthernet 0".

Na końcu widać dwa przejścia z trybu konfiguracji globalnej do trybu uprzywilejowanego. Jedno z użyciem polecenia "end", a drugie z użyciem skrótu "Ctrl+Z". W obu przypadkach nie jest istotne czy jesteśmy w trybie konfiguracji globalnej czy też bardziej szczegółowej - zagłębionej. Wydanie polecenia "end" lub użycie skrótu "Ctrl+Z" powoduje wyjście od razu do trybu uprzywilejowanego. Dla przypomnienia, polecenie "exit" cofało nas zawsze tylko o jeden poziom.

Zanim przejdziemy dalej warto jeszcze zwrócić uwagę na obszar zrzutu poleceń widoczny na żółtawym tle. Widoczny jest tam błąd "Invalid input detected at '^' marker.". Znakiem '^' zostało oznaczone miejsce, w którym pojawia się pierwszy znak niepasujący do żadnego polecenia tego trybu. W ten sposób też wskazywane są literówki.


Jeżeli nie jesteśmy pewni tego, jakie polecenia są dostępne w danym trybie lub kontekście, warto użyć znaku zapytania "?". Sam znak "?" pokazuje wszystkie dostępne dla nas polecenia. Jeżeli interesują nas wszystkie polecenia zaczynające się od danego znaku czy ciągu znaków lub opcje dokończenia tego co wpisujemy, znak zapytania powinien być przyległy do tego co już wpisaliśmy.

Jeżeli podamy go po poleceniu czy jego kolejnym parametrze, to pokażą nam się wszystkie możliwe opcje kontynuowania danego polecenia. Przy czym "<cr>" na liście oznacza, że zostały podane już wszystkie obowiązkowe parametry. Najlepiej przyjrzeć się przestrzeni zrzutu poleceń, gdzie w błękitnym obramowaniu widać, jak ustawiamy czas. Kiedy nie zostają podane wszystkie obowiązkowe parametry, pojawia się błąd "Incomplete command". Listę dostępnych parametrów wyświetlamy z użyciem "?". Polecenie ma wszystkie obowiązkowe parametry, gdy na liście pojawia się "<cr>" - wtedy dopiero można nacisnąć "ENTER".

Wielkość liter dla poleceń wbudowanych w Cisco IOS CLI nie ma znaczenia. Zatem można używać wielkich i małych liter nawet naprzemiennie, jak zostało to pokazane na slajdzie. Wyjątkiem od tego są nazwy tworzonych obiektów. Kiedy się do nich odwołujemy, nazwa musi być precyzyjna, włączając w to wielkość liter.

Bardzo wygodna jest możliwość stosowania skróconych nazw poleceń. Oczywiście ilość wprowadzonych znaków musi jednoznacznie identyfikować polecenie lub jego parametr. Jeżeli tak nie będzie, to pojawi się błąd "Ambiguous command", widoczny w górnej części zrzutu poleceń. Zaraz poniżej widać użycie przyległego znaku "?", które pokazuje możliwe polecenia.


Poniżej zostały zestawione podstawowe skróty klawiszowe, jakie rozpoznaje Cisco IOS CLI. Wiele z nich można kojarzyć z edytorem EMACS. Niektóre też działają w powłoce bash systemów z rodziny GNU/Linux. Aby łatwiej je zapamiętać, w niektórych można powiązać literkę po "Ctrl+" z pierwszą literą słowa w języku angielskim, jak np. B to Backward, a F to Forward.

Przydatne są skróty umożliwiające poruszanie się po historii, a także te umożliwiające przejście na początek lub koniec wpisanego ciągu znaków. Wiele poleceń w Cisco IOS wycofuje się poprzez poprzedzenie ich wyrazem "no".

Stąd używając "Ctrl+P", "Ctrl+A", "no ", "ENTER" można łatwo i szybko cofnąć wcześniej wydane polecenie.

Przydatne jest też stosowanie tabulatora. Klawisz "TAB" uzupełnia częściowo wpisane polecenia.

Kiedy wynik polecenia nie mieści się na jednym ekranie, wyświetlanie zatrzymuje się i pojawia się u dołu: "-- More --". Na tym etapie możemy wyświetlić następną stronę z użyciem klawisza "SPACE", wyświetlać wiersz po wierszu z użyciem klawisza "ENTER" lub nacisnąć dowolny inny klawisz, by przerwać wyświetlanie.

Mówiliśmy już o "Ctrl+Z" w trakcie omawiania przechodzenia z trybu konfiguracji globalnej do trybu uprzywilejowanego. Warto dodać, że jeżeli mieliśmy już wpisane polecenie i naciśniemy "Ctrl+Z", to Cisco IOS najpierw wykona to polecenie, a dopiero przejdzie z trybu konfiguracji do trybu EXEC. Jeżeli nie chcemy, aby wykonał wpisane już polecenie, i zależy nam tylko na tym by przeszedł do trybu EXEC (ignorując to co było już wpisane w CLI), to należy użyć skrótu "Ctrl+C".


W pamięci operacyjnej (RAM) urządzenia znajduje się konfiguracja bieżąca. Jej zawartość można wyświetlić z użyciem polecenia "show running-config". Modyfikacje konfiguracji mają wpływ na zawartość konfiguracji bieżącej.

Konfiguracja startowa znajduje się w trwałej pamięci urządzenia. Najczęściej jest to pamięć typu flash. Dostęp do jej zawartości można uzyskać poleceniem "show startup-config". Zawartość ta jest domyślnie ładowana przy starcie urządzenia.


Wydruk całej zawartości "running-config" lub "startup-config" nie zawsze jest wygodny przy weryfikacji. W środowiskach produkcyjnych składa się on z bardzo wielu linii czy poleceń. Stąd lokalizacja w nim tego co nas interesuje może nie być szybka.

Dlatego warto stosować mechanizm potoków, który łączy wyjście jednego polecenia z wejściem innego, w tym przypadku polecenia służącego do ograniczenia wyświetlanych informacji, jak m.in.:

  • "include" - ogranicza wyświetlane informacje tylko do wierszy pasujących do wskazanego wzorca,
  • "section" - ogranicza wyświetlane informacje tylko do wskazanych sekcji konfiguracyjnych,
  • "begin" - rozpoczyna wyświetlanie informacji od pierwszego dopasowania do wzorca.

Przykłady ich zastosowania widać na zrzucie poleceń.


Nowe wersje systemu Cisco IOS mogą posiadać więcej dostępnych opcji po "|", a starsze mniej. Stąd czasem wystarczy tylko zaktualizować oprogramowanie urządzenia, by cieszyć się większą funkcjonalnością.

Przydatne jest też wyrażenie "exclude", które ogranicza wyświetlane informacje tylko do wierszy nie pasujących do zadanego wzorca. Przykład jego zastosowania widać na zrzucie poleceń, gdzie wyświetliliśmy tylko te interfejsy, które mają przypisany jakiś adres IP. Jest to m.in. przydatne w trakcie diagnozy czy weryfikacji na przełącznikach warstwy trzeciej, gdy chcemy wyświetlić adresy IP jego interfejsów. Mają one dziesiątki, a czasem i setki interfejsów, podczas gdy raptem tylko kilka z nich ma adres IP.


Zdarza się, że będąc w trybie konfiguracji globalnej lub nawet bardziej zagnieżdżonej czy szczegółowej, potrzebujemy coś zweryfikować przed dokończeniem długiego polecenia. Wracanie się do trybu EXEC nie zawsze jest wtedy wygodne.

Na szczęście da się to też zrobić bezpośrednio z miejsca w którym jesteśmy, poprzedzając polecenie trybu EXEC słowem "do".

Niektóre starsze wersje Cisco IOS mogą nie podpowiadać wtedy poleceń i trzeba je precyzyjnie wpisać. Niemniej można korzystać ze skrótów. W nowych wersjach systemu Cisco IOS działa podpowiadanie poleceń trybu EXEC po słowie "do".


Warto prześledzić jeszcze raz przykład konfiguracji daty i czasu, a także sposób ich weryfikacji. Więcej o konfiguracji czasu będzie w module 5, gdzie poruszymy te tematy szerzej przy okazji omawiania konfiguracji protokołu NTP (Network Time Protocol).

Zdarza się, że dostęp do serwerów NTP zostaje odcięty, a na urządzeniu trzeba ustawić odpowiedni czas, tak by używane certyfikaty stały się ważne. To polecenie właśnie w takich scenariuszach jest przydatne.


Historia poleceń jest użyteczna, kiedy prowadzimy diagnozę lub testujemy ustawienia. Wtedy często cofamy się do tego, co już wpisywaliśmy, czasem dokonując w tym drobnych modyfikacji. Stąd też przydają się wtedy poznane wcześniej skróty.

Warto pamiętać, że historia jest czyszczona wraz z wylogowaniem się. Oczywiście można dla przykładu ustawić urządzenia tak, by wpisywane polecenia trafiały do serwera Syslog, wraz z nazwą użytkownika, który je wydał. Niemniej tym się tutaj nie zajmujemy.

Historia poleceń jest prowadzona niezależnie dla trybu EXEC i trybu konfiguracji.


Przed kolejną porcją wiedzy zachęcamy do przećwiczenia i utrwalenia tej poznanej tutaj. Skorzystaj z naszych ćwiczeń!


Zachęcamy do śledzenia nas w mediach społecznościowych Facebook i LinkedIn.


Zapraszamy do kontaktu drogą mailową Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript. lub telefonicznie +48 797 004 932 lub +48 797 004 938.