Podręcznikiem do Laboratorium (Lab Reference Guide)

Transkrypt

Podręcznikiem do Laboratorium (Lab Reference Guide)
Zakład Sieci i Usług Teleinformatycznych
Laboratorium sieci
Podręcznik do Laboratorium:
Protokoły routingu IP
Michał Jarociński, Piotr Gajowniczek
v.4.1, wrzesień 2016
ZSUT. Zakład Sieci i Usług Teleinformatycznych
Instytut Telekomunikacji
Wydział Elektroniki i Technik Informacyjnych
Politechnika Warszawska
Laboratorium sieci: Protokoły routingu IP – podręcznik
1. Cel Laboratorium
Laboratorium ma umożliwić zapoznanie się z działaniem protokołów routingu w warunkach zbliżonych do
rzeczywistych. Wykonanie ćwiczeń pozwoli zaznajomić się z procesem konfigurowania sieci zbudowanej z
routerów Cisco, wykorzystaniem różnych środków umożliwiających administrowanie routerami i
obserwowaniem zdarzeń zachodzących w sieci.
2. Opis ogólny
Urządzenia sieciowe wykorzystywane w Laboratorium (Rys.1):



5 routerów Cisco serii 26xx z interfejsami Fast Ethernet i systemem operacyjnym Cisco IOS v.
12.4;
serwer terminali zapewniający dostęp do portów konsolowych poszczególnych routerów;
serwer dostępowy (ztit-gateway, o adresie IP: 194.29.169.1).
Łącza fizyczne między routerami są okablowane na stałe. Zmienianie stanu interfejsów pozwala na
aktywację lub dezaktywację poszczególnych łączy, co umożliwia konfigurowanie sieci zgodnie z naszymi
wymaganiami. Konfigurowanie interfejsów loopback pozwala na symulowanie jednej lub więcej
wirtualnych podsieci dla każdej trasy osobno.
3. Zdalny dostęp
Warunkiem dostępu do Laboratorium jest wcześniejsza rezerwacja terminu. W celu dokonania rezerwacji
należy posiadać konto w systemie rezerwacji:
http://194.29.169.67/ResourceReservation
Do wykonania laboratorium konieczne jest posiadanie danych logowania, które umożliwią dostęp do
serwerów Zakładu. Dane te zostaną przysłane drogą e-mailową na konto pocztowe lidera grupy w chwili
udostępnienia zasobów (czyli na początku terminu rezerwacji).
Posiadając aktywną rezerwację należy połączyć się z serwerem dostępowym (ztit-gateway) pod adresem
194.29.169.1, korzystając z wybranego klienta ssh i danych do logowania otrzymanych automatycznie
pocztą elektroniczną z systemu rezerwacji. Z serwera ztit-gateway można, za pośrednictwem serwera
terminali ustanawiać sesje telnet z portami konsolowymi poszczególnych routerów, co opisane jest w
rozdziale 4.
2
Laboratorium sieci: Protokoły routingu IP – podręcznik
Serwer terminali
(terminal server)
Internet
ztit-gateway
194.29.169.1
(front-end)
R1
port 2101
F0/1
F0/0
F0/0
R2
port 2102
F0/1
F0/0
R3
port 2103
F0/1
F0/0
R4
port 2104
F0/1
F0/1
R5
F0/0
port 2105
Rys.1. Konfiguracja sprzętu w Laboratorium
4. Dostęp do konsoli routerów
Dostęp do portów konsolowych routerów w Laboratorium jest możliwy z serwera ztit-gateway za
pośrednictwem serwera terminali. Adres IP serwera terminali zostanie podany w wiadomości email
wysłanej automatycznie przez system rezerwacji w chwili rozpoczęcia okresu zarezerwowanego na
wykonanie ćwiczenia. Ponieważ sesje telnet do serwera terminali nie są kończone po wylogowaniu się z
routera, należy zapewnić zakończenie każdej sesji telnet. Przez dodanie opcji –e do komendy telnet w
serwerze dostępowym można ustawić „znak wyjścia” (escape) dla tej sesji. W tym dokumencie jako znak
wyjścia jest używany #. Aby zainicjować sesję telnet do portu konsolowego przez serwer terminali, można
użyć następującej komendy:
>> telnet –e# <IP serwera terminali> <port TCP>
Po zamknięciu konsoli routera (polecenie quit) można wyjść do sesji telnet wpisując znak escape (w tym
przypadku znak #). Aby zamknąć sesję należy wpisać polecenie close, co spowoduje powrót do systemu
operacyjnego na ztit-gateway.
Konsola każdego routera jest widoczna na indywidualnym porcie TCP:





3
R1 = port 2101
R2 = port 2102
R3 = port 2103
R4 = port 2104
R5 = port 2105
Laboratorium sieci: Protokoły routingu IP – podręcznik
Aby połączyć się z portem konsolowym routera R1 należy więc z serwera ztit-gateway ustanowić sesję
telnet do adresu IP serwera terminali na porcie TCP 2101:
>> telnet –e# <IP serwera terminali> 2101
5. Oprogramowanie routerów
5.1. IOS
Routery pracują pod kontrolą systemu Cisco IOS. Na stronie internetowej Laboratorium można znaleźć
odnośniki do bardziej szczegółowych informacji na temat IOS. Tutaj podano tylko bardzo skrótowe
wprowadzenie.
IOS jest zarówno systemem operacyjnym routera jak i jego „aplikacją” (lub zbiorem aplikacji). Do
sterowania IOS, a tym samym routerem, przeznaczony jest interfejs wiersza poleceń IOS, w skrócie CLI
(Command Line Interface).
5.2. Dopełnianie poleceń
Większość poleceń nie musi być pisana w całości. Jeżeli wpisane znaki wystarczają do rozpoznania danej
komendy, dalsze wpisywanie znaków może zostać przerwane. W przypadku braku pewności co do
polecenia, można zawsze wpisać pytajnik wywołujący podpowiedź. Jest to pomocne w sprawdzeniu
zarówno pod-poleceń, jak i tego co pokazują komendy. W celu realizacji polecenia można także użyć
klawisza TAB.
5.3. Tryby
IOS ma kilka poziomów lub trybów poleceń. Zależnie od trybu można używać różnych poleceń. Po
połączeniu się z routerem uzyskuje się dostęp do trybu EXEC. Poleceniem, które w tym trybie jest używane
najczęściej, jest polecenie show. Można także użyć polecenia ping lub polecenia telnet.
W trybie EXEC tekst zachęty (command prompt) kończy się znakiem >:
R1>
Wiele parametrów systemu da się zmieniać tylko w trybie PRIVILEDGED, do którego przechodzi się
poleceniem enable. Tryb uprzywilejowany może być chroniony hasłem. W trybie PRIVILEGED tekst
zachęty kończy się znakiem #:
R1#
Aby wrócić do trybu EXEC z trybu PRIVILEGED, należy wydać polecenie exit. Kolejnym trybem jest tryb
CONFIG (więcej informacji w Rozdziale 5.5).
5.4. Konfiguracja
Konfiguracja routera pamiętana jest w dwóch miejscach. Pierwszym jest startup-config, w którym
konfiguracja jest przechowywana w pamięci nieulotnej i jest kopiowana do pamięci running-config
podczas rozruchu lub restartu routera.
Zawartość pamięci running-config jest konfiguracją używaną, gdy router jest włączony i działa. Wydanie
polecenia konfiguracji w trybie CONFIG zmienia running-config, tym samym zmieniając zachowanie
routera. Bieżącą konfigurację można skopiować do pamięci startup-config komendą:
#copy running-config startup-config
4
Laboratorium sieci: Protokoły routingu IP – podręcznik
Utworzenie pliku startup-config na początku ćwiczenia umożliwia powrócenie do początkowej
konfiguracji poleceniem:
#configure replace nvram: startup-config
Uwaga! Prosze nie używać komendy reload do reinicjalizacji routera; może to skutkować utratą
komunikacji z routerem.
5.5. Polecenie configure
Aby wejść do trybu CONFIG należy użyć polecenia config. Polecenie to wymaga podania źródła
parametrów konfiguracji. W naszym przypadku będzie to terminal, więc polecenie powinno wyglądać
następująco:
# configure terminal
lub w skrócie
# conf t
Każde polecenie konfiguracji wydane w trybie CONFIG jest natychmiast aktywowane. Można więc łatwo
– przez nieuwagę – zamknąć port, przez który komunikujemy się z routerem.
Każda funkcja w routerze może być ustawiona lub nie. W celu ustawienia funkcji, należy użyć specyficznej
komendy konfiguracji. Aby przywrócić funkcję do stanu poprzedniego należy wpisać no na początku tej
samej komendy. Wszystkie funkcje mają domyślny status, dla większości z nich ten stan jest nieustawiony.
Stan domyślny nie jest drukowany w listingu konfiguracji. W związku z tym, tych kilku komend, które mają
ustawiony stan domyślny, nie będzie widać na wydruku konfiguracji. Będą one jedynie wylistowane, jeśli
będą nieustawione, tj. pokażą się w listingu z no na początku i po aktywowaniu tej funkcji będą ponownie
niewidoczne.
Tryb CONFIG ma kilka „pod-trybów”, np. podtryb konfiguracji interfejsu. Podtryb ten można włączyć przez
wydanie polecenia konfiguracji interfejsu:
(config)# interface fastethernet 0/0
lub w skrócie
(config)# in f0/0
W podtrybie konfiguracji interfejsu można przypisać interfejs i adres IP. W tym celu należy użyć polecenia
ip address <ip address> <mask>. W podtrybie tym można także otwierać i zamykać poszczególne
interfejsy. Aby zamknąć interfejs należy użyć polecenia shutdown, aby go otworzyć należy użyć polecenia
no shutdown. Możliwe jest także tworzenie i kasowanie wirtualnych interfejsów, tzw. interfejsów
loopback. Utworzenie nowego interfejsu loopback realizowane jest przez wydanie polecenia interface
loopback <interface-number>.
Z trybu CONFIG lub każdego podtrybu trybu PRIVILEGED można wyjść wciskając Ctrl-Z. Aby wyjść z
podtrybu lub z trybu CONFIG należy użyć polecenia exit.
5.6. Polecenie debug
Kolejnym przydatnym poleceniem jest polecenie debug. Użycie tego polecenia w normalnych warunkach
jest niebezpieczne, ponieważ może prowadzić do sytuacji, w której wszystkie pakiety przechodzące przez
router są wyświetlane na konsoli, co może mieć poważny wpływ na wydajność routera. W Laboratorium
panuje niewielki ruch między routerami, więc możliwe jest debugowanie praktycznie wszystkiego, od
pojedynczego pakietu IP do rozgłoszeń routingowych wysyłanych między routerami.
5
Laboratorium sieci: Protokoły routingu IP – podręcznik
W celu obejrzenia wyjścia trybu DEBUG należy skierować je na konsolę terminala, z którym istnieje
aktywne połączenie. W tym celu należy użyć polecenia terminal monitor. Włączenie trybu DEBUG
realizujemy przez wydanie polecenia debug <parameter …>. Aby wyłączyć debugowanie, najlepiej jest
użyć polecenia no debug all.
5.7. Polecenie quit
Aby zamknąć terminal lub zakończyć sesję należy użyć komendy quit. Należy pamiętać, że ta komenda nie
kończy sesji telnet z serwera terminali.
5.8. Polecenie show
Polecenia show są jednymi z najczęściej używanych poleceń. Wszystkie parametry routera mogą być
kontrolowane przy użyciu tych poleceń. Poniżej przedstawiono kilka przykładowych, przydatnych poleceń.
show running-config
Polecenie pozwalające na kontrolę running-config. Polecenie musi być wydane w trybie PRIVILEDGED.
show interface
Polecenie pozwalające na kontrole obecnego statusu interfejsu. Jeśli nie ma potrzeby wylistowania
wszystkich interfejsów, można wprowadzić nazwę interfejsu.
show IP interface brief
Polecenie pozwalające na uzyskanie listy wszystkich interfejsów routera z adresami IP.
show IP protocol
Polecenie wyświetlające informacje o parametrach i statusie protokołów routingu działających w
routerze.
show IP route
Polecenie wyświetlające tablicę forwardingu routera. W celu określenia widoku tablicy dla jednego lub
kilku protokołów routingu należy użyć komendy show ip route <routing protocol>.
show CDP neighbor
Cisco Discovery Protocol (CDP) jest firmowym protokołem Cisco, używanym do wymiany informacji
między sprzętem Cisco, którego sąsiedzi są podłączeni do urządzenia. Wydanie tego polecenia jest dobrym
sposobem na sprawdzenie połączeń. Dodanie parametru detailed jako sufiksu polecenia umożliwia
otrzymanie większej ilości informacji.
5.9. Polecenia ping i traceroute
Zarówno ping jak i traceroute są narzędziami dostępnymi w IOS. W podstawowej formie przyjmują odległy
host jako parametr. Przykład:
ping 192.168.101.10
traceroute 192.168.7.17
Ponieważ router ma kilka interfejsów, pojawia się tutaj problem: który z nich będzie użyty jako źródłowy?
Wszystkie funkcje, które wykorzystują pakiety IP, włączając ping i traceroute, jako interfejsu źródłowego
używają interfejsu, który jest najbliżej odległego hosta. W Laboratorium mogą mieć miejsce sytuacje, w
których nie jest to to, czego oczekujemy.
Sprawdzenie połączenia może zostać zrealizowane przy pomocy interfejsu loopback routerów jako
interfejsu źródłowego. Tryb PRIVILEDGED pozwala na użycie rozszerzonej wersji ping i traceroute. W tym
6
Laboratorium sieci: Protokoły routingu IP – podręcznik
celu należy wydać polecenie ping lub traceroute bez żadnych parametrów. Będzie wtedy dostępnych kilka
sposobów sterowania tymi poleceniami, jak liczba wysłanych pakietów, rozmiar pakietu i więcej.
Odpowiedź yes na pytanie Extended commands question umożliwia zadeklarowanie interfejsu źródłowego
lub źródłowego adresu IP. W drugim przypadku adres IP musi pochodzić spośród własnych adresów IP
routerów. Możliwe jest także użycie tych funkcji na serwerze dostępowym – można tam porównać strony
pomocy dla ping, traceroute i spray.
Uwaga: Interfejs szeregowy routera nie odpowiada na ping, jeśli interfejsy na obu końcach łącza
szeregowego nie są poprawnie skonfigurowane. Dotyczy to w szczególności adresów IP; obydwa interfejsy
na łączu szeregowym muszą mieć adresy IP w tej samej podsieci, zanim któryś z nich odpowie na żądania
ping.
6. Porady i wskazówki
6.1. Sugerowana przestrzeń adresowa
Możliwy jest wybór dowolnego adresu sieci oraz maski podsieci dla wszystkich segmentów sieci.
Sugerowane przestrzenie adresowe do użycia w Laboratorium to:
192.168.10.0 - 192.168.90.255
172.16.0.0 - 172.16.255.255
10.0.0.0 - 10.255.255.255
6.2. Przygotowanie do wykonania Laboratorium
Ponieważ wykonując ćwiczenia można sobie wybrać adresy IP oraz maski podsieci dla wszystkich
używanych segmentów sieci, przygotowując się do Laboratorium warto rozpisać na schemacie adresację
sieci i adresy przydzielone interfejsom routerów. Praktycznym usprawnieniem jest przygotowanie sobie
w pliku tekstowym poleceń konfigurujących routery, aby następnie – korzystając z możliwości interfejsu
routera Cisco i oprogramowania putty czy obsługi konsoli w trybie graficznym unixa – wklejać
przygotowane wcześniej polecenia zamiast ich wielokrotnego ręcznego „wklepywania”. Ponieważ
potrzebne będą kopie poleceń i ich wyników, warto zapisać wcześniej, co należy skopiować jako wyniki
kolejnych punktów ćwiczenia i zapisać polecenia jakimi można te wyniki uzyskać (można też zapisywać do
pliku cały przebieg sesji, a następnie kopiować do sprawozdania potrzebne fragmenty).
6.3. Logowanie do Laboratorium
Połączenie z Laboratorium jest możliwe tylko wtedy, gdy zacznie płynąć czas zarezerwowany przez dany
zespół. Procedura opisana jest w Rozdziale 3.
6.4. Wyjście z zablokowanej sesji telnet
Jeśli wyjście z sesji telnet nie jest możliwe, należy wykonać następujące kroki:




7
należy otworzyć nową sesję ssh do serwera dostępowego
należy znaleźć PID zablokowanej sesji telnet za pomocą polecenia ps
należy „zabić” zablokowaną sesję telnet za pomocą polecenia kill. W tym celu należy użyć PID
znaleziony za pomocą polecenia ps
należy zamknąć dodatkową sesję ssh.
Laboratorium sieci: Protokoły routingu IP – podręcznik
Zamknięcie otwartych sesji telnet można wykonać przez wywołanie na ztit-gateway komendy:
ps -au username | grep telnet | awk '{print $1}' | xargs kill -9
6.5. Zmiana znaku wyjścia
Bieżący znak wyjścia można zmienić w trybie uprzywilejowanym używając polecenia: terminal escapecharacter <escape-characters>
6.6. Inne porady
Warto także pamiętać o istotnych szczegółach:




8
Interfejsy w routerze Cisco są domyślnie nieaktywne; aby sieć zadziałała należy uaktywnić je po
ich skonfigurowaniu poleceniem no shutdown.
W trakcie wykonywania zadań laboratoryjnych należy obserwować wyniki polecenia debug. Aby
można było je obserwować, należy pamiętać o uprzednim wydaniu polecenia terminal monitor
w trybie uprzywilejowanym. Warto to polecenie wydać na początku zwłaszcza w przypadku
routera R1.
Polecenia rozpoczynające się od show i debug działają właściwie w trybie uprzywilejowanym
(wizualnie znak # przy nazwie routera w jego linii poleceń); aby je wydać należy przejść do tego
trybu.
Po skonfigurowaniu routera oraz protokołu routingu warto sprawdzić poprawność konfiguracji
przeglądając plik konfiguracyjny (show running-config lub sh runn) oraz zawartość tablicy
routingu (show ip route).