Академический Документы
Профессиональный Документы
Культура Документы
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Cisco. Receptury
Autorzy: Kevin Dooley, Ian J. Brown
Tumaczenie: Marek Paczyski,
Grzegorz Werner, Witold Zioo
ISBN: 83-7361-330-7
Tytu oryginau: Cisco Cookbook
Format: B5, stron: 954
System operacyjny IOS firmy Cisco charakteryzuje si sporymi moliwociami dziaania
i elastycznoci, ale jednoczenie jest bardzo skomplikowany i trudno dostpny.
Wikszo zada mona w nim zrealizowa na kilka sposobw, a nikt nie chce przecie
marnowa cennego czasu na poszukiwanie najwaciwszego rozwizania.
Dlatego wanie napisano t ksik. Na szczcie wikszo zada konfiguracyjnych
moe zosta podzielona na kilka niezalenych etapw konfiguracj interfejsu,
mechanizmw obsugi protokow routingu, czy zapasowych, implementacj
algorytmw, filtrowania pakietw i wczanie innych systemw kontroli dostpu.
To co faktycznie potrzebne jest administratorowi sieci, to zestaw dobrych receptur,
ktre bd zawiera informacje niezbdne do realizacji najczciej powtarzajcych si
zada. Gwarantuj one waciw konfiguracj sieci i daj pewno, e zastosowane
rozwizania s waciwe i speniaj oczekiwania administratora.
Ksika Cisco. Receptury zawiera przykady rozwiza wikszoci wystpujcych
problemw konfiguracyjnych, w tym:
konfigurowanie wielu rodzajw interfejsw, od interfejsw szeregowych,
przez ATM po Frame Relay,
konfigurowanie mechanizmw obsugi wszystkich powszechnie stosowanych
protokow routingu (RIP, EIGRP, OSPF o BGP),
konfigurowanie systemu uwierzytelniania,
konfigurowanie usug dodatkowych, takich jak DHCP i NAT,
parametryzowanie czy zapasowych i wykorzystanie protokou HSRP
do zarzdzania routerami zapasowymi,
zarzdzenie routerami z uwzgldnieniem usug SNMP i innych,
wykorzystanie list dostpu do sterowania przepywem danych.
Ksika ta z pewnoci przyda si osobom, ktre na co dzie posuguj si routerami
firmy Cisco. Pomoe ona szybko i skutecznie rozwiza wszystkie pojawiajce si
problemy. Nawet dowiadczeni administratorzy sieci z pewnoci skorzystaj
z zawartych w niej propozycji rozwiza i szczegowych opisw, pozwalajcych
na nowe spojrzenie na okrelone zagadnienia. Osoby, ktre nie maj dowiadczenia
w pracy z routerami, a otrzymay zadanie zarzdzania sieci wyposaon w urzdzenia
Cisco, mog dziki tej ksice zaoszczdzi sobie sporo pracy.
Spis treci
Wstp................................................................................................................................15
Rozdzia 1. Konfigurowanie routera i zarzdzanie plikami .................................19
1.0. Wprowadzenie ................................................................................................................................19
1.1. Konfigurowanie routera za porednictwem protokou TFTP.................................................22
1.2. Zapisywanie konfiguracji routera na serwerze .........................................................................24
1.3. Uruchamianie routera z wykorzystaniem zdalnego pliku konfiguracyjnego......................26
1.4. Pliki konfiguracyjne wiksze ni pojemno NVRAM ............................................................29
1.5. Usuwanie konfiguracji startowej .................................................................................................31
1.6. Pobieranie nowego obrazu IOS....................................................................................................34
1.7. Uruchamianie rnych obrazw IOS ..........................................................................................37
1.8. Uruchamianie za porednictwem sieci .......................................................................................41
1.9. Kopiowanie obrazu IOS na serwer..............................................................................................43
1.10. Kopiowanie obrazu IOS za pomoc konsoli ............................................................................44
1.11. Usuwanie plikw z pamici flash ..............................................................................................47
1.12. Partycjonowanie pamici flash...................................................................................................49
1.13. Wykorzystanie routera jako serwera TFTP ..............................................................................51
1.14. Wykorzystanie usugi FTP routera ............................................................................................53
1.15. Przygotowanie wikszej liczby plikw konfiguracyjnych routera.......................................55
1.16. Jednorazowa zmiana konfiguracji wielu routerw.................................................................57
1.17. Pobieranie informacji o wyposaeniu .......................................................................................61
1.18. Sporzdzanie kopii zapasowej konfiguracji routera...............................................................63
Spis treci
Spis treci
Rozdzia 4. TACACS+.................................................................................................165
4.0. Wprowadzenie ..............................................................................................................................165
4.1. Centralny system uwierzytelniania uytkownikw ...............................................................167
4.2. Ograniczanie dostpu do polece..............................................................................................170
4.3. Brak komunikacji z serwerem TACACS+ ................................................................................172
4.4. Wyczanie uwierzytelniania TACACS+ dla wybranych linii..............................................174
4.5. Przechwytywanie informacji o wprowadzonych cigach tekstowych ................................176
4.6. Zapisywanie zdarze systemowych..........................................................................................177
4.7. Ustalanie okrelonego rdowego adresu IP dla komunikatw TACACS+.....................179
4.8. Pobieranie darmowego oprogramowania serwera TACACS+ .............................................180
4.9. Przykadowy plik konfiguracyjny serwera ..............................................................................181
Spis treci
6.4. Redystrybucja tras z wykorzystaniem odwzorowania tras...................................................230
6.5. Trasa domylna w protokole RIP...............................................................................................233
6.6. Wyczanie obsugi protokou RIP w interfejsie .....................................................................234
6.7. Wysyanie uaktualnie RIP do jednej stacji .............................................................................237
6.8. Dodawanie staej wartoci do metryk tras ...............................................................................239
6.9. Zmiana zalenoci czasowych....................................................................................................241
6.10. Zmiana przerwy midzy pakietami ........................................................................................244
6.11. Wyzwalane uaktualnienia.........................................................................................................246
6.12. Zwikszanie pojemnoci bufora wejciowego .......................................................................248
6.13. Konfigurowanie protokou RIP w wersji drugiej ..................................................................249
6.14. Wczanie uwierzytelniania RIP ..............................................................................................252
6.15. Uoglnianie tras RIP ..................................................................................................................254
6.16. Znaczniki tras ..............................................................................................................................257
Spis treci
Spis treci
10.3. Wykorzystanie polece map podczas konfigurowania obsugi protokou Frame Relay...... 417
10.4. Wykorzystanie podinterfejsw transmisji wielopunktowej ................................................419
10.5. Konfigurowanie czy SVC sieci Frame Relay.......................................................................421
10.6. Symulacja sieci Frame Relay.....................................................................................................424
10.7. Kompresja danych Frame Relay ..............................................................................................426
10.8. Kompresja danych Frame Relay za pomoc polecenia map ...............................................428
10.9. Przegldanie informacji o stanie czy sieci Frame Relay....................................................430
Spis treci
10
Spis treci
15.6. Uycie pocze STUN ..............................................................................................................604
15.7. Uycie pocze BSTUN............................................................................................................607
15.8. Kontrola fragmentacji pakietw DLSw...................................................................................609
15.9. Znacznikowanie pakietw DLSw w celu zapewnienia wysokiej jakoci usug (QoS)....610
15.10. Obsuga priorytetw SNA ......................................................................................................612
15.11. Nadmiarowo i odporno na uszkodzenia w DLSw+ ....................................................614
15.12. Poznanie stanu DLSw ..............................................................................................................615
15.13. Poznanie stanu SDLC ..............................................................................................................616
15.14. Rozwizywanie problemw z poczeniami DLSw ...........................................................619
Spis treci
11
12
Spis treci
19.8. Rejestrowanie przypadkw uycia listy dostpu..................................................................766
19.9. Rejestrowanie sesji TCP .............................................................................................................768
19.10. Analizowanie wpisw dziennika ACL .................................................................................770
19.11. Korzystanie z nazwanych i zwrotnych list dostpu ...........................................................773
19.12. Obsuga pasywnego trybu FTP ..............................................................................................776
19.13. Uywanie kontekstowych list dostpu .................................................................................777
Spis treci
13
Zarzdzanie routerem
2.0. Wprowadzenie
Niniejszy rozdzia, podobnie jak poprzedni, zawiera informacje o sposobach zarzdzania
prac routera. W poprzedniej czci ksiki poruszano zagadnienia zwizane z ogln
administracj urzdzeniami, w tym problematyk zarzdzania systemem plikw. W tym
rozdziale wikszo tematw dotyczy spraw zarzdzania oraz dostosowywania konfiguracji routerw, ktre maj na celu zwikszenie wydajnoci urzdze. Zaprezentowane
zostay rwnie niektre sposoby reagowania na sytuacje awaryjne, w tym, na przykad,
wykonywanie awaryjnych zrzutw pamici.
Systemy IOS Cisco obsuguj wiele protokow i usug przeznaczonych do wykonywania okrelonych zada. Niektre z nich znajduj szczeglne zastosowanie w zarzdzaniu
i administrowaniu urzdzeniami, natomiast inne s nieocenione przy testowaniu okrelonych rozwiza. Jednym z najbardziej uytecznych elementw systemu jest protok
wyszukiwania CDP (ang. Cisco Discovery Protocol), ktry umoliwia gromadzenie wielu
informacji na temat pocze midzy urzdzeniami Cisco realizowanymi w warstwie
drugiej modelu OSI. Niniejszy rozdzia opisuje wspomniany protok, uwzgldniajc
rwnie niektre znane problemy zwizane z bezpieczestwem.
W przypadku innych usug zazwyczaj najlepszym rozwizaniem jest ich wyczenie.
Niektre z interfejsw zarzdzania (np. HTTP) lub protokow testowych (okrelanych
jako mae serwery TCP i UDP), nie odgrywaj wikszej roli w zarzdzaniu routerami
i domylnie s wyczane. Inne protokoy (np. DNS) peni bardzo uyteczne funkcje i s
z zaoenia wczone.
W rozdziale tym opisano take kilka istotnych opcji administracyjnych, takich jak definiowanie nazw dla innych urzdze sieciowych i definiowanie aliasw dla polece, ktre
uatwiaj zapamitywanie i posugiwanie si skomplikowanymi instrukcjami. W kocowej
czci rozdziau przedstawiono cztery skrypty, ktrych zadanie polega na gromadzeniu
istotnych informacji na temat funkcjonujcych w sieci urzdze.
68
Rozwizanie
Do tworzenia aliasw polece routera suy instrukcja alias:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#alias exec rt show ip route
Router1(config)#alias exec on show ip ospf neighbor
Router1(config)#end
Router1#
Analiza
Zagadnienie tworzenia aliasw dla wyjtkowo zoonych polece systemowych jest
znane administratorom systemw Unix od wielu lat. Dziki nim upraszcza si procedur
wprowadzania instrukcji i oszczdza tym samym czas. Dziki zastosowaniu aliasw dugie
polecenia zostaj skrcone do kilku znakw. Technika ta ma szczeglnie due zastosowanie przy upraszczaniu czsto wykonywanych instrukcji lub tych, ktre s na tyle
skomplikowane, e ich zapamitanie sprawia due trudnoci. Aliasy mona tworzy dla
dowolnych polece, zawierajc w nich rwnie cz lub wszystkie stosowane w danej
instrukcji opcje i sowa kluczowe.
W prezentowanym przykadzie utworzono alias o nazwie rt, ktry zastpuj wykorzystywane niemal codziennie polecenie show ip route:
Router1(config)#alias exec rt show ip route
69
Przy wyborze odpowiedniej nazwy dla aliasu polecenia naley pamita o tym, e powinna ona by krtka i atwa do zapamitania. Oczywicie konieczne jest dobranie takiej
nazwy, ktre nie koliduje z jakimkolwiek z istniejcych polece. We wczeniejszym
przykadzie wybrano cig rt, gdy nie pokrywa si on z nazw adnego z polece i jest
jednoczenie akronimem od sw routing table (tablica routingu).
Utworzony alias moe by wykorzystywany take jako element skadowy duszego
polecenia. Przykadowo, instrukcj show ip route 172.16.2.0 mona skrci za
pomoc aliasu rt w nastpujcy sposb:
Router1#rt 172.16.2.0
Routing entry for 172.16.2.0/24
Known via "connected", distance 0, metric 0 (connected, via interface)
Routing Descriptor Blocks:
* directly connected, via FastEthernet0/0.2
Route metric is 0, traffic share count is 1
Router1#
Aliasy polece s szczeglnie uyteczne, jeeli stosuje si je konsekwentnie we wszystkich zarzdzanych routerach. W przeciwnym przypadku konieczne jest zapamitywanie
rnych cigw tekstowych wykorzystywanych w pracy z rnymi grupami urzdze.
Zaleca si, aby przy wdraaniu tego typu rozwiza, w definiowaniu aliasw uczestniczyli wszyscy czonkowie zespou zarzdzania routerami, co pozwoli na opracowanie
standardowego zestawu nazw, wykorzystywanego przez cay zesp. Zaleca si rwnie
definiowanie jak najatwiejszych do zapamitania cigw tekstowych, ale przede wszystkim odradza si tworzenie aliasw dla wszystkich moliwych do wykorzystania polece.
Rozwizanie to powinno by stosowane jedynie w odniesieniu do instrukcji uywanych
najczciej.
Stosowanie aliasw bywa rwnie bardzo uyteczne podczas pisania skryptw. Mona
bowiem za ich pomoc tworzy skrypty, ktre wykonuj w kadym z routerw to samo
zadanie, ale robi to w nieco inny sposb. Jednym z przykadw moe by cotygodniowa
operacja zerowania licznikw poszczeglnych list dostpowych. Problem tkwi w tym, e
rne routery korzystaj z rnych numerw list dostpowych. Mona zatem w kadym
z urzdze utworzy alias o takiej samej nazwie, ale przypisa poszczeglnym z nich inny, stosowny zestaw polece. W kocu mona utworzy skrypt, ktry bdzie wywoywa
alias z linii polece, automatyzujc w ten sposb proces, ktry w innym przypadku byby
ogromnie pracochonny.
Aby wywietli list wszystkich zdefiniowanych dla danego routera aliasw polece,
naley uy polecenia show aliases:
70
help
logout
ping
resume
show
undebug
undebug
where
show ip route
show ip ospf neighbor
Router1#
Rozwizanie
Aby zmieni warto czasu przechowywania danych w tablicy ARP, naley zastosowa
polecenie arp timeout:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#interface Ethernet0
Router1(config-if)#arp timeout 600
Router1(config-if)#end
Router1#
Analiza
Kade urzdzenie pracujce w sieci LAN zawiera tablic danych protokou odwzorowania
adresw tablic danych ARP (ang. Address Resolution Protocol). Na podstawie wspomnianej tablicy dokonuje si odwzorowania adresw warstwy drugiej (adresw MAC)
na adresy warstwy trzeciej (adresy IP). Gdyby tablica ARP nie bya dostpna, urzdzenie
mogoby budowa pakiety protokou IP, ale nie miaoby moliwoci formowania ramek
warstwy drugiej modelu OSI, ktre odpowiadaj za przenoszenie pakietw.
Pozyskiwanie informacji dla tablicy ARP jest procesem dynamiczny. Gdy urzdzenie przystpuje do przesania pakietu do stacji o okrelonym docelowym adresie IP, ale nie posiada odpowiadajcego temu adresowi IP adresu MAC, wysya w sposb rozgoszeniowy
71
72
Age (min)
8
9
2
Hardware Addr
0001.9670.b780
0000.0c92.bc6a
0010.4b09.5700
0010.4b09.5715
Type
ARPA
ARPA
ARPA
ARPA
Interface
Ethernet0
Ethernet0
Ethernet0
Ethernet0
Hardware Addr
0001.9670.b780
Type
ARPA
Interface
Ethernet0
Hardware Addr
0010.4b09.5715
Type
ARPA
Interface
Ethernet0
Moliwe jest rwnie pozyskiwanie danych o adresach ARP dla wybranego interfejsu
routera:
Router1#show ip arp Ethernet0
Protocol Address
Age (min)
Internet 172.25.1.5
4
Internet 172.25.1.7
Internet 172.25.1.1
2
Internet 172.25.1.3
4
Router1#
Hardware Addr
0001.9670.b780
0000.0c92.bc6a
0010.4b09.5700
0010.4b09.5715
Type
ARPA
ARPA
ARPA
ARPA
Interface
Ethernet0
Ethernet0
Ethernet0
Ethernet0
73
Rozwizanie
W routerze wykorzystywane s dwa rne zestawy buforw bufory publiczne i bufory
interfejsw. Bufory te s wykorzystywane jako obszar pamici przeznaczony do tymczasowego przechowywania pakietw podczas ich przetwarzania. Parametry buforw publicznych mona zmienia za pomoc poniszego kodu:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#buffers big initial 100
Router1(config)#buffers big max-free 200
Router1(config)#buffers big min-free 50
Router1(config)#buffers big permanent 50
Router1(config)#end
Router1#
74
Analiza
Przed omwieniem samej zmiany rozmiaru buforw, trzeba wspomnie o trzech rzeczach
istotnych przy dokonywaniu wspomnianych zmian. Po pierwsze, dostosowywanie rozmiaru
buforw zazwyczaj nie jest konieczne. Po drugie, niewaciwe dobranie wartoci rozmiaru
bufora moe by przyczyn znacznego obnienia wydajnoci pracy routera i spowolnienia
ruchu. Po trzecie, nawet w przypadku, gdy zmiana rozmiaru jest konieczna, wartoci
poszczeglnych parametrw powinny by dobierane osobno dla kadej sieci lub dla kadego routera. Z tego wzgldu niniejsz receptur naley traktowa jedynie jako oglny
przykad rozwizania.
Router zawiera dwa rne zestawy buforw. Pierwszy z nich stanowi pul publiczn,
ktra moe by wykorzystana przez urzdzenie do dowolnych celw. Druga to pula interfejsu, ktra suy jedynie do przetwarzania pakietw danego interfejsu.
Pula buforw publicznych jest dalej dzielona na kilka pul, zalenie od ich rozmiaru. W tabeli 2.1 znajduje si zestawienie pul publicznych buforw.
Tabela 2.1. Pule publiczne buforw routera
Rozmiar bufora
104 bajty
Small
600 bajtw
Middle
1536 bajtw
Big
4520 bajtw
VeryBig
5024 bajty
Large
Huge
Domylny rozmiar buforw typu Huge wynosi 18 024 bajty. W przeciwiestwie do innych
pul buforw publicznych rozmiar bufora tej puli moe ulega zmianie:
Router1(config)#buffers huge size 36048
75
big
big
big
big
initial 100
max-free 200
min-free 50
permanent 50
Pierwsze z polece ustawia liczb buforw danego typu, jakie router bdzie wykorzystywa podczas uruchamiania. Jeeli urzdzenie pracuje w sieci o wyjtkowo duym
nateniu ruchu, zaalokowanie dostatecznej liczby buforw, ktre sprostaj obcieniu
routera, moe zaj sporo czasu. Moe si wwczas zdarzy, e przy uruchomianiu
urzdzenia bd si pojawiay bdy wynikajce z niedostatecznej liczby buforw. Rozwizaniem problemu jest zwikszenie liczby buforw pocztkowych (initial).
Drugie polecenie wykorzystuje sowo kluczowe max-free do ustawienia maksymalnej
liczby buforw danego typu (w tym przypadkw buforw big), jakimi system moe
operowa. W trakcie normalnej pracy urzdzenia mog si pojawi przypadki okresowego wzrostu natenia ruchu, ktre wymusz uycie wikszej liczby buforw. Ustawienie relatywnie niskiej wartoci parametru powoduje, e po zakoczeniu chwilowego
wzrostu natenia ruchu router zwalnia dodatkowo zaalokowan pami, czynic j dostpn dla innych celw. Z drugiej strony, ustawienie zbyt maej wartoci, moe sprawi, e
w sieci o duym nateniu ruchu router nie bdzie w stanie dostatecznie szybko alokowa
nowych buforw, eby sprosta sytuacji.
Trzecie polecenie zawiera sowo kluczowe min-free, ktre odnosi si do przypadku
przeciwnego w stosunku do opisanego wczeniej. Chcc zapewni poprawne funkcjonowanie routera w przypadku wzrostu natenia ruchu, urzdzenie rozpoczyna alokowanie
pamici systemowej w chwili, gdy liczba niewykorzystanych buforw spadnie poniej
wartoci min-free. Jeeli parametrowi min-free zostanie przypisana dua warto,
router bdzie mia moliwo sprostania nawet najwikszemu nateniu ruchu. Jednoczenie ustawienie zbyt duej wartoci powoduje, e router musi wykona znaczn ilo
dodatkowej pracy podczas alokowania buforw, ktrych nigdy nie wykorzysta.
Ostatnia z prezentowanych instrukcji definiuje minimaln liczb buforw danego typu.
Suy do tego sowo kluczowe permanent. Podczas uruchamiania router alokuje tak
liczb buforw, jaka jest okrelona tym parametrem. Pami przeznaczona na te bufory
nigdy nie zostaje zwrcona do oglnej puli pamici systemowej. Waciw wartoci
ustawienia jest taka warto, ktra gwarantuje ograniczenie pracy routera wynikajcej
z koniecznoci alokowania buforw. Jednoczenie zbyt dua warto parametru moe
niepotrzebnie zuywa cenne zasoby pamici systemowej.
Jak nietrudno zauway, analizujc drugi z przykadw, parametry puli buforw interfejsu s dokadnie takie samej jak ustawienia opisane powyej:
Router1(config)#buffers
Router1(config)#buffers
Router1(config)#buffers
Router1(config)#buffers
Ethernet0
Ethernet0
Ethernet0
Ethernet0
initial 200
max-free 300
min-free 50
permanent 50
76
Najlepszym sposobem sprawdzenia, czy bufory wymagaj jakichkolwiek korekt, jest zapoznanie si z wynikiem dziaania polecenia show buffers:
Router1#show buffers
Buffer elements:
498 in free list (500 max allowed)
760166 hits, 0 misses, 0 created
Public buffer pools:
Small buffers, 104 bytes (total 50, permanent 50):
50 in free list (20 min, 150 max allowed)
265016 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Middle buffers, 600 bytes (total 25, permanent 25, peak 49 @ 1d09h):
23 in free list (10 min, 150 max allowed)
40749 hits, 10 misses, 30 trims, 30 created
0 failures (0 no memory)
Big buffers, 1536 bytes (total 50, permanent 50):
50 in free list (5 min, 150 max allowed)
33780 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 10, permanent 10):
10 in free list (0 min, 100 max allowed)
0 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Large buffers, 5024 bytes (total 0, permanent 0):
0 in free list (0 min, 10 max allowed)
0 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Huge buffers, 18024 bytes (total 0, permanent 0):
0 in free list (0 min, 4 max allowed)
0 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Interface buffer pools:
Ethernet0 buffers, 1524 bytes (total 32, permanent 32):
8 in free list (0 min, 32 max allowed)
24 hits, 0 fallbacks
8 max cache size, 8 in cache
30963 hits in cache, 0 misses in cache
Serial0 buffers, 1524 bytes (total 32, permanent 32):
4 in free list (0 min, 32 max allowed)
54 hits, 3 fallbacks
8 max cache size, 7 in cache
172593 hits in cache, 32 misses in cache
Serial1 buffers, 1524 bytes (total 32, permanent 32):
7 in free list (0 min, 32 max allowed)
25 hits, 0 fallbacks
8 max cache size, 8 in cache
0 hits in cache, 0 misses in cache
Router1#
77
Powyszy listing zawiera wartoci podobne do tych, ktre zostay omwione powyej.
Istniej jednak take pewne rnice. Pierwsza z nich wie si z wystpowaniem pola
fallbacks. W polu tym zapisywane s informacje o liczbie przypadkw, kiedy w danym
78
interfejsie router musia utworzy dodatkowe bufory i musia je pobra z puli publicznej
o odpowiednim rozmiarze. W prezentowanym przykadzie rozmiar bufora wynosi 1524
bajty, co oznacza, e dodatkowe bufory musiayby by pobierane z puli Big.
Router utrzymuje pewn grup buforw podrcznych niezalenie od tego, czy s w nich
przechowywane jakiekolwiek dane czy te nie. Ich liczba jest rna w zalenoci od rodzaju urzdzenia. Podobnie jak we wczeniej opisywanych przypadkach naley zwraca
szczegln uwag na warto pola misses. Jeli wartoci pl misses i fallbacks s niskie, nie
ma powodu do zmieniania ustawie buforw interfejsu.
Zmieniajc parametry buforw, trzeba pamita o wczeniejszym sprawdzeniu iloci
wolnej pamici routera, do czego suy polecenie show memory:
Router1#show memory
Head
Largest(b)
Processor
17DA4C
10663072
I/O
E00000
1759812
Total(b)
Used(b)
Free(b)
Lowest(b)
13112756
2308632
10804124
10577100
2097152
336980
1760172
1740988
Zmieniajc ustawienia buforw routera, trzeba obserwowa zmiany zachodzce w obszarze dostpnej pamici, gdy ewentualne modyfikacje mog wpywa zarwno na pami
procesora, jak i ukadw wejcia-wyjcia. Przeznaczenie zbyt duego obszaru pamici na
bufory moe spowodowa, e router nie bdzie dysponowa dostatecznie duym jej obszarem, by mg poprawnie funkcjonowa w chwili wzrostu obcienia.
Rozwizanie
Protok wyszukiwania CDP (ang. Cisco Discovery Protocol) mona wcza i wycza w obrbie poszczeglnych interfejsw lub w odniesieniu do caego routera:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#cdp run
Router1(config)#interface Serial0/0
Router1(config-if)#cdp enable
Router1(config-if)#exit
Router1(config)#interface FastEthernet0/0
Router1(config-if)#no cdp enable
79
Router1(config-if)#exit
Router1(config)#interface FastEthernet1/0
Router1(config-if)#cdp enable
Router1(config-if)#end
Router1#
Analiza
Domylnie protok CDP jest wczony zarwno w routerze, jak i we wszystkich jego
interfejsach. Jeeli zosta wczeniej wyczony (co zostao omwione w recepturze 2.5)
i zachodzi potrzeba ponownego jego uruchomienia, naley wyda polecenie konfiguracyjne cdp run:
Router1(config)#cdp run
Domylnie przetwarzanie danych protokou CDP jest uruchomione we wszystkich interfejsach routera. W przypadku, gdy zachodzi konieczno wyczenia go w ramach jednego
interfejsu, trzeba posuy si poleceniem no cdp enable:
Router1(config)#interface Serial0/0
Router1(config-if)#no cdp enable
Local Intrfce
Ser 0/0
Fas 1/0
Holdtme
179
152
Capability
R
T S
Platform
2621
WS-C2924
Port ID
Ser 0/1
2/2
Jak nietrudno zauway, wynikiem wykonania wspomnianego polecenia jest lista zawierajca informacje o nazwie, rodzaju oraz modelu wszystkich ssiednich urzdze. W jej
skad wchodz rwnie dane o interfejsach routera (za pomoc ktrych urzdzenie komunikuje si z okrelonymi urzdzeniami ssiednimi) oraz informacje o urzdzeniach ssiednich przyczonych do poszczeglnych interfejsw.
W analizowanym przykadzie ostatni wpis oznacza przecznik ethernetowy Cisco Catalyst.
Najwiksz zalet omawianego rozwizania jest wanie to, e udostpnia ono take informacje o urzdzeniach drugiej warstwy. Inne mechanizmy rozpoznawania urzdze,
takie jak protok ARP, protokoy routingu czy nawet znane polecenie ping, odnosz si
jedynie do elementw trzeciej warstwy. W przypadku protokou CDP mona pozyskiwa
informacje nawet o tych urzdzeniach, ktre nie maj skonfigurowanych adresw IP.
Szczegowe dane na temat innych jednostek sieciowych mona uzyska, dodajc do
polecenia opcj detail:
80
81
Protok CDP w wersji drugiej jest domylnie obsugiwany we wszystkich systemach IOS
od wersji 12.0(3)T wcznie. Aby wyczy w routerze obsug drugiej wersji protokou
CDP i uruchomi obsug wersji pierwszej, naley zastosowa nastpujce polecenie
konfiguracyjne:
Router1(config)#no cdp advertise-v2
Zobacz rwnie
Receptura 2.5, rozdzia 16.
82
Rozwizanie
Aby wyczy obsug protokou CDP w jednym z interfejsw, naley zastosowa polecenie
no cdp enable:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#cdp run
Router1(config)#interface FastEthernet0/0
Router1(config-if)#no cdp enable
Router1(config-if)#end
Router1#
Z kolei cakowite wyczenie obsugi protokou CDP w routerze wymaga podania instrukcji no cdp run:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#no cdp run
Router1(config)#end
Router1#
Analiza
Protok CDP moe by niezwykle uyteczny, gdy pozwala pozyskiwa wiele informacji na temat ssiednich urzdze sieciowych. Jednoczenie cecha ta moe by potencjaln
wad rozwizania ze wzgldu na problemy z zachowaniem odpowiedniego poziomu
zabezpiecze. Pakiety CDP nie podlegaj szyfrowaniu, dlatego mog by przechwytywane przez inne urzdzenia funkcjonujce w sieci. Odtworzenie struktury sieci na podstawie pozyskanych w ten sposb danych nie jest szczeglnym problemem. Gdyby komu udao si uzyska dostp do routera za pomoc usug Telnet lub SNMP, mgby on
wykorzysta tablice CDP do okrelenia topologii caej sieci, rozwiza warstwy drugiej
i trzeciej, a take do ustalenia wersji IOS, modeli i typw routerw oraz przecznikw,
a take schematu adresowania IP. Posiadanie tego typu informacji daje moliwo przeprowadzenia bardzo efektywnego ataku na dan sie.
Z tego powodu wielu administratorw decyduje si na wyczenie obsugi protokou CDP.
Jeeli wic wycza si mechanizm CDP ze wzgldw bezpieczestwa, prawdopodobnie
najlepszym rozwizaniem bdzie wyczenie go w caym routerze, a nie na poszczeglnych
interfejsach. Wyczenie obsugi protokou na pojedynczym interfejsie zabezpiecza system
83
Zobacz rwnie
Receptura 2.4.
Rozwizanie
Aplikacja finger umoliwia zdalne sprawdzenie, kto jest zalogowany w routerze. Aby j
wczy, naley uy polecenia ip finger:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#ip finger
Router1#
Kady z routerw Cisco posiada pewien zestaw nieskomplikowanych aplikacji serwerowych protokow TCP i UDP, ktre czsto przydaj si podczas prowadzenia rnego
rodzaju testw:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#service tcp-small-servers
Router1(config)#service udp-small-servers
Router1(config)#end
Router1#
84
Analiza
Program finger jest narzdziem, ktre stanowi odpowiednik polecenia show users, ale
ktre mona stosowa w odniesieniu do routerw zdalnych. Uruchomienie programu finger
w systemach Unix sprowadza si zazwyczaj do wykorzystania nastpujcego polecenia:
Freebsd% finger @Router1
[Router1]
Line
66 vty 0
67 vty 1
68 vty 2
User
kdooley
ijbrown
Interface
User
Host(s)
idle
idle
idle
Mode
Idle
00:22:47
1d07h
00:00:00
Location
freebsd
freebsd
freebsd
Idle
Peer Address
Freebsd%
Dostp do serwera finger jest rwnie moliwy za pomoc programu klienta Telnetu przy
zestawieniu poczenia z portem 79. Wykonanie tego typu operacji z innego routera wymaga wprowadzenia nastpujcego polecenia:
Router2#telnet 10.1.1.2 finger
Trying 10.1.1.2, 79 ... Open
Line
66 vty 0
67 vty 1
67 vty 1
Interface
User
kdooley
ijbrown
Host(s)
idle
idle
idle
User
Mode
Idle
00:24:14
1d07h
00:00:00
Idle
Location
freebsd
freebsd
10.2.2.2
Peer Address
85
Polecenie ip finger zastpuje polecenie service finger, ktre mona jeszcze znale w wielu materiaach rdowych:
Router1(config)#service finger
86
Nazwa
Dokument RFC
Opis
echo
RFC 862
discard
RFC 863
13
daytime
RFC 867
19
chargen
RFC 864
Funkcja echo powoduje, e serwer odsya do klienta te same dane, ktre od niego
otrzyma:
Freebsd% telnet Router1 echo
Trying 172.25.25.1...
Connected to Router1.
Escape character is '^]'.
Przykladowe zdanie testujace usluge echo.
Przykladowe zdanie testujace usluge echo.
^]
telnet> quit
Connection closed.
Freebsd%
W wersji wykorzystujcej protok UDP funkcja echo kopiuje otrzymany segment danych
i odsya go do nadawcy.
Funkcja discard jest znacznie mniej uyteczna. Umoliwia bowiem klientowi utworzenie
sesji TCP z serwerem, po czym ignoruje wszystkie otrzymane dane:
Freebsd% telnet Router1 discard
Trying 172.25.25.1...
Connected to Router1.
Escape character is '^]'.
Przykladowe zdanie testujace usluge discard.
^]
telnet> quit
Connection closed.
Freebsd%
Wersja UDP aplikacji oczekuje na pakiety UDP na porcie 9, ale nie odpowiada na nie
w aden sposb.
Serwer daytime w wersji TCP akceptuje dania utworzenia poczenia, wysya pakiet
zawierajcy informacj o dacie i czasie (w formacie ASCII), po czym koczy sesj:
Freebsd% telnet Router1 daytime
Trying 172.25.25.1...
Connected to Router1.
Escape character is '^]'.
Sunday, January 5, 2003 17:41:21-EST
Connection closed by foreign host.
Freebsd%
87
Wersja UDP serwera daytime nasuchuje na porcie 13. i odpowiada na dania pojedynczym pakietem zawierajcym te same dane, ktre s generowane przez wersj TCP
usugi. Wykorzystanie serwera daytime do pozyskiwania informacji o czasie jest znikome.
Znacznie efektywniejsze w tym wzgldzie s inne aplikacje, np. NTP, ktre dostarczaj
bardziej aktualnych danych. Usugi NTP zostay omwione w rozdziale 14.
Funkcja generowania znakw (chargen) wydaje si by najbardziej uyteczn usug
maych serwerw TCP. Po ustanowieniu poczenia z okrelonym portem, router rozpoczyna
przesyanie do klienta strumienia danych. Czsto takie rozwizanie jest wykorzystywane
w charakterze generatora ruchu dla ubogich, umoliwiajc badanie obcienia sieci:
Freebsd% telnet Router1 chargen
Trying 172.25.25.1...
Connected to Router1.
Escape character is '^]'.
!"#$%&'( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg
!"#$%&'( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh
"#$%&'( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi
#$%&'( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
$%&'( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk
%&'( )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl
<kolejne linie zostay usunite>
^]
telnet> quit
Connection closed.
Freebsd%
Wersja UDP serwera chargen nasuchuje pakietw UDP na porcie 19. i generuje pojedynczy pakiet odpowiedzi, ktry moe si skada z przypadkowej liczby znakw dobieranej
z zakresu od 0 do 512.
Zobacz rwnie
Rozdzia 14., dokumenty RFC 1288, RFC 862, RFC 863, RFC 864 oraz RFC 867, Wieczr
trzech krli Williama Szekspira.
88
Rozwizanie
System IOS zosta wyposaony przez firm Cisco w serwer HTTP. Wczenie usugi HTTP
routera umoliwia komunikowanie si z nim za pomoc standardowej przegldarki internetowej lub klienta Telnetu:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#access-list 75 permit 172.25.1.1
Router1(config)#access-list 75 deny any
Router1(config)#ip http server
Router1(config)#ip http access-class 75
Router1(config)#end
Router1#
Analiza
Po skonfigurowaniu wspomnianej opcji w routerze mona si poczy z urzdzeniem
za pomoc standardowej przegldarki internetowej. W poniszym przykadzie wykorzystano do tego celu tekstow przegldark Lynx, ktra prezentuje stron routera w nastpujcy sposb:
Router1 Home Page
Cisco Systems
Accessing Cisco 2621 "Router1"
Telnet - to the router.
Show interfaces - display the status of the interfaces.
Show diagnostic log - display the diagnostic log.
Monitor the router - HTML access to the command line interface at
level 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
Connectivity test - ping the nameserver.
Show tech-support - display information commonly needed by tech
support.
QoS Device Manager - Configure and monitor QoS through the web
interface.
-------------------------------------------------------------------------Help resources
1. CCO at www.cisco.com - Cisco Connection Online, including the
Technical Assistance Center (TAC).
2. tac@cisco.com - e-mail the TAC.
3. 1-800-553-2447 or +1-408-526-7209 - phone the TAC.
4. cs-html@cisco.com - e-mail the HTML interface development group.
Sowa wyrnione pogrubionym drukiem s odsyaczami, ktre umoliwiaj uruchomianie polece EXEC systemu IOS. Przykadowo, odsyacz Show interfaces uruchamia
polecenie show interfaces i powoduje wywietlenie wyniku w postaci strony WWW.
89
Moliwe jest rwnie wyznaczenie urzdze, ktre maj prawo korzystania z interfejsu
WWW routera. Suy do tego sowo kluczowe access-list. W poniszym przykadzie przekazano do routera informacj o tym, e dostp do serwera HTTP definiuje lista
dostpowa nr 75, ktra z kolei umoliwia komunikowanie si z usug tylko jednej stacji
o okrelonym adresie IP:
Router1(config)#access-list 75 permit 172.25.1.1
Router1(config)#access-list 75 deny any
Router1(config)#ip http access-class 75
Korzystanie z wiersza polece interfejsu Telnet wydaje si jednak atwiejsze od posugiwania si interfejsem WWW. Jedynym argumentem przemawiajcym za uywaniem protokou HTTP jest moliwo udostpnienia podstawowych polece (np. show interfaces) technikom pierwszego poziomu.
Zobacz rwnie
Rozdzia 3.
90
Rozwizanie
Umieszczanie wpisw w statycznej tablicy nazw stacji jest moliwe dziki poleceniu ip
host:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip host freebsd 172.25.1.1
Router1(config)#ip host router2 10.1.1.1 172.22.1.4
Router1(config)#end
Router1#
Analiza
W wielu poleceniach routera mona zastpi adresy IP nazwami stacji. Plik konfiguracyjny staje si wwczas bardziej przejrzysty, gdy zamiast enigmatycznych adresw IP
zawiera atwiejsze do przyswojenia nazwy urzdze. Router musi mie jednak moliwo odwzorowania nazw na adresy IP. W urzdzeniach Cisco zaimplementowano dwa
mechanizmy zmiany nazw na adresy. Pierwszy z nich wykorzystuje omawiane w niniejszej recepturze statyczne tablice nazw, natomiast drugi bazuje na serwerach DNS i jest
omwiony w recepturze 2.9.
Statyczne wpisy s dostpne jedynie lokalnie. Router nie dzieli si informacjami zawartym
w tablicy z innymi routerami czy innymi urzdzeniami pracujcymi w sieci. W przeciwiestwie do odwzorowania wykonywanego w systemie DNS procedura pozyskiwania
informacji o stacji nie zaley od usug zewntrznych, takich jak serwery nazw. Jeeli w danym urzdzeniu wykorzystuje si zarwno statyczne tablice nazw, jak i system DNS, router
bdzie przede wszystkim posugiwa si tablic statyczn, co daje moliwo przesonicia
danych udostpnianych normalnie przez serwery DNS.
Najwiksza niedogodno wynikajca ze stosowania statycznych tablic nazwa jest zwizana z tym, e odwzorowanie ma charakter statyczny. Oznacza to, e jakakolwiek zmiana
adresw IP wymaga ingerencji w tre tablic. Z kolei do najwikszych zalet rozwizania
naley zaliczy jego niezaleno od zewntrznych serwerw. Jeeli jakakolwiek z istotnych funkcji routera zostanie zdefiniowana z wykorzystaniem nazwy stacji zamiast jej
adresu IP, w przypadku chwilowej niedostpnoci serwera DNS komunikacja moe si
okaza niemoliwa.
Z tego powodu zaleca si stosowanie statycznych tablic nazw zamiast systemu DNS, o ile
przy konfiguracji routera zastpuje si adresy IP nazwami urzdze.
91
W prezentowanym przykadzie zawarto informacj o tym, e stacja o nazwie router2 posiada dwa adresy IP:
Router1(config)#ip host router2 10.1.1.1 172.22.1.4
Jeeli dla jednego urzdzenia zostanie okrelona wiksza liczba adresw IP, router bdzie
wykorzystywa kady z nich w kolejnoci, w jakiej wystpuj w poleceniach konfiguracyjnych. Tworzc wpis dla ssiedniego routera, warto rozpocz definiowanie adresw IP
od adresu interfejsu przyczonego do tego samego segmentu sieci, a po nim umieci
pozostae osigalne adresy IP.
Polecenie ip host pozwala rwnie na definiowanie numerw portw, a konkretnie na
definiowanie portw TCP, ktre bd wykorzystywane do zestawiania poczenia telnetowego ze stacj o okrelonej nazwie. Domylnie polecenie telnet tworzy poczenie
w protokole TCP z portem o numerze 23. W poniszym przykadzie nazw stacji jest
mail, a router otrzyma informacj, eby czy si z portem 25 (SMTP) urzdzenia:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#ip host mail 25 172.25.1.1
Router1(config)#end
Router1#
Uruchomienie narzdzia Telnet z podaniem nazwy mail powoduje zestawienie poczenia z usug SMTP:
Router1#telnet mail
Trying mail (172.25.1.1, 25)... Open
220 freebsd.oreilly.com ESMTP Postfix
quit
221 Bye
[Connection to mail closed by foreign host]
Router1#
Router czy si bezporednio z portem serwera dostarczania poczty portem 25. Aby
przesoni zdefiniowany w tablicy numer portu, mona w wierszu polece narzdzia
Telnet doczy drugi parametr odpowiadajcy wybranemu portowi:
Router1#telnet mail 25
Wywietlenie penej listy zdefiniowanych statycznych wpisw stacji wymaga wprowadzania polecenia show hosts:
Router1#show hosts
Default domain is not set
Name/address lookup uses static mappings
Host
freebsd
router2
Port
None
None
Flags
Age Type
(perm, OK) 0
IP
(perm, OK) 0
IP
mail
Router1#
25
(perm, OK)
IP
Address(es)
172.25.1.1
10.1.1.1
172.22.1.4
172.25.1.1
92
Zobacz rwnie
Receptura 2.9.
Rozwizanie
Aby wczy w routerze opcj korzystania z serwerw DNS przy poszukiwaniu adresw IP
dla nazw stacji, trzeba okreli jego nazw domenow oraz co najmniej jeden serwer nazw:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#ip domain-lookup
Router1(config)#ip domain-name helion.pl
Router1(config)#ip name-server 172.25.1.1
Router1(config)#ip name-server 10.1.20.5
Router1(config)#end
Router1#
Analiza
Jak ju wspomniano w recepturze 2.8, do odwzorowywania nazw na adresy IP mona
wykorzystywa system DNS. W praktyce routery Cisco maj t opcj domylnie wczon. Jednak ze wzgldu na fakt, e w swoich plikach konfiguracyjnych nie zawieraj
informacji o domylnym serwerze nazw, staraj si do tego celu wykorzystywa adres
rozgoszeniowy (255.255.255.255). Oznacza to, e wymienione polecenie ip domainlookup jest niezbdne tylko w przypadku, gdy z jakichkolwiek przyczyn opcja korzystania z systemu DNS zostaa w routerze wyczona.
Po zapisaniu w ustawieniach routera poprawnej nazwy serwera DNS mona korzysta
z nazw domenowych dowolnych stacji, ktrych dane znajduj si w okrelonym serwerze
DNS. Serwer wykorzystywany w prezentowanym poniej przykadzie ma moliwo
wymiany informacji z serwerami w internecie, dlatego umoliwia wykorzystanie polecenia ping w odniesieniu do serwera WWW firmy Cisco:
Router1#ping www.cisco.com
Translating "www.cisco.com"...domain server (172.25.1.1) [OK]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 198.133.219.25, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 80/91/104 ms
Router1#
93
Z analizy listingu wynika, e router przesa zapytanie DNS do serwera nazw o adresie
172.25.1.1, dajc w nim zamiany nazwy www.cisco.com na odpowiadajcy jej adres IP. Odpowied serwera zawieraa adres 198.133.219.25. W kolejnym kroku router
wykorzysta polecenie ping w taki sposb, jakby zamiast nazwy domenowej parametrem by adres IP.
W prezentowanym wczeniej przykadzie zdefiniowano dwa serwery nazw:
Router1(config)#ip name-server 172.25.1.1
Router1(config)#ip name-server 10.1.20.5
Router przesya zapytania do poszczeglnych serwerw DNS w kolejnoci, w jakiej dokonano wpisw. Zamy, e wykorzystujemy polecenie ping w odniesieniu do nieistniejcej stacji receptury.helion.pl:
Router1#ping receptury.helion.pl
Translating "receptury.helion.pl"...domain server (172.25.1.1)(10.1.20.5)
% Unrecognized host or address, or protocol not running.
Router1#
Port
None
Flags
Age Type
(temp, OK) 0
IP
Address(es)
198.133.219.25
Wykonanie instrukcji powoduje wywietlenie nazwy domeny, nazw serwerw DNS (w okrelonej kolejnoci) oraz informacji o ostatnio dokonywanych odwzorowaniach. Router przechowuje wyniki ostatnich zapyta w pamici podrcznej, gdy dziki temu eliminuje si
konieczno kierowania zapyta do serwerw DNS przy kolejnych prbach komunikacji
z tym samym urzdzeniem. Rnica midzy omawianym sposobem budowania tablicy
nazw, a metod statycznego jej tworzenia (ktra zostaa opisana w recepturze 2.8) polega
na tym, e wpisy dynamiczne s po upywie okrelonego czasu automatycznie usuwane.
Czas ten jest okrelany przez serwer DNS oddzielnie dla kadej nazwy. Nie mona go w routerze zmieni.
Polecenie ip domain-name umoliwia okrelenie domeny, do ktrej naley dana sie:
Router1(config)#ip domain-name helion.pl
94
Jeeli nie zostaa okrelona lista domen, ale zdefiniowano nazw domeny, router bdzie
korzysta z nazwy domeny. Jednak w przypadku wprowadzenia zarwno nazwy domeny, jak i listy domen urzdzenie zignoruje parametr nazwy domeny. Dlatego podczas
deklarowania listy domen konieczne byo powtrzenie wczeniej wprowadzonej nazwy
domeny.
Kolejno umieszczania wpisw na licie domenowej nie jest obojtna, gdy przy budowaniu zapyta z wykorzystaniem penej nazwy FQDN router bdzie korzysta ze zdefiniowanej listy. Jeeli zatem zostanie wysane zapytanie o stacj o nazwie poczta, router
ustali prawidow domen niezalenie od tego, w ktrej z nich znajduje si stacja poczta.
Jednak w przypadku, gdy stacja znajduje si w obydwu domenach, poczenie zostanie
zestawione z jednostk poczta.helion.pl, a nie z poczta.helion2.pl zgodnie z kolejnoci
wystpowania domen na licie. Oczywicie nic nie stoi na przeszkodzie, eby poczy
si ze stacj o adresie poczta.helion2.pl, ale konieczne bdzie wprowadzanie penej nazwy
domenowej.
Polecenie show hosts wywietla rwnie informacje o listach domen:
Router1#show hosts
Default domain is helion.pl
Domain list: helion.pl, helion2.pl
Name/address lookup uses domain service
Name servers are 172.25.1.1, 172.25.1.3, 10.1.20.5
Host
www.cisco.com
freebsd
Router1#
Zobacz rwnie
Receptura 2.8.
Port
None
None
Flags
Age Type
(temp, OK) 0
IP
(perm, OK) 0
IP
Address(es)
198.133.219.25
172.25.1.1
95
Rozwizanie
Aby uniemoliwi routerowi prby odwzorowania bdnych wartoci tekstowych, naley
zastosowa polecenie ip domain-lookup:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#no ip domain-lookup
Router1(config)#end
Router1#
Analiza
Zgodnie z informacjami przedstawionymi w recepturze 2.9, routery domylnie staraj
si odwzorowywa wszystkie nazwy stacji za pomoc serwerw DNS. Jeeli adres serwera DNS nie zostanie umieszczony w plikach konfiguracyjnych urzdzenia, router bdzie
korzysta z adresu IP rozgoszenia lokalnego, czyli 255.255.255.255. Kierowanie zapyta
do nieistniejcego serwera jest nie tylko bezcelowe, ale rwnie czasochonne. W przypadku wystpienia takiego problemu w czasie sesji interaktywnej, router nie udostpni
zgoszenia EXEC, dopki nie upynie czas przeznaczony na realizacj zapytania. Domylne ustawienia pracy routera powoduj, e kade nieznane polecenie interpretuje
on jako nazw stacji, z ktr uytkownik chce zestawi poczenie. W analogiczny
sposb traktowane s wszystkie ewentualne bdy literowe powstae podczas pisania
polece:
96
Proponowane rozwizanie jest waciwe tylko w przypadku, gdy nie korzysta si z usug
DNS. Przy wyczonej opcji odwzorowywania adresw bdne polecenia nadal s interpretowane jako nazwy stacji, ale router stara si wyszuka je w statycznej tablicy nazw.
Poniewa taka procedura nie wymaga odczekiwania okrelonego czasu, koczy si natychmiast, umoliwiajc wprowadzenie poprawnego polecenia:
Router1#pnig
Translating "pnig"
% Unknown command or computer name, or unable to find computer address
Router1#
Taki sposb postpowania w przypadkach wystpienia bdw jest wyjtkowo nieefektywny i niepraktyczny przy korzystaniu z serwerw DNS. Warto sprbowa rozwiza
problem inaczej.
Router prbuje dokonywa odwzorowania bdw typograficznych dlatego, e kada
linia VTY domylnie korzysta z usugi Telnet jako metody transportowej. Oznacza to, e
mona rozpocz sesj Telnet, wprowadzajc w wierszu polece jedynie nazw stacji docelowej. Nie ma potrzeby wprowadzania samego polecenia telnet, dlatego cig tekstowy
97
pnig jest interpretowany przez router jako polecenie telnet pnig. Jeeli jednak w metodzie transportowej zostanie przypisana warto none, router nie bdzie podejmowa
prb ustanowienia poczenia, dopki w wierszu polece nie zostanie wprost podana
instrukcja telnet:
Router1(config)#line vty 0 4
Router1(config-line)#transport preferred none
Proponowane rozwizanie eliminuje problem niewaciwej interpretacji bdw typograficznych i uznawania ich za nazwy stacji:
Router1#pnig
^
% Invalid input detected at '^' marker.
Router1#
Zobacz rwnie
Receptura 2.8, receptura 2.9.
Rozwizanie
Zastosowanie polecenia reload in umoliwia okrelenie czasu, po jakim router automatycznie przeaduje system:
Router1#reload in 20
Reload scheduled for 11:33:53 EST Sat Feb 1 2003 (in 20 minutes)
Proceed with reload? [confirm] <enter>
Router1#
Korzystajc z polecenia reload at, mona okreli dokadn dat i godzin, o ktrej
procedura ponownego uruchomienia zostanie przeprowadzona:
Router1#reload at 14:00 Feb 2
Reload scheduled for 14:00:00 EST Sun Feb 2 2003 (in 26 hours and 44 minutes)
Proceed with reload? [confirm] <enter>
Router1#
98
Analiza
Zazwyczaj administrator zatrzymuje i ponownie uruchamia router osobicie. Niekiedy
jednak moe wystpi konieczno wykonania tej czynnoci o okrelonej godzinie. Przykadowo, restart jest jedynym sposobem usprawnienia bdnie podzielonej pamici routera.
Jednak z pewnoci nikt nie chciaby przeprowadza takiej operacji w czasie godzin pracy.
Dziki zastosowaniu prezentowanej metody mona zleci wykonanie zadania o pnocy lub
w innym czasie, kiedy natenie ruchu jest relatywnie mae.
Innym przykadem wykorzystania mechanizmu opnionego restartu jest ch niedopuszczenia do zablokowania komunikacji z routerem podczas wykonywania potencjalnie
niebezpiecznych zmian w plikach konfiguracyjnych. Ewentualno uniemoliwienia sobie
korzystania z routera podczas wprowadzania zmian konfiguracyjnych wystpuje do
czsto na przykad podczas modyfikowania list dostpowych do komunikowania si
z urzdzeniem lub w chwili konfigurowania mechanizmw routingu. Rozwizaniem problemu moe by poprzedzenie jakichkolwiek dziaa przekazaniem do routera polecenia
wykonania automatycznego restartu po 15 minutach. Wwczas w przypadku zablokowania komunikacji z urzdzeniem administrator nie bdzie mg zapisa ustawie konfiguracji pracy w pamici NVRAM. Zatem w chwili, gdy router uruchomi si ponownie,
uaktywniona zostanie wczeniejsza konfiguracja. Niewaciwe ustawienia zostan automatycznie anulowane.
Jeeli po zakoczeniu procedury konfiguracyjnej wszystkie zmiany oka si waciwe,
mona zapisa ustawienia w pamici NVRAM i odwoa automatyczny restart (odwoywanie restartu zostanie opisane w dalszej czci receptury).
Polecenie reload in umoliwia rwnie okrelenie przyczyn restartu:
Router1#reload in 1:20 Uaktualnienie IOS
Reload scheduled for 12:37:45 EST Sat Feb 1 2003 (in 1 hour and 20 minutes)
Reload reason: Uaktualnienie IOS
Proceed with reload? [confirm] <enter>
Router1#
Tekst wprowadzany po wartoci czasu jest uznawany przez polecenie reload za opis
powodu, dla ktrego wykonuje si restart. Wprowadzone informacje s rejestrowane
w dzienniku zdarze podczas przystpowania do procedury ponownego uruchomienia
urzdzenia. Opcja ta zostaa wprowadzona w systemie IOS 12.2. W zapisanym komunikacie oprcz samego opisu przyczyn restartu znajduj si informacje o czasie wprowadzenia polecenia, czasie wykonania procedury oraz nazwie uytkownika, ktry zada
ponownego uruchomienia routera:
Feb 1 11:17:47: %SYS-5-SCHEDULED_RELOAD: Reload requested for 12:37:45 EST
Sat Feb 1 2003 at 11:17:45 EST Sat Feb 1 2003 by marek on vty0 (172.25.1.1).
Reload Reason: Uaktualnienie IOS.
99
Przyczyn restartu mona rwnie okreli podczas wprowadzania polecenia reload at:
Router1#reload at 23:20 Feb 15 Uaktualnienie IOS
Reload scheduled for 23:20:00 EST Sat Feb 15 2003 (in 124 hours and 48 minutes)
Reload reason: Uaktualnienie IOS
Proceed with reload? [confirm] <enter>
Router1#
Scheduled reload
Po zaplanowaniu ponownego uruchomienia systemu router okresowo przesya do uytkownikw informacj przypominajc o wyczeniu. Domylne ustawienia gwarantuj
wysyanie powiadamiania na godzin, 30 minut, 5 minut i minut przed rozpoczciem procedury. Odwoanie restartu jest moliwe w dowolnym momencie przed jego wykonaniem.
Komunikaty o wyczeniu urzdzenia maj nastpujc posta:
Router1#
***
*** --- SHUTDOWN in 1:00:00 --***
***
*** --- SHUTDOWN in 0:30:00 --***
***
*** --- SHUTDOWN in 0:05:00 --***
***
*** --- SHUTDOWN in 0:01:00 --***
Connection closed by foreign host.
100
Zobacz rwnie
Rozdzia 14.
Rozwizanie
Aby dokona zrzutu pamici routera po wystpienia powaniejszego bdu, trzeba posuy si poleceniem exception dump i poinformowa urzdzenie, w jaki sposb
przesa dane do serwera:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip ftp source-interface Loopback0
Router1(config)#ip ftp username ijbrown
Router1(config)#ip ftp password ijpassword
Router1(config)#exception protocol ftp
Router1(config)#exception region-size 65536
Router1(config)#exception dump 172.25.1.3
Router1(config)#end
Router1#
Analiza
Prezentowana receptura jest jedn z tych, ktre powinny by wykorzystywane jak najrzadziej. Gwn przyczyn wykonywania zrzutw pamici routera jest konieczno dostarczenia danych do centrum pomocy technicznej firmy Cisco, ktre umoliwi zdiagnozowanie problemu. W przypadku powaniejszych problemw centrum TAC zawsze
prosi o dosanie danych na temat stanu pamici routera w chwili awarii. Niniejsza receptura
powinna zatem przygotowa Czytelnika do waciwego reagowania w przypadku wystpienia problemw.
Zrzut jest zapisem zawartoci pamici routera na chwil przed wykonaniem wymuszonej
procedury restartu. Pozyskane dane musz zosta przesane do serwera, gdy jest ich
zbyt duo, by mogy by zapisane w pamici trwaej.
Podczas zrzutu tak naprawd tworzone s dwa pliki. Jeden z nich odpowiada gwnej
pamici systemu, a drugi pamici ukadw wejcia-wyjcia. Na podstawie zapisanych
danych inynierowie Cisco mog okreli przyczyn niewaciwego zachowania oprogramowania i przygotowa poprawk uwzgldnian w kolejnych wersjach IOS.
101
102
-la
3 ijbrown
5 root
1 ijbrown
1 ijbrown
ijbrown
wheel
ijbrown
ijbrown
512
512
46137344
4194304
Feb
Feb
Feb
Feb
1 13:50 ./
4 2002 ../
1 13:54 Router1-core
1 13:52 Router1-coreiomem
Zobacz rwnie
Receptura 1.14.
Rozwizanie
Gromadzenie informacji o sposobie przydzielania adresw IP poszczeglnym segmentom
jest zadaniem o bardzo duym znaczeniu, a jednoczenie wymaga znacznych nakadw
mudnej pracy. Podobnie pozyskiwanie poprawnych i aktualnych danych o zasadach
adresowania w duych organizacjach bywa bardzo trudne. Problem ten rozwizuje
prezentowany w przykadzie 2.1 skrypt jzyka Perl. Wszystkie dane o adresach IP pod-
103
sieci s w nim pozyskiwane bezporednio z routerw. Wyniki dziaania skryptu s zapisywane w pliku CSV, ktry mona w atwy sposb importowa do aplikacji arkuszy kalkulacyjnych.
Przykad 2.1. netstat.pl
#!/usr/local/bin/perl
#
#
netstat.pl -- skrypt pozyskuje od innych routerw szczegowe
informacje
#
na temat adresowania w podsieciach poszczeglnych
interfejsw.
#
# Ustawienie parametrw rodowiska
$workingdir="/home/cisco/net";
$snmpro="ORARO";
#
$rtrlist="$workingdir/RTR_LIST";
$snmpwalk="/usr/local/bin/snmpwalk -v 1 -c $snmpro";
$snmpget="/usr/local/bin/snmpget -v 1 -c $snmpro";
open (RTR, "$rtrlist") || die "Nie mona otworzy pliku $rtrlist";
open (CSV, ">$workingdir/RESULT.csv") || die "Nie mona otworzy pliku
RESULT.csv";
while (<RTR>) {
chomp($rtr="$_");
@ifIndex=`$snmpwalk $rtr .1.3.6.1.2.1.4.20.1.2`;
@ipAddress=`$snmpwalk $rtr .1.3.6.1.2.1.4.20.1.1`;
@ipMask=`$snmpwalk $rtr .1.3.6.1.2.1.4.20.1.3`;
$arraynum=0;
print CSV "\n$rtr\n";
print CSV "Interfejs, Adres IP, Maska, MTU, Szybko, Admin, Stan\n";
for $ifnumber (@ifIndex) {
chomp(($foo, $ifnum) = split(/= /, $ifnumber));
$ifDescription=`$snmpget $rtr ifDescr.$ifnum`;
$ifMTU=`$snmpget $rtr ifMtu.$ifnum`;
$ifSpeed=`$snmpget $rtr ifSpeed.$ifnum`;
$ifAdminstatus=`$snmpget $rtr ifAdminStatus.$ifnum`;
$ifOperstatus=`$snmpget $rtr ifOperStatus.$ifnum`;
chomp(($foo, $ipaddr) = split(/: /, $ipAddress[$arraynum]));
chomp(($foo, $mask) = split(/: /, $ipMask[$arraynum]));
chomp(($foo, $ifdes, $foo) = split(/"/, $ifDescription));
chomp(($foo, $mtu) = split (/= /, $ifMTU));
chomp(($foo, $speed) = split (/: /, $ifSpeed));
chomp(($foo, $admin) = split (/= /, $ifAdminstatus));
chomp(($foo, $oper) = split (/= /, $ifOperstatus));
if ( $speed > 3194967295 ) { $speed = 0 };
$admin =~ s/\(.*\)//;
$oper =~ s/\(.*\)//;
if ( $oper eq "dormant" ) { $oper = "up(spoofing)"};
$speed = $speed/1000;
if ( $speed > 1000) {
$speed = $speed/1000;
$speed =~ s/$/ Mbit\/s/;
}
else {
$speed =~ s/$/ Kbit\/s/;
}
print CSV "$ifdes,$ipaddr,$mask,$mtu,$speed,$admin,$oper\n";
$arraynum++;
}
}
close(RTR);
close(CSV);
104
Analiza
Skrypt netstat.pl pobiera informacje o adresach IP podsieci z routerw umieszczonych na
licie. Wykorzystuje w swoim dziaaniu protok SNMP. Gwarantuje poprawno i aktualno danych. Informacje o wszystkich interfejsach routera s zapisywane w postaci
pliku CSV.
Dziaanie skryptu netstat.pl wymaga istnienia w katalogu /usr/local/bin interpretera jzyka
Perl oraz pakietu NET-SNMP. Wicej informacji na temat jzyka Perl i pakietu NET-SNMP
zamieszczono w dodatku A. Jeeli wymienione programy znajduj si w innym katalogu,
naley odpowiednio zmodyfikowa skrypt.
Przed uyciem skryptu trzeba zdefiniowa wartoci dwch zmiennych $workingdir i $snmpro. Zmienna $workingdir musi zawiera nazw katalogu, w ktrym
przechowywany jest plik skryptu i jego pliki wynikowe. Z kolei zmienna $snmpro zawiera
cig tekstowy przeznaczonej tylko do odczytu danych wsplnoty SNMP routerw. Zakada si, e podany cig tekstowy wsplnoty jest jednakowy we wszystkich urzdzeniach.
Dziaanie skryptu polega na przesyaniu zapyta do kolejnych routerw z listy zapisanej
w pliku RTR_LIST umieszczonej w katalogu roboczym skryptu. Lista routerw powinna
si skada z nazw urzdze lub ich adresw IP zapisanych w oddzielnych liniach pliku.
W liniach tych nie wolno umieszcza komentarzy lub innych danych. Wynik dziaania
skryptu jest zapisywany w pliku o nazwie RESULT.csv umieszczonym w katalogu roboczym.
Zawarto pliku RESULT.csv mona importowa do arkusza kalkulacyjnego. Wynik wykonania operacji powinien by zbliony do prezentowanego w tabeli 2.3.
Prezentowany skrypt analizuje informacje o wszystkich interfejsach pracujcych w protokole IP. Uwzgldnia interfejsy wyczone (down) przez administratora, interfejsy ptli
zwrotnych (loopback), adresy HSRP oraz interfejsy o nieprzydzielonym adresie IP. Skrypt
nie analizuje interfejsw, ktre nie pracuj w protokole IP, i elementw skadowych interfejsw.
Z uwagi na fakt, e wykorzystano jedynie wartoci MIB otwartego standardu SNMP,
prezentowane rozwizanie mona zastosowa do pobierania danych z dowolnego urzdzenia pracujcego zgodnie z zaoeniami protokou SNMP, w tym z urzdze firm innych
ni Cisco.
Zobacz rwnie
Dodatek A.
105
Adres IP
Maska
MTU
Serial0/0
10.1.1.1
255.255.255.252
1500
Loopback0
10.2.2.2
255.255.255.252
FastEthernet1/0
172.22.1.4
Ethernet0/0
Szybko
Admin
Stan
768 Kbps
up
up
1514
0 Kbps
up
up
255.255.255.0
1500
100 Mbps
up
up
172.25.1.8
255.255.255.0
1500
10 Mbps
down
down
Interfejs
Adres IP
Maska
MTU
Szybko
Admin
Stan
BRI0
10.1.99.55
255.255.255.0
1500
64 Kbps
down
down
Ethernet0
172.25.1.7
255.255.255.0
1500
10 Kbps
up
up
Loopback0
172.25.25.6
255.255.255.255
1514
0 Kbps
up
up
Interfejs
Adres IP
Maska
MTU
Admin
Stan
Serial0.1
172.20.1.2
255.255.255.252
28 Kbps
up
up
Ethernet0
172.20.10.1
255.255.255.0
1500
10 Mbps
up
up
Loopback0
172.20.100.1
255.255.255.255
1514
0 Kbps
up
up
Toronto
Boston
Szybko
Rozwizanie
Przedstawiony w przykadzie 2.2 skrypt rt.pl wykorzystuje protok SNMP do pozyskiwania z okrelonego routera danych o tablicy routingu. Nastpnie przekazuje zgromadzone informacje na standardowe wyjcie (STDOUT). Nazwa routera lub jego adres IP
musz by przekazane jako parametr wywoania skryptu.
Przykad 2.2. rt.pl
#!/usr/bin/perl
#
#
rt.pl -- skrypt pobiera z routera jego
106
Analiza
Skrypt rt.pl zosta napisany w jzyku Perl i wykorzystuje pakiet NET-SNMP. Jego dziaanie polega na pozyskiwaniu za pomoc protokou SNMP informacji o tablicy routingu
wskazanego routera. Interpreter jzyka Perl i pakiet NET-SNMP musz si znajdowa
w katalogu /usr/local/bin. Wicej informacji na temat samego jzyka oraz pakietu NETSNMP zamieszczono w dodatku A.
Przed uruchomieniem skryptu naley zdefiniowa warto zmiennej $snmpro, ktra przechowuje cig tekstowy wsplnoty SNMP:
Freebsd% ./rt.pl toronto
Adres docelowy Maska
10.1.1.0
255.255.255.252
10.2.2.2
255.255.255.255
172.16.2.0
255.255.255.0
Nastpny router
172.25.1.5
172.25.1.5
172.25.1.5
Protok
ospf
ospf
ospf
Interfejs
Ethernet0
Ethernet0
Ethernet0
255.255.0.0
255.255.255.252
255.255.255.0
255.255.255.255
255.255.0.0
255.255.255.0
255.255.255.0
255.255.255.252
255.255.255.255
255.255.255.255
255.255.255.252
255.255.255.255
172.25.1.5
172.25.1.5
172.25.1.5
172.25.1.5
172.25.1.5
172.25.1.5
172.25.1.7
172.25.1.5
172.25.1.5
172.25.25.6
172.25.1.5
172.25.1.5
local
ospf
ospf
ospf
(e)igrp
ospf
local
(e)igrp
(e)igrp
local
(e)igrp
ospf
107
Local
Ethernet0
Ethernet0
Ethernet0
Ethernet0
Ethernet0
Ethernet0
Ethernet0
Ethernet0
Loopback0
Ethernet0
Ethernet0
Wyniki udostpniane przez skrypt s raczej atwe w interpretacji, poza trasami statycznymi i poczeniami bezporednimi, ktre wymagaj krtkiego wyjanienia.
W przypadku tras statycznych w kolumnie Protok wystpuje warto local, a w kolumnie
Interfejs Local. Poczenia bezporednie s rwnie oznaczane wartoci local w polu
Protok, ale w kolumnie interfejsu zamieszczana jest nazwa rzeczywistego interfejsu
zwizanego z dan tras.
Przykadowo, wiersz 172.20.0.0 255.255.0.0 odpowiada trasie statycznej:
172.20.0.0
255.255.0.0
172.25.1.5
local
Local
255.255.255.0
172.25.1.7
local
Ethernet0
Zobacz rwnie
Dodatek A.
108
Rozwizanie
Zadanie przedstawionego w przykadzie 2.3 skryptu arpt.pl polega na pobieraniu tablicy
ARP z okrelonego routera lub ze stacji o okrelonym IP i wywietlaniu wynikw na standardowym wyjciu (STDOUT). Nazwa lub adres IP routera powinny by podane jako
parametr linii polece.
Przykad 2.3. arpt.pl
#!/usr/local/bin/perl
#
#
arpt.pl -- skrypt pobiera tablic ARP z okrelonego routera.
#
# Ustawienie parametrw rodowiska
$snmpro="ORARO";
#
$snmpwalk="/usr/local/bin/snmpwalk -v 1 -c $snmpro";
$snmpget="/usr/local/bin/snmpget -v 1 -c $snmpro";
chomp ($rtr=$ARGV[0]);
if ( $rtr eq "" ) {die "$0: Nie wskazano routera \n"};
@iftable=`$snmpwalk $rtr ifDescr`;
for $ifnum (@iftable) {
chomp (($intno, $intname) = split (/ = /, $ifnum));
$intno=~s/.*ifDescr\.//;
$intname=~s/"//gi;
$arpint{$intno}=$intname;
}
printf ("%-22.22s %-10.10s %-25.25s\n", Adres IP, Adres MAC, Interfejs);
@atTable=`$snmpwalk $rtr .1.3.6.1.2.1.3.1.1.1`;
for $atnum (@atTable) {
chomp (($atip, $atint) = split (/ = /, $atnum));
$atip =~ s/.*atIfIndex\.[0-9]+\.1\.//;
$atphys=`$snmpget $rtr atPhysAddress.$atint.1.$atip`;
chomp(($foo, $phys) = split(/: /, $atphys));
$phys=~s/ /-/gi; chop ($phys);
$phys=~tr/A-Z/a-z/;
$int=$arpint{$atint};
printf ("%-15.15s %17.17s %-25.25s\n", $atip, $phys, $int);
}
Analiza
Zadaniem skryptu arpt.pl jest pobieranie zawartoci tablicy ARP ze wskazanego routera,
przy wykorzystaniu do tego celu protokou SNMP. Wynik dziaania kodu przekazywany
jest na standardowe wyjcie STDOUT. Do uruchomienia skryptu konieczne jest posiadanie interpretera jzyka Perl oraz pakietu NET-SNMP. Obydwa programy powinny si
znajdowa w katalogu /usr/local/bin. Wicej informacji o jzyku Perl i pakiecie NET-SNMP
zamieszczono w dodatku A.
Przed uruchomieniem skryptu naley prawidowo zdefiniowa cig tekstowy wsplnoty
SNMP (przechowywany w zmiennej $snmpro):
Freebsd% ./arpt.pl toronto
Adres IP
Adres MAC
172.22.1.1
00-01-96-70-b7-81
Interfejs
FastEthernet0/1
00-01-96-70-b7-81
00-01-96-70-b7-81
00-10-4b-09-57-00
00-01-96-70-b7-80
00-00-0c-92-bc-6a
00-00-0c-07-ac-01
00-01-96-70-b7-80
00-00-0c-07-ac-00
109
FastEthernet0/1
FastEthernet0/1
FastEthernet0/0.1
FastEthernet0/0.1
FastEthernet0/0.1
FastEthernet0/0.1
FastEthernet0/0.2
FastEthernet0/0.2
Raport bdcy wynikiem dziaania skryptu skada si z informacji o adresach IP, adresach
MAC i nazwach interfejsw odpowiadajcych poszczeglnym wpisom w tablicy ARP. Aby
wyszuka dane o konkretnym urzdzeniu, mona zastosowa jedno z narzdzi przeszukiwania tekstu. W serwerze uniksowym byby to program grep, ktrego wywoanie powinno wyglda nastpujco:
Freebsd% ./arpt.pl toronto | grep 172.25.1.5
172.25.1.5
00-01-96-70-b7-80 FastEthernet0/0.1
Freebsd%
Tablice ARP routerw w sieci szkieletowej mog mie cakiem due rozmiary, co znacznie
utrudnia wyszukiwanie konkretnych wpisw ARP. Dziki prezentowanemu skryptowi
operacje przeszukiwania mona wykonywa zdalnie, a dziki poleceniu grep moliwe
jest rwnie wyszukiwanie adresw IP na podstawie znanych adresw MAC:
Freebsd% ./arpt.pl toronto | grep 00-01-96-70-b7-81
172.22.1.3
00-01-96-70-b7-81 FastEthernet0/0.1
Freebsd%
Zobacz rwnie
Dodatek A.
110
Rozwizanie
Prezentowany w przykadzie 2.4 skrypt jzyka Perl host.pl tworzy plik nazw stacji, w ktrym
umieszczane s informacje o adresach IP wszystkich routerw znajdujcych si na licie
urzdze. Skrypt zosta napisany w jzyku Perl i wymaga zainstalowania pakietu NETSNMP. Podczas wywoywania programu nie trzeba podawa adnych parametrw.
Przykad 2.4. host.pl
#!/usr/local/bin/perl
#
#
host.pl -- skrypt tworzy plik nazw stacji, wykorzystujc
#
informacje pobrane z routerw umieszczonych na licie.
#
# Ustaw parametry rodowiska
$workingdir="/home/cisco/net";
$snmpro="ORARO";
#
$rtrlist="$workingdir/RTR_LIST";
$snmpwalk="/usr/local/bin/snmpwalk -v 1 -c $snmpro";
$snmpget="/usr/local/bin/snmpget -v 1 -c $snmpro";
open (RTR, "$rtrlist") || die "Nie mona otworzy pliku $rtrlist";
open (RESULT, ">$workingdir/RESULT") || die "Nie mona otworzy pliku RESULT";
while (<RTR>) {
chomp($rtr="$_");
@ifIndex=`$snmpwalk $rtr ipAdEntIfIndex`;
@ipAddress=`$snmpwalk $rtr ipAdEntAddr`;
$rtr1=`$snmpget $rtr .1.3.6.1.4.1.9.2.1.3.0`;
chomp(($foo, $RTR) = split (/"/, $rtr1));
$arraynum=0;
for $ifnumber (@ifIndex) {
chomp(($foo, $ifnum) = split(/= /, $ifnumber));
$ifDescription=`$snmpget $rtr ifName.$ifnum`;
chomp(($foo, $ipaddr) = split(/: /, $ipAddress[$arraynum]));
chomp(($foo, $ifdes) = split(/= /, $ifDescription));
$name="$RTR-$ifdes";
#$name=~s/\//-/;
if ( $ifdes eq "Lo0" ) { $name=$RTR };
print RESULT "$ipaddr\t\t$name\n";
$arraynum++;
}
}
close(RTR);
close(RESULT);
Analiza
W wikszoci firm tablice nazw stacji budowane s rcznie przez administratorw. Zazwyczaj s one pniej wykorzystywane przez serwery zarzdzajce konfiguracj sieci.
Najczciej z kadym routerem kojarzy si jeden dostpny bezporednio interfejs sieciowy. Prezentowany skrypt tworzy plik nazw, uwzgldniajc wszystkie znane adresy IP
wszystkich rotuerw.
111
miami-Se0/0
miami
miami-Se0/2
miami-Fa1/0
miami-Et0/0
toronto-Se0/1
toronto-Se0/0.2
toronto-Fa0/1
toronto-Fa0/0.1
toronto-Se0/0.1
toronto
toronto-Lo1
detroit-BR0
detroit-Et0
detroit
boston-Se0.1
boston-Et0
boston
hops max,
2.263 ms
3.042 ms
8.234 ms
9.893 ms
52 byte packets
2.210 ms 2.178
3.060 ms 3.846
8.245 ms 8.145
9.893 ms 9.432
ms
ms
ms
ms
112
na:
$name=~s/\//-/;
Zobacz rwnie
Dokument RFC 952.