Wybrane zagadnienia Cisco IOS

(notatki w trakcie opracowywania, sugestie mile widziane)

Dostęp do routera

Podstawowym sposobem podłączania się do sprzętowego routera jest skorzystanie z portu konsoli. Jest to zwykły port szeregowy (choć z nietypowym gniazdem), przeznaczony do podłączania terminala tekstowego. Równie dobrze można tam podłączyć peceta z uruchomionym programem terminalowym (HyperTerminal, minicom, itp.). Parametry połączenia szeregowego: szybkość 9600 bitów na sekundę, 8-bitowe znaki bez bitu parzystości, 1 bit stopu.

Po odpowiednim skonfigurowaniu (i ustawieniu haseł!) można również zarządzać routerem poprzez Internet (telnet) lub modem.

Linia poleceń Cisco mocno przypomina linię poleceń systemów uniksowych. Działają strzałki i uzupełnianie słów klawiszem Tab, dodatkowo pod klawiszem pytajnika zawsze jest dostępna pomoc. Wszelkie polecenia, słowa kluczowe i nazwy można skracać do kilku początkowych liter, jak długo nie powoduje to pojawienia się dwuznaczności. W przypadku zamazania pisanego właśnie tekstu przez niespodziewanie wyskakujące komunikaty diagnostyczne jądra systemu należy nacisnąć Ctrl-R w celu przerysowania ekranu.

Polecenia ogólne

Linia komend routera Cisco może znajdować się w jednym z trzech głównych trybów pracy: zwykłego użytkownika, uprzywilejowanego administatora, konfiguracyjnym. Tuż po podłączeniu się do konsoli routera jest się w trybie użytkownika; po przejściu w tryb administratora dostaje się dostęp do dodatkowych poleceń (głównie takich związanych z podglądaniem i zmianą konfiguracji urządzenia). Każdy z trybów ma inny znak zachęty; przedstawione poniżej ściągawki zawierają te znaki zachęty, aby w ten sposób pokazać w jakim kontekście dane polecenie moźe być użyte.

> show version
Wyświetla informacje o routerze (wersja systemu operacyjnego, ilość pamięci, zainstalowane interfejsy sieciowe oraz nazwy im przydzielone, i tak dalej).
> enable
Przejdź z trybu "user exec" do "privileged exec" (znak zachęty zmieni się z > na # ).
# disable
Przejdź z trybu "privileged" z powrotem do "user".
# show running-config
Wyświetla aktualną konfigurację routera (działa tylko w trybie "privileged").
# configure terminal
Przejdź z "privileged exec" do konfigurowania routera dyrektywami z klawiatury (znak zachęty zmieni się na (config)# ), powrót po naciśnięciu Ctrl-Z albo poleceniu end.

Konfiguracja jest zorganizowana na wzór drzewa. Na jego najwyższym poziomie ustawia się opcje odnoszące się do routera jako całości (jak np. jego nazwa), w gałązkach znajdują się zaś opcje odnoszące się do poszczególnych interfejsów sieciowych. Czasami samo istnienie gałązki (np. gałązki protokołów dynamicznego routingu) ma wpływ na działanie routera, nawet jeśli wewnątrz niej nie ustawiono żadnych podrzędnych opcji. Podczas przechodzenia pomiędzy poziomami drzewa zmieniać się będzie znak zachęty.

Aby usunąć jakąś pozycję z drzewa konfiguracji, należy wpisać ją ponownie poprzedzając słowem kluczowym no.

(config)# hostname nazwa
Ustala nową nazwę routera.
(config)# ip classless
(config)# ip subnet-zero
Powinny być domyślnie włączone w aktualnych wersjach Cisco IOS, ale nie zawadzi sprawdzić. Bez nich router może mieć problemy z pracą w sieciach IPv4 o arbitralnie dobieranych maskach (czyli w sieciach wykorzystujących VLSM).
(config)# no ip domain-lookup
Zabrania routerowi podejmowania prób zamiany adresów numerycznych na nazwy DNS. Próbują to robić np. polecenia ping oraz traceroute, aby drukowane na konsoli wyniki ich działania ładniej wyglądały; i oczywiście jeśli w routerze nie skonfigurowano uprzednio DNS, zamiast ładnych wyników dostaniemy długie minuty oczekiwania na odpowiedź z nieistniejącego DNS.

Polecenia dotyczące interfejsów

# show interface [ nazwa_interfejsu ]
Wyświetla informacje dotyczące interfejsów sieciowych, wszystkich lub tylko wskazanego.
# show controllers [ nazwa_interfejsu ]
Wyświetla informacje o kontrolerze interfejsu szeregowego, w szczególności o tym jaki typ kabla jest do niego podłączony, i jaką rolę nam to narzuca (DTE czy DCE).
# show protocols
Wyświetla zwięzłe informacje o stanie interfejsów i o protokołach (tzn. adresach), jakie zostały na nich skonfigurowane.
# show ip interface [ nazwa_interfejsu ]
Wyświetla dokładne informacje na temat parametrów interfejsów mających związek z IPv4.
# show ip interface brief
Krótkie podsumowanie, po jednej linii na interfejs.
(config)# interface nazwa_interfejsu
Wybierz wskazany interfejs jako kontekst, w którym będą wykonywane następne polecenia. Znak zachęty powinien przyjąć postać (config-if)# .
(config-if)# ip address adres maska
(config-if)# ip address adres maska secondary
Konfiguruje adresy IPv4 związane z tym interfejsem. Można mieć jeden adres główny i kilka pobocznych.
(config-if)# clock rate szybkość_w_bps
Dla synchronicznych interfejsów szeregowych pracujących jako DCE. Interfejs rozpocznie wysyłanie sygnału taktującego o zadanej częstotliwości; można to potem dodatkowo potwierdzić patrząc na dane wyświetlane przez show controller. Warto się wcześniej upewnić, czy urządzenie na drugim końcu kabla będzie w stanie obsłużyć tę prędkość transmisji.
(config-if)# no shutdown
Zdejmuje z interfejsu blokadę administracyjną. Po jej zdjęciu router spróbuje nawiązać kontakt z urządzeniem na drugim końcu tego połączenia sieciowego.
(config-if)# description dowolny opis
Dodaje do interfejsu krótkę notkę tekstową przeznaczoną dla oczu administratora, np. "łącze dzierżawione do zapasowego providera".
(config-if)# exit
Powrót na główny poziom drzewa konfiguracji.

Polecenia dotyczące routingu

# show ip route
Wyświetla zawartość tablicy routingowej.
# show ip protocols
Wyświetla informacje o aktywnych protokołach dynamicznego routingu.
# ping adres
# traceroute adres
# telnet adres
Odpowiedniki znanych poleceń uniksowych, przydatne przy diagnozowaniu problemów w sieci.
(config)# ip route docelowa_sieć jej_maska adres_pierwszego_pośrednika [ metryka ] [ permanent ]
Definiuje statyczną regułę routingową. Wskazany router-pośrednik musi być osiągalny, w przeciwnym razie trasa będzie co prawda zdefiniowana, ale pomijana podczas przeglądania tabelki (chyba że użyto słowa kluczowego permanent). Parametry 0.0.0.0 0.0.0.0 oznaczają oczywiście trasę domyślną (wykorzystuje się ją wtedy, gdy nasz router ma tylko jedno łącze prowadzące w świat). W przypadku kilku tras prowadzących do tej samej docelowej sieci wskazane jest określenie dla nich metryk (wyrażanych liczbami naturalnymi), tak aby można było jednoznacznie wybrać jedną z tych tras – im mniejsza metryka, tym wyższy priorytet danej trasy.
# show ip ospf
Wyświetla ogólne informacje o konfiguracji OSPF.
# show ip ospf neighbor [ detail ]
Wyświetla informacje o sąsiadujących z naszym routerem partnerach korzystających z OSPF.
# show ip ospf interface [ nazwa_interfejsu ]
Wyświetla informacje o parametrach OSPF i sąsiadach widzianych poprzez poszczególne interfejsy.
# debug ip ospf adj | packet | events | ...
Wyświetlaj zawiadomienia o zajściu określonych zdarzeń związanych z działanie OSPF.

Polecenia dotyczące RIP

# debug ip rip
Na konsoli będą się pojawiać komunikaty o wysyłaniu/odbieraniu pakietów RIP i akcjach w związku z tym podejmowanych.
version 1 | 2
Wybierz wersję RIP, którą ma obsługiwać router.