Вы находитесь на странице: 1из 58

IDZ DO

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

Rozdzia 2. Zarzdzanie routerem..............................................................................67


2.0. Wprowadzenie ................................................................................................................................67
2.1. Tworzenie aliasw polece ...........................................................................................................68
2.2. Zarzdzaniem tablic ARP routera..............................................................................................70
2.3. Dostosowywanie parametrw buforw routera .......................................................................73
2.4. Protok wyszukiwania Cisco Discovery Protocol ...................................................................78
2.5. Wyczanie obsugi protokou CDP ............................................................................................82
2.6. Wykorzystanie maych serwerw............................................................................................83
2.7. Dostp do routera z wykorzystaniem protokou HTTP ..........................................................87
2.8. Korzystanie ze statycznych tablic nazw stacji ...........................................................................90
2.9. Korzystanie z systemu nazw domenowych...............................................................................92
2.10. Wyczanie odwzorowania nazw domenowych.....................................................................95
2.11. Okrelanie czasu ponownego uruchomienia routera.............................................................97
2.12. Awaryjne zrzuty pamici do pliku ..........................................................................................100
2.13. Generowanie raportw zawierajcych dane o interfejsach .................................................102
2.14. Generowanie raportu zawierajcego informacje o tablicy routingu ..................................105
2.15. Generowanie raportu zawierajcego informacje z tablicy ARP..........................................107
2.16. Generowanie pliku nazw stacji ................................................................................................109

Rozdzia 3. Prawa dostpu i przywileje uytkownikw.....................................113


3.0. Wprowadzenie ..............................................................................................................................113
3.1. Identyfikatory uytkownikw....................................................................................................114
3.2. Szyfrowanie hase.........................................................................................................................118
3.3. Doskonalsze techniki szyfrowania ............................................................................................119
3.4. Usuwanie hase z pliku konfiguracyjnego routera .................................................................121
3.5. Deszyfracja hase zaszyfrowanych standardowym algorytmem firmy Cisco....................123
3.6. Wywietlanie informacji o aktywnych uytkownikach .........................................................125
3.7. Wysyanie komunikatw do innych uytkownikw .............................................................128
3.8. Zmiana liczby portw VTY.........................................................................................................130
3.9. Zmiana dopuszczalnego czasu korzystania z terminala VTY...............................................132
3.10. Ograniczenie dostpu do terminali VTY przez wyznaczenie okrelonych protokow .......134
3.11. Ustawianie czasu komunikacji z wykorzystaniem linii VTY ..............................................136
3.12. Komunikaty .................................................................................................................................137
3.13. Wyczanie publikowania komunikatw na poszczeglnych portach .............................141
3.14. Wyczanie linii routera.............................................................................................................142
3.15. Zarezerwowanie jednego portu VTY dla administratora ....................................................144
3.16. Ograniczenie dostpu do usugi Telnet ..................................................................................146

Spis treci

3.17. Zapisywanie informacji o logowaniu z wykorzystaniem protokou Telnet .....................147


3.18. Definiowanie adresu IP dla pocze w protokole Telnet...................................................148
3.19. Automatyzacja procedury logowania .....................................................................................149
3.20. Bezpieczny dostp z wykorzystaniem usugi SSH ...............................................................152
3.21. Zmiana poziomu uprawnie dla polece IOS.......................................................................156
3.22. Definiowanie uprawnie uytkownikw...............................................................................159
3.23. Definiowanie uprawnie portu................................................................................................162

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

Rozdzia 5. Routing IP ...............................................................................................187


5.0. Wprowadzenie ..............................................................................................................................187
5.1. Wyszukiwanie trasy.....................................................................................................................190
5.2. Wywietlanie tras okrelonego rodzaju ....................................................................................192
5.3. Zmiana formatu maski ................................................................................................................194
5.4. Routing statyczny .........................................................................................................................198
5.5. Routing zamienny ........................................................................................................................202
5.6. Wyznaczanie tras na podstawie adresu rdowego i zaoonej polityki routingu..........204
5.7. Wyznaczanie tras na podstawie rodzaju aplikacji i okrelonej polityki routingu .............208
5.8. Testowanie polityki routingu .....................................................................................................211
5.9. Zmiana odlegoci administracyjnej ..........................................................................................212
5.10. Przesyanie pakietw rnymi trasami o jednakowym koszcie .........................................216

Rozdzia 6. Protok RIP...........................................................................................219


6.0. Wprowadzenie ..............................................................................................................................219
6.1. Konfiguracja protokou RIP w wersji pierwszej......................................................................221
6.2. Filtrowanie tras protokou RIP...................................................................................................224
6.3. Rozpowszechnianie informacji o trasach statycznych za pomoc protokou RIP .............227

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

Rozdzia 7. Protok EIGRP .....................................................................................261


7.0. Wprowadzenie ..............................................................................................................................261
7.1. Konfigurowanie protokou EIGRP ............................................................................................263
7.2. Filtrowanie tras protokou EIGRP .............................................................................................266
7.3. Redystrybucja tras w protokole EIGRP ....................................................................................270
7.4. Redystrybucja tras z wykorzystaniem odwzorowania tras...................................................274
7.5. Trasa domylna w protokole EIGRP .........................................................................................275
7.6. Wyczenie obsugi protokou EIGRP w okrelonym interfejsie..........................................277
7.7. Uoglnianie tras w protokole EIGRP ........................................................................................279
7.8. Zmiana metryk EIGRP.................................................................................................................282
7.9. Zalenoci czasowe ......................................................................................................................284
7.10. Uwierzytelnianie w protokole EIGRP.....................................................................................286
7.11. Rejestrowanie zmian w poczeniach z ssiednimi routerami EIGRP ..............................288
7.12. Ograniczanie wykorzystania pasma w protokole EIGRP....................................................290
7.13. Routing EIGRP w sieciach wyniesionych...............................................................................291
7.14. Oznaczanie tras ...........................................................................................................................292
7.15. Status mechanizmu EIGRP .......................................................................................................294

Rozdzia 8. Protok OSPF .......................................................................................299


8.0. Wprowadzenie ..............................................................................................................................299
8.1. Konfigurowanie obsugi protokou OSPF ................................................................................305
8.2. Filtrowanie tras w protokole OSPF ...........................................................................................307
8.3. Zmiana kosztu...............................................................................................................................309
8.4. Trasa domylna w protokole OSPF ...........................................................................................312
8.5. Redystrybucja tras statycznych w protokole OSPF ................................................................314

Spis treci

8.6. Redystrybucja tras zewntrznych w protokole OSPF ............................................................316


8.7. Wybr routera DR ........................................................................................................................318
8.8. Ustawianie wartoci RID protokou OSPF ...............................................................................321
8.9. Uwierzytelnianie w protokole OSPF .........................................................................................323
8.10. Wybr odpowiedniego typu obszaru .....................................................................................327
8.11. Uoglnianie tras OSPF...............................................................................................................335
8.12. Wyczanie obsugi protokou OSPF na wybranych interfejsach.......................................338
8.13. Oznaczenie tras OSPF ................................................................................................................340
8.14. Rejestrowanie zmian statusu ssiednich routerw OSPF ....................................................341
8.15. Zalenoci czasowe protokou OSPF.......................................................................................343
8.16. Przegldanie informacji o dziaaniu protokou OSPF
z uwzgldnieniem nazw domenowych..................................................................................345
8.17. Debugowanie procesu OSPF ....................................................................................................346

Rozdzia 9. Protok BGP .........................................................................................347


9.0. Wprowadzenie ..............................................................................................................................347
9.1. Konfiguracja protokou BGP.......................................................................................................356
9.2. Opcja eBGP-multihop ..................................................................................................................362
9.3. Zmiana wartoci atrybutu NEXT_HOP ....................................................................................364
9.4. Korzystanie z czy dwch dostawcw ISP .............................................................................365
9.5. Podczenie do sieci dwch dostawcw ISP za pomoc redundantnych routerw .........369
9.6. Ograniczanie rozpowszechniania informacji BGP ..................................................................371
9.7. Zmiana wartoci preferencji lokalnych .....................................................................................375
9.8. Rozkadanie ruchu........................................................................................................................379
9.9. Usuwanie prywatnych identyfikatorw ASN z listy AS_PATH..........................................381
9.10. Filtrowanie tras BGP na podstawie wartoci AS_PATH .....................................................383
9.11. Zmniejszanie rozmiaru odbieranych tablic routingu ...........................................................387
9.12. Uoglnianie wysyanych informacji o trasach.......................................................................390
9.13. Dodawanie identyfikatorw ASN do atrybutu AS_PATH .................................................394
9.14. Redystrybucja tras w protokole BGP ......................................................................................396
9.15. Grupowanie ssiednich routerw BGP...................................................................................400
9.16. Uwierzytelnianie routerw .......................................................................................................402
9.17. czenie rnych technik ..........................................................................................................404

Rozdzia 10. Protok Frame Relay .........................................................................407


10.0. Wprowadzenie ............................................................................................................................407
10.1. Konfiguracja protokou Frame Relay w podinterfejsach punkt-punkt..............................410
10.2. Opcje protokou LMI..................................................................................................................415

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

Rozdzia 11. Kolejkowanie i przecienie sieci .....................................................433


11.0. Wprowadzenie ............................................................................................................................433
11.1. Szybkie przeczanie i mechanizm CEF .................................................................................437
11.2. Ustawianie wartoci pola DSCP i TOS....................................................................................441
11.3. Priorytety kolejek........................................................................................................................444
11.4. Kolejki uytkownika ..................................................................................................................447
11.5. Kolejki uytkownika a priorytety kolejek ..............................................................................451
11.6. Kolejkowanie WFQ.....................................................................................................................452
11.7. Kolejkowanie WFQ z uwzgldnieniem klas ..........................................................................454
11.8. Unikanie przecie algorytm WRED ...............................................................................457
11.9. Protok RSVP.............................................................................................................................460
11.10. Oglne metody ksztatowania ruchu ....................................................................................463
11.11. Ksztatowanie ruchu w sieciach Frame Relay......................................................................465
11.12. Dopuszczalna szybko transmisji algorytm CAR ........................................................467
11.13. Implementacja sposobu dziaania zgodnego z zaleceniami RFC .....................................472
11.14. Przegldanie parametrw kolejek .........................................................................................476

Rozdzia 12. Tunele oraz sieci VPN .........................................................................479


12.0. Wstp ............................................................................................................................................479
12.1. Tworzenie tunelu........................................................................................................................484
12.2. Tunelowanie obcych protokow w IP ...................................................................................488
12.3. Tunelowanie, a protokoy routowania dynamicznego.........................................................490
12.4. Przegldanie stanu tunelu.........................................................................................................493
12.5. Tworzenie szyfrowanych sieci VPN czcych routery .......................................................495
12.6. Generowanie kluczy RSA..........................................................................................................502
12.7. Tworzenie midzy routerami sieci VPN wykorzystujcej klucze RSA .............................505
12.8. Tworzenie sieci VPN pomidzy stacj robocz a routerem ................................................509
12.9. Kontrola stanu protokou IPSec ...............................................................................................512

Spis treci

Rozdzia 13. Komutowane cza zapasowe ...........................................................517


13.0. Wstp ............................................................................................................................................517
13.1. Automatyczne nawizywanie komutowanych pocze zapasowych .............................521
13.2. Uycie interfejsw dialera .........................................................................................................528
13.3. Uycie modemu asynchronicznego podczonego do portu AUX ....................................532
13.4. Uycie interfejsw zapasowych ...............................................................................................534
13.5. Uycie funkcji dozoru dialera...................................................................................................537
13.6. Zagwarantowanie poprawnego rozczenia ..........................................................................539
13.7. Poznanie stanu komutowanego poczenia zapasowego ....................................................540
13.8. Usuwanie problemw z zapasowymi poczeniami komutowanymi...............................544

Rozdzia 14. Czas i protok NTP ...........................................................................547


14.0. Wstp ............................................................................................................................................547
14.1. Oznaczanie czasem pozycji dziennikw zdarze routera ...................................................549
14.2. Ustawianie zegara ......................................................................................................................552
14.3. Konfiguracja strefy czasowej ....................................................................................................553
14.4. Konfiguracja czasu letniego ......................................................................................................555
14.5. Synchronizacja czasu w routerach (protok NTP)...............................................................556
14.6. Konfiguracja nadmiarowoci w protokole NTP ....................................................................560
14.7. Konfiguracja routera jako NTP Master ...................................................................................562
14.8. Zmiana okresu synchronizacji protokou NTP......................................................................564
14.9. Uycie protokou NTP do okresowego rozgaszania uaktualnie czasu..........................564
14.10. Uycie protokou NTP do okresowej multiemisji uaktualnie czasu..............................566
14.11. Wczanie i wyczanie protokou NTP w poszczeglnych interfejsach ........................568
14.12. Uwierzytelnianie NTP .............................................................................................................570
14.13. Ograniczanie liczby urzdze rwnorzdnych...................................................................572
14.14. Ograniczanie urzdze rwnorzdnych...............................................................................573
14.15. Konfiguracja okresu zegara ....................................................................................................574
14.16. Sprawdzanie stanu protokou NTP .......................................................................................575
14.17. Rozwizywanie problemw z protokoem NTP .................................................................577

Rozdzia 15. DLSw ......................................................................................................581


15.0. Wstp ............................................................................................................................................581
15.1. Konfiguracja DLSw ....................................................................................................................586
15.2. Uycie DLSw do mostkowania pomidzy sieciami Ethernet i Token Ring .....................593
15.3. Konwersja adresw Ethernet na Token Ring.........................................................................596
15.4. Konfiguracja SDLC.....................................................................................................................599
15.5. Konfiguracja SDLC w przypadku pocze wielopunktowych .........................................603

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

Rozdzia 16. Interfejsy routera oraz media ............................................................625


16.0. Wstp ............................................................................................................................................625
16.1. Poznanie stanu interfejsu ..........................................................................................................626
16.2. Konfiguracja interfejsw szeregowych ...................................................................................634
16.3. Wykorzystanie wewntrznej jednostki CSU/DSU linii T1..................................................639
16.4. Wykorzystanie wewntrznego moduu ISDN PRI ...............................................................641
16.5. Wykorzystanie wewntrznej jednostki CSU/DSU 56 Kbps................................................642
16.6. Konfiguracja asynchronicznego interfejsu szeregowego .....................................................645
16.7. Konfiguracja podinterfejsw ATM ..........................................................................................646
16.8. Konfiguracja kodowania adunku w obwodzie ATM..........................................................649
16.9. Konfiguracja parametrw interfejsu Ethernet........................................................................651
16.10. Konfiguracja parametrw interfejsu Token Ring ................................................................653
16.11. Konfiguracja trunkw sieci VLAN wykorzystujcych ISL................................................655
16.12. Konfiguracja trunkw sieci VLAN wykorzystujcych protok 802.1Q .........................658

Rozdzia 17. Simple Network Management Protocol...........................................663


17.0. Wprowadzenie ............................................................................................................................663
17.1. Konfigurowanie SNMP .............................................................................................................667
17.2. Pobieranie informacji z routera za pomoc narzdzi SNMP...............................................670
17.3. Zapisywanie wanych informacji o routerze do pniejszego pobrania przez SNMP......673
17.4. Pobieranie informacji inwentaryzacyjnych z listy routerw za porednictwem SNMP ....675
17.5. Zabezpieczanie dostpu SNMP za pomoc list dostpu .....................................................677
17.6. Rejestrowanie prb nieautoryzowanego dostpu SNMP ....................................................679
17.7. Ograniczanie dostpu do bazy MIB ........................................................................................681
17.8. Modyfikowanie biecej konfiguracji routera za porednictwem SNMP.........................684
17.9. Kopiowanie nowego obrazu IOS za porednictwem SNMP...............................................687
17.10. Hurtowa zmiana konfiguracji za porednictwem SNMP ..................................................689
17.11. Zapobieganie nieautoryzowanym zmianom konfiguracji .................................................692

Spis treci

11

17.12. Utrwalanie numerw interfejsw ..........................................................................................693


17.13. Wczanie puapek i komunikatw inform SNMP .............................................................696
17.14. Wysyanie komunikatw syslog w postaci puapek i komunikatw inform SNMP ....699
17.15. Ustawianie rozmiaru pakietu SNMP ....................................................................................701
17.16. Ustawianie rozmiaru kolejki SNMP ......................................................................................702
17.17. Ustawianie limitw czasu SNMP...........................................................................................704
17.18. Wyczanie puapek informujcych o aktywacji i dezaktywacji cza interfejsu...........705
17.19. Ustawianie rdowego adresu IP puapek SNMP ............................................................706
17.20. Uywanie mechanizmu RMON do wysyania puapek ....................................................707
17.21. Wczanie obsugi protokou SNMPv3 .................................................................................712
17.22. Korzystanie z SAA ...................................................................................................................717

Rozdzia 18. Rejestrowanie........................................................................................723


18.0. Wprowadzenie ............................................................................................................................723
18.1. Wczanie lokalnego rejestrowania w routerze.....................................................................725
18.2. Ustawianie rozmiaru dziennika ...............................................................................................727
18.3. Usuwanie zawartoci dziennika routera ................................................................................728
18.4. Wysyanie komunikatw dziennika na ekran .......................................................................729
18.5. Korzystanie ze zdalnego serwera rejestrowania ...................................................................731
18.6. Wczanie mechanizmu syslog w serwerze uniksowym.....................................................732
18.7. Zmiana domylnej kategorii rejestrowania ............................................................................734
18.8. Ograniczanie typw komunikatw dziennika wysyanych do serwera ...........................736
18.9. Ustawianie rdowego adresu IP w komunikatach syslog................................................738
18.10. Rejestrowanie komunikatw syslog routera w rnych plikach......................................739
18.11. Porzdkowanie plikw syslog w serwerze ..........................................................................740
18.12. Testowanie konfiguracji serwera syslog ...............................................................................742
18.13. Zapobieganie rejestrowaniu najczstszych komunikatw ................................................744
18.14. Ograniczanie natenia ruchu syslog....................................................................................745

Rozdzia 19. Listy dostpu.........................................................................................747


19.0. Wprowadzenie ............................................................................................................................747
19.1. Filtrowanie ruchu wedug adresu rdowego lub docelowego........................................749
19.2. Dodawanie komentarza do listy ACL.....................................................................................753
19.3. Filtrowanie ruchu wedug aplikacji.........................................................................................754
19.4. Filtrowanie wedug znacznikw w nagwku TCP..............................................................760
19.5. Ograniczanie kierunku sesji TCP .............................................................................................761
19.6. Filtrowanie ruchu aplikacji korzystajcych z wielu portw................................................763
19.7. Filtrowanie wedug pl DSCP i TOS.......................................................................................765

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

Rozdzia 20. DHCP......................................................................................................783


20.0. Wprowadzenie ............................................................................................................................783
20.1. Korzystanie z adresu pomocnika IP........................................................................................785
20.2. Ograniczanie wpywu adresw pomocnika IP......................................................................786
20.3. Dynamiczne konfigurowanie adresw IP routera za pomoc DHCP ...............................788
20.4. Dynamiczne przydzielanie adresw IP klientom za pomoc DHCP ................................790
20.5. Definiowanie opcji konfiguracyjnych DHCP.........................................................................792
20.6. Definiowanie okresu dzierawy DHCP..................................................................................795
20.7. Przydzielanie statycznych adresw IP za pomoc DHCP...................................................796
20.8. Konfigurowanie klienta bazy danych DHCP ........................................................................798
20.9. Konfigurowanie wielu serwerw DHCP do obsugi jednej podsieci ................................800
20.10. Wywietlanie stanu DHCP .....................................................................................................801
20.11. Debugowanie DHCP................................................................................................................803

Rozdzia 21. NAT.........................................................................................................805


21.0. Wprowadzenie ............................................................................................................................805
21.1. Konfigurowanie podstawowych funkcji NAT.......................................................................807
21.2. Dynamiczne przydzielanie adresw zewntrznych .............................................................809
21.3. Statyczne przydzielanie adresw zewntrznych ..................................................................810
21.4. Tumaczenie niektrych adresw w sposb statyczny, a innych w sposb dynamiczny .....811
21.5. Jednoczesne tumaczenie adresw w obu kierunkach .........................................................813
21.6. Przepisywanie prefiksu sieci ....................................................................................................815
21.7. Regulowanie zegarw NAT......................................................................................................816
21.8. Zmiana portw TCP uywanych przez FTP..........................................................................818
21.9. Sprawdzanie stanu NAT ...........................................................................................................819
21.10. Debugowanie NAT ..................................................................................................................821

Rozdzia 22. Hot Standby Router Protocol............................................................823


22.0. Wprowadzenie ............................................................................................................................823
22.1. Konfigurowanie podstawowych funkcji HSRP .....................................................................828
22.2. Korzystanie z wywaszczania HSRP .......................................................................................832

Spis treci

13

22.3. Reagowanie na problemy z innymi interfejsami...................................................................835


22.4. Rwnowaenie obcienia z wykorzystaniem HSRP ..........................................................837
22.5. Przekierowania ICMP w poczeniu z HSRP ........................................................................840
22.6. Modyfikowanie zegarw HSRP ...............................................................................................841
22.7. Uywanie HSRP w sieci Token Ring.......................................................................................843
22.8. Obsuga SNMP w HSRP............................................................................................................846
22.9. Zwikszanie bezpieczestwa HSRP ........................................................................................847
22.10. Wywietlanie informacji o stanie HSRP................................................................................850
22.11. Debugowanie HSRP.................................................................................................................851

Rozdzia 23. Multicast IP ..........................................................................................853


23.0. Wprowadzenie ............................................................................................................................853
23.1. Podstawowe przekazywanie ruchu multicast za pomoc protokou PIM-DM ...............861
23.2. Routing multicast z wykorzystaniem PIM-SM i BSR ...........................................................863
23.3. Routing multicast z wykorzystaniem PIM-SM i Auto-RP...................................................867
23.4. Konfigurowanie routingu na uytek aplikacji multicast
o niskiej czstotliwoci transmisji ............................................................................................870
23.5. Konfigurowanie CGMP .............................................................................................................873
23.6. Statyczne trasy multicast i czonkostwa grupowe ................................................................874
23.7. Routing ruchu multicast z wykorzystaniem protokou MOSPF ........................................875
23.8. Routing ruchu multicast z wykorzystaniem protokou DVMRP .......................................877
23.9. Tunele DVMRP ...........................................................................................................................880
23.10. Ograniczanie zasigu multicast za pomoc TTL.................................................................881
23.11. Adresowanie z zasigiem wyznaczonym administracyjnie ..............................................883
23.12. Wymiana informacji o routingu multicast za pomoc MBGP ..........................................886
23.13. Wykrywanie zewntrznych rde za pomoc MSDP .......................................................888
23.14. Przeksztacanie transmisji broadcast w multicast ...............................................................890
23.15. Wywietlanie informacji o stanie protokow multicast....................................................892
23.16. Debugowanie routingu multicast ..........................................................................................902

Dodatek A Dodatkowe pakiety oprogramowania ................................................905


Dodatek B Klasyfikacje IP Precedence, TOS i DSCP ...........................................909
Skorowidz......................................................................................................................923

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

Rozdzia 2. Zarzdzanie routerem

2.1. Tworzenie aliasw polece


Problem
Chcemy utworzy aliasy dla czsto wykorzystywanych polece lub dla instrukcji, ktrych
skadnia jest szczeglnie skomplikowana.

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

Dziki zastosowaniu dwuliterowego aliasu mona skrci czas wprowadzania polecenia


wywietlajcego tablic routingu:
Router1#rt
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 172.25.1.1 to network 0.0.0.0
S

192.168.10.0/24 [1/0] via 172.22.1.4


172.16.0.0/24 is subnetted, 1 subnets

2.1. Tworzenie aliasw polece

69

172.16.2.0 is directly connected, FastEthernet0/0.2


172.20.0.0/16 is variably subnetted, 3 subnets, 3 masks
O
172.20.10.0/24 [110/74] via 172.20.1.2, 00:52:55, Serial0/0.2
C
172.20.1.0/30 is directly connected, Serial0/0.2
O
172.20.100.1/32 [110/65] via 172.20.1.2, 00:52:55, Serial0/0.2
172.22.0.0/16 is variably subnetted, 2 subnets, 2 masks
D
172.22.0.0/16 is a summary, 20:31:03, Null0
C
172.22.1.0/24 is directly connected, FastEthernet0/1
Router1#

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

Rozdzia 2. Zarzdzanie routerem


Router1#show aliases
Exec mode aliases:
h
lo
p
r
s
u
un
w
rt
on

help
logout
ping
resume
show
undebug
undebug
where
show ip route
show ip ospf neighbor

Router1#

Wywoanie tego polecenia w dowolnym routerze Cisco pozwala zauway, e niektre


z aliasw s tworzone domylnie przez producenta.

2.2. Zarzdzaniem tablic ARP routera


Problem
Chcemy zmieni czas przechowywania danych w tablicy ARP routera.

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#

End with CNTL/Z.

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

2.2. Zarzdzaniem tablic ARP routera

71

pakiet protokou ARP. Pakiet ARP dociera do wszystkich urzdze przyczonych do


danego segmentu sieci LAN. Urzdzenie, ktre posiada znany adres IP, odsya odpowied ARP zawierajc poszukiwany adres MAC.
Dodatkowo, wiele urzdze sieciowych wysya pakiet powiadamiania ARP zaraz po
przyczeniu do sieci. Pakiet tego typu nie jest odpowiedzi na adne zapytanie ARP,
niemniej kada z przyczonych do sieci stacji odbiera go i moe zapisa informacje w nim
przenoszone we wasnej tablicy ARP, z ktrej moe skorzysta w przypadku ewentualnej
pniejszej komunikacji z danym urzdzeniem.
Procedura przesyania zapyta i odpowiedzi ARP wprowadza opnienia w transmisji
danych, gdy zajmuje okrelon ilo czasu. Ponadto, z uwagi na rozgoszeniowy charakter takiej wymiany informacji, przesyane pakiety s analizowane przez wszystkie
stacje dziaajce w segmencie sieci, co z kolei powoduje konieczno przerwania dotychczasowych zada wykonywanych przez poszczeglne urzdzenia. Wysanie zbyt duej
liczby pakietw ARP generuje nadmierny ruch sieciowy oraz powoduje zuywanie znacznej iloci zasobw przyczonych do sieci urzdze.
Aby ograniczy wymian danych ARP, wszystkie stacje posugujce si protokoem IP
musz posiada tablice ARP, w ktrych zapisuj informacje o odwzorowaniu adresw.
Co pewien czas najstarsze wpisy (wpisy dokonane przed okrelonym czasem) s z tablicy
usuwane. W rodowiskach, w ktrych urzdzenia czsto zmieniaj swoje adresy (w sieciach, w ktrych adresy IP s wydzierawiane przez serwery DHCP na krtki okres) routery musz do czsto oczyszcza wasne tablice ARP. Niekiedy zdarza si, e w pamici
ARP routera znajduje si tyle wpisw, e wyszukanie jakiegokolwiek trwa zbyt dugo
i pochania zbyt wiele czasu procesora. Najwaniejsze w takich przypadkach jest zachowanie rwnowagi midzy czstotliwoci usuwania nieaktualnych wpisw, a odpowiednim ograniczeniem ruchu ARP.
Domylnie routery Cisco usuwaj niewykorzystywane dane ARP po czterech godzinach.
Oznacza to, e jeeli router przez cztery godziny nie odebra jakichkolwiek pakietw od
okrelonego urzdzenia ani nie wysa do niego adnych informacji, usuwa dane ARP o tej
stacji ze swojej pamici podrcznej. Fabryczne ustawienie czasu usuwania wpisw ARP
jest waciwe dla wikszoci sieci Ethernet, niemniej w niektrych przypadkach zachodzi
potrzeba zwikszenia wydajnoci sieci przez zmian wartoci tego parametru.
W przykadzie analizowanym w niniejszej recepturze czas usuwania danych ARP zosta
ustawiony na 600 sekund (10 minut):
Router1(config-if)#arp timeout 600

Oczywicie nic nie stoi na przeszkodzie, eby wykorzysta powysze polecenie do


zwikszenia czasu przechowywania danych. Generalnie nie zaleca si zmniejszania wartoci tego parametru poniej 5 minut, gdy zazwyczaj skutkuje to zwikszeniem obcienia
procesora i sieci.

72

Rozdzia 2. Zarzdzanie routerem

Wpisy przechowywane w danym czasie w pamici routera mona wywietli za pomoc


polecenia show ip arp:
Router1#show ip arp
Protocol Address
Internet 172.25.1.5
Internet 172.25.1.7
Internet 172.25.1.1
Internet 172.25.1.3
Router1#

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

Wrd wywietlanych informacji znajduj si dane o adresach IP, czasie przechowywania


wpisw, adresach MAC oraz rodzajach interfejsu. Warto czasu przechowywania jest
zerowana po kadorazowym odnotowaniu przez router faktu wymiany informacji z okrelonym urzdzeniem. Zyskuje si w ten sposb gwarancj, e adresy stacji nie zostan
usunite, niezalenie od tego, jak dugo znajduj si w pamici routera.
Polecenie show ip arp umoliwia rwnie wywietlenie informacji o jednym z wybranych adresw. Opcja ta uatwia pozyskiwanie danych z duej tablicy ARP. Jeeli router
pracuje w sieci rozlegej, moe w swojej pamici przechowywa setki lub tysice wpisw.
To o wiele za duo, eby mona je byo ogarn wzrokiem:
Router1#show ip arp 172.25.1.5
Protocol Address
Age (min)
Internet 172.25.1.5
2
Router1#

Hardware Addr
0001.9670.b780

Type
ARPA

Interface
Ethernet0

To samo polecenie mona wykorzysta do wywietlenia informacji o okrelonym adresie MAC:


Router1#show ip arp 0010.4b09.5715
Protocol Address
Age (min)
Internet 172.25.1.3
3
Router1#

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

W przypadku wystpienia jakichkolwiek problemw z funkcjonowaniem tablicy ARP lub


gdy zachodzi potrzeba natychmiastowego usunicia wpisw mona cakowicie oczyci
pami ARP, posugujc si poleceniem clear arp:
Router1#clear arp
Router1#

2.3. Dostosowywanie parametrw buforw routera

73

Niestety, nie ma sposobu na usuwanie pojedynczych wpisw z listy. Jeeli pojawia si


konieczno rcznego usunicia danej pozycji, jedynym rozwizaniem jest usunicie caej
zawartoci tablicy. Wykonanie takiej operacji skutkuje chwilowym wzrostem natenia
ruchu ARP, gdy router stara si odbudowa pami ARP, pozyskujc informacje o aktywnych w danej chwili urzdzeniach. Naley zatem z umiarem wykorzystywa t opcj.
Informacje o czasie usuwania danych ARP z tablicy dla wybranego interfejsu s prezentowane po wprowadzeniu polecenia show interface:
Router1#show interface Ethernet0
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 0000.0c92.bc6a (bia 0000.0c92.bc6a)
Internet address is 172.25.1.7/24
MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, rely 255/255, load 1/255
Encapsulation ARPA, loopback not set, keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 00:10:00
<dalsza cz zostaa usunita>

2.3. Dostosowywanie parametrw


buforw routera
Problem
Chcemy zmieni domylne ustawienia buforw routera w celu zwikszenia wydajnoci
urzdzenia.

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#

End with CNTL/Z.

Zmiana parametrw buforw interfejsu wymaga zastosowania podobnych polece:


Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#buffers Ethernet0 initial 200
Router1(config)#buffers Ethernet0 max-free 300

74

Rozdzia 2. Zarzdzanie routerem


Router1(config)#buffers Ethernet0 min-free 50
Router1(config)#buffers Ethernet0 permanent 50
Router1(config)#end
Router1#

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

Nazwa puli bufora

104 bajty

Small

600 bajtw

Middle

1536 bajtw

Big

4520 bajtw

VeryBig

5024 bajty

Large

18 024 bajty (domylny)

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

Dopuszczalnymi wartociami rozmiaru bufora Huge s wartoci z przedziau od 18 024


do 100 000 bajtw. Z uwagi na fakt, e router moe korzysta z pamici, operujc obszarami o rozmiarze bufora, ustawienie bardzo duych rozmiarw bufora umoliwia operowanie bardzo duymi pakietami. Niemniej domylna warto 18 024 jest zazwyczaj
wystarczajca do przetwarzania pakietw o najwikszej wartoci parametru MTU, jaki
jest wykorzystywany w standardowych typach interfejsw. Zmiana wartoci omawianego
ustawienia jest bardzo rzadko spotykana. Rozmiary pozostaych buforw s stae i nie
mog by zmieniane.

2.3. Dostosowywanie parametrw buforw routera

75

W przypadku buforw publicznych moliwe jest modyfikowanie czterech innych parametrw:


Router1(config)#buffers
Router1(config)#buffers
Router1(config)#buffers
Router1(config)#buffers

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

Rozdzia 2. Zarzdzanie routerem

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#

Znaczenie poszczeglnych pl zostanie wyjanione na przykadzie jednej z pul publicznych buforw:


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)

2.3. Dostosowywanie parametrw buforw routera

77

Przytoczony fragment listingu dotyczy buforw Small, ktre s 104-bajtowymi obszarami


pamici. W danej chwili router dysponowa pidziesicioma takimi buforami. Wszystkie
one s buforami typu permanent, co oznacza, e pami przez nie zajmowana nie jest
zwracana do puli oglnej pamici urzdzenia.
Dane zawarte w drugiej linii informuj, e wszystkie z pidziesiciu wspomnianych buforw znajduj si na licie wolnych (ang. free), tzn. niezajtych w danej chwili. Wartoci
20 i 150 odpowiadaj parametrom min-free i max-free, ktrych znaczenie zostao
omwione wczeniej.
Warto pola hits umieszczonego w trzeciej linii informuje o tym, ile razy router z powodzeniem zaalokowa bufory z danej puli. Warto pola misses okrela liczb zakoczonych sukcesem prb alokacji buforw z puli, podczas ktrych router musia alokowa
take bufory dodatkowe. Warto trims informuje o liczbie dynamicznie alokowanych
buforw, ktre zostay natychmiast zwrcone. Warto created zawiera informacje o liczbie
buforw, ktre zostay utworzone jako bufory dodatkowe w wyniku niedopasowania
uwzgldnionego w polu misses.
Informacje o powanych problemach w funkcjonowaniu buforw s zamieszczane w ostatniej linii bloku. Ewentualne zmiany parametrw buforw powinny by wykonywane jedynie na podstawie danych zamieszczonych w teje linii. Pole failures informuje o liczbie
przypadkw, w ktrych prba alokowania bufora zakoczya si niepowodzeniem, co
z kolei spowodowao odrzucenie pakietu. Ostatnie z pl oznaczone jest jako no memory
(brak pamici). Warto liczbowa w nim zawarta odpowiada liczbie przypadkw wystpienia bdu, ktry wynika z braku pamici niezbdnej do zaalokowania bufora. Problem
ten zwykle ma bardzo powane konsekwencje i moe zosta usunity przez zwikszenie
pamici routera.
Naley pamita, e w przypadku gdy prba zaalokowania bufora z jednej puli zakoczy si niepowodzeniem, router zada utworzenia bufora z pamici nastpnej wikszej
puli. Zatem w sytuacji, kiedy nie bdzie moliwe utworzenie bufora Big do obsugi
1500-bajtowego pakietu, zostanie wykorzystany bufor z puli VeryBig. Z tego wzgldu
mona niekiedy zauway, e warto hits puli VeryBig jest wiksza ni zero, mimo i
kady interfejs routera ma ustawiony parametr MTU na poziomie 1500 bajtw. Dlatego
te zaleca si tworzenie kilku staych (permanent) buforw z puli wikszej ni najwiksza warto MTU.
Przyjrzyjmy si take statusowi buforw interfejsw:
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

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

Rozdzia 2. Zarzdzanie routerem

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.

2.4. Protok wyszukiwania


Cisco Discovery Protocol
Problem
Chcemy pozyska informacje o tym, jakie urzdzenia s przyczone do poszczeglnych
interfejsw routera.

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

End with CNTL/Z.

2.4. Protok wyszukiwania Cisco Discovery Protocol

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

CDP jest protokoem wewntrznym firmy Cisco i umoliwia identyfikowanie urzdze


Cisco w sieci oraz wymienianie danych identyfikacyjnych midzy poszczeglnymi stacjami.
Aby uzyska informacje o najbliszych urzdzeniach, ktre obsuguj protok CDP, wystarczy wprowadzi polecenie show cdp neighbours:
Router1#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater
Device ID
Router2
Switch1
Router1#

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

Rozdzia 2. Zarzdzanie routerem


Router1#show cdp neighbors detail
------------------------Device ID: Router2
Entry address(es):
IP address: 10.1.1.2
Platform: cisco 2621, Capabilities: Router
Interface: Serial0/0, Port ID (outgoing port): Serial0/1
Holdtime : 136 sec
Version :
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-IK9O3S-M), Version 12.2(13), RELEASE SOFTWARE
(fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Tue 19-Nov-02 22:27 by pwade
advertisement version: 2
Device ID: Switch1
Entry address(es):
IP address: 172.25.1.4
Platform: WS-C2924, Capabilities: Trans-Bridge Switch
Interface: FastEthernet1/0, Port ID (outgoing port): FastEthernet0/12
Holdtime : 116 sec
Version :
Cisco Internetwork Operating System Software
IOS (tm) C2900XL Software (C2900XL-C3H2S-M), Version 12.0(5)WC3b,
RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Fri 15-Feb-02 10:14 by antonino
advertisement version: 2
Duplex: full
Router1#

Na podstawie powyszego zestawienia mona okreli adresy IP urzdze ssiednich


oraz ustali wersje systemw Cisco IOS lub CatOS.
Obydwie jednostki obsuguj protok CDP w wersji drugiej, ktry zosta wprowadzony
przez firm Cisco w systemie IOS 12.0(3)T. Zawarto w nim trzy nowe pola, ktre okazay
si bardzo uyteczne w zastosowaniach w sieciach LAN. S nimi: nazwa domenowa VTP
(ang. VTP Domain Name), podstawowa sie VLAN 802.1Q (802.1Q native VLAN) oraz
konfiguracja pracy dupleksowej. Jak nietrudno zauway, analizujc przedstawiony
wydruk, router i przecznik uzgodniy, e dane bd wymieniane w trybie penego dupleksu. Konfiguracja pracy dupleksowej oraz standard 802.1Q zostay szczegowo omwione w rozdziale 16.
Nowo wprowadzona opcja informacji o pracy dupleksowej okazaa si niezwykle uyteczna, gdy na jej podstawie router i przecznik mog automatycznie rozpozna moliwe
tryby komunikowania si. W kolejnym przykadzie zaprezentowano sposb postpowania
routera w przypadku, gdy wystpi rnica midzy jego trybem pracy, a trybem pracy
przecznika. W przeczniku ustawiono komunikacj pdupleksow. Dziki zastosowaniu
protokou CDP router wykry rnic i umieci w dzienniku pracy nastpujcy komunikat:

2.4. Protok wyszukiwania Cisco Discovery Protocol

81

Feb 6 11:36:11: %CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on


FastEthernet1/0 (not half duplex), with 003541987 (switch) FastEthernet0/12
(half duplex).

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

Trudno powiedzie, dlaczego producent uwzgldni moliwo zmiany wersji protokou,


poniewa nie odnotowano adnych problemw we wspdziaaniu urzdze obsugujcych
protok CDP w wersji pierwszej i drugiej. Istniej co prawda pewne problemy zwizane
z zabezpieczeniami (ktre zostan omwione w recepturze 2.5), ale najlepszym sposobem
ich rozwizania jest cakowite wycznie obsugi CDP.
Oglne ustawienia protokou CDP w routerze mona przeanalizowa po wydaniu polecenia show cdp:
Router1#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
Router1#

Na podstawie przedstawionego wydruku mona powiedzie, e router wysya pakiety


informujce o jego obecnoci w sieci co 60 sekund, co jest wartoci domyln. Parametr
holdtime definiuje czas, przez jaki router bdzie oczekiwa na kolejne ogoszenie CDP od
jednego z ssiednich urzdze. Jeeli w okrelonym czasie ogoszenie nie zostanie odebrane, router usuwa informacj o danym urzdzeniu ze swojej tablicy jednostek ssiednich.
Aby nada nowe wartoci tym ustawieniom (zmiana ma charakter globalny i odnosi si
do caego routera), naley zastosowa ponisze polecenia:
Router(config)#cdp timer 30
Router(config)#cdp holdtime 240

Przy definiowaniu wartoci obydwu parametrw wykorzystywan jednostk jest sekunda.


Ustawienie czasu rozsyania ogosze (timer) moe przyjmowa wartoci z przedziau
od 5 do 254 sekund. Warto parametru holdtimer musi zawiera si w przedziale od
10 do 255 sekund.

Zobacz rwnie
Receptura 2.5, rozdzia 16.

82

Rozdzia 2. Zarzdzanie routerem

2.5. Wyczanie obsugi protokou CDP


Problem
Nie chcemy pozwoli na to, eby ssiednie urzdzenia pozyskiway informacje o routerze.
Powodem takich dziaa s wzgldy bezpieczestwa.

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#

End with CNTL/Z.

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#

End with CNTL/Z.

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

2.6. Wykorzystanie maych serwerw

83

jedynie przed podsuchem informacji rozgaszanych za pomoc protokou CDP. Jednak


nadal moliwy jest dostp do tablicy CDP przy wykorzystaniu usug takich jak Telnet
i SNMP. Informacje o sieci s wic nadal zagroone.
Trzeba wyjani, e zagroenie bezpieczestwa systemu wynika z moliwoci przeprowadzenia celowego i dokadnie zaplanowanego ataku na dan sie zarwno z jej wntrza,
jak i z sieci zewntrznej przyczonej do sieci atakowanej. Z tego wzgldu stanowczo
zaleca si wyczanie obsugi protokou CDP we wszystkich routerach, ktre maj poczenia z sieciami zewntrznymi, a szczeglnie z internetem. Z kolei wyczanie omawianej opcji w sieciach wewntrznych zabezpiecza system przed dziaaniami osb bezporednio przyczonych do sieci. Naley wic rozway korzyci wynikajce z zastosowania
protokou CDP i ryzyko ewentualnego ataku ze strony osb, ktre maj uprawnienia do
korzystania z sieci. To, czy opcja CDP zostanie wyczona czy nie, zaley jedynie od zaufania do uytkownikw sieci.

Zobacz rwnie
Receptura 2.4.

2.6. Wykorzystanie maych serwerw


Problem
Chcemy wcza i wycza takie usugi routera jak finger, echo i chargen.

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#

End with CNTL/Z.

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#

End with CNTL/Z.

84

Rozdzia 2. Zarzdzanie routerem

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

[Connection to 10.1.1.2 closed by foreign host]


Router2#

Warto zauway, e w obydwu przypadkach na licie znajduj si nie tylko uytkownicy


routera, ale rwnie sam proces programu finger, ktry oznaczono symbolem gwiazdki.
Protok finger zosta zdefiniowany w standardzie RFC 1288. Domylnie jego obsuga jest
w routerach wyczana. Mimo i omawiane rozwizanie jest bardzo wygodnym w uyciu
sposobem sprawdzenia, kto korzysta ze zdalnego routera (bez potrzeby osobistego logowania si w routerze), stanowi znaczne zagroenie dla systemu zabezpiecze urzdzenia. Nie do, e udostpnia informacje o identyfikatorach uytkownikw, zajmuje
jedn z linii VTY, ktra przy staym wykorzystaniu uniemoliwia korzystanie z urzdzenia osobom, ktre maj do tego prawo. Protok finger ma te swoj niechlubn przeszo, gdy jeden z pierwszych atakw z zastosowaniem wirusw (synnego Morris
Worm), ktry spowodowa wyczenie znacznej czci urzdze w internecie by atak
wykorzystujcy bd w pierwotnej implementacji usugi finger.
Biorc ten fakt pod uwag, zaleca si wyczenie protokou finger we wszystkich konfigurowanych routerach. Jeeli z jakichkolwiek przyczyn jest on w danej chwili wczony,
mona go w nastpujcy sposb wyczy:
Router1(config)#no ip finger

2.6. Wykorzystanie maych serwerw

85

Polecenie ip finger zastpuje polecenie service finger, ktre mona jeszcze znale w wielu materiaach rdowych:
Router1(config)#service finger

Jeeli korzysta si ze starszej wersji polecenia, router automatycznie zastpi j nowsz


wersj instrukcji.
Routery Cisco zawieraj rwnie pewien zbir aplikacji TCP i UDP, ktre s czsto spotykane w urzdzeniach wykorzystujcych protok IP. W systemach IOS 12.0 i wersjach
pniejszych mae serwery TCP i UDP s domylnie wyczone. We wczeniejszych
wersjach IOS s one wczone.
Zastosowanie wspomnianych serwerw jest marginalne i zaleca si ich wyczanie, o ile
nie s one wykorzystywane w procedurach testowych. Ich zadanie polega na nasuchiwaniu pakietw przychodzcych z dowolnych rde, co czyni te rozwizania podatnymi na ataki typu DoS. W atakach DoS zakada si zazwyczaj, e serwer TCP zaakceptuje poczenie z dowolnej stacji, ktra takiego poczenia zada. Wysanie przez
ktregokolwiek z uytkownikw strumienia pakietw TCP SYN na jeden z portw
sprawia, e router musi na nie odpowiedzie, przeznaczajc na ten cel wewntrzne zasoby systemowe. Taka sytuacja moe doprowadzi do wyczerpania zasobw systemowych routera.
Serwery UDP stanowi potencjalne zagroenie z tego wzgldu, e uytkownicy sieci mog
podmienia wasne adresy (ang. spooffing), zmuszajc router do odsyania pakietw do
komputerw osb trzecich. Podobny atak mona przeprowadzi z wykorzystaniem serwerw TCP. Router odpowiada na kady pakiet TCP SYN pakietem SYN ACK. Inne urzdzenie sieciowe moe nie poradzi sobie z obsug niespodziewanych pakietw SYN ACK.
Z tego wzgldu zaleca si wyczanie wspomnianych usug, chyba e ich dziaanie jest
konieczne.
Router1(config)#no service tcp-small-servers
Router1(config)#no service udp-small-servers

Jednak w takim przypadku serwery powinny uwierzytelnia uytkownikw.


W tabeli 2.2 zestawiono dostpne serwery TCP i UDP. Kady z serwerw zosta zaimplementowany w routerze na tych samych portach zarwno w wersji TCP, jak i UDP.
Numery portw s powszechnie znane i implementowane w wielu aplikacjach sieciowych.
Zastosowanie wymienionych serwerw ogranicza si gwnie do procedur testowych.
Najatwiejszym sposobem sprawdzenia, do czego su poszczeglne usugi, jest ich
przetestowanie. Dziaanie serwerw atwiej jest zademonstrowa przy wykorzystaniu
protokou TCP, gdy mona do tego celu wykorzysta standardow aplikacj Telnet.
Caa procedura sprowadza si wwczas do poprawnego okrelenia portu TCP.

86

Rozdzia 2. Zarzdzanie routerem

Tabela 2.2. Mae serwery TCP i UDP


Numer portu

Nazwa

Dokument RFC

Opis

echo

RFC 862

Serwer odsya do klienta pakiet,


ktry od niego otrzyma.

discard

RFC 863

Serwer odrzuca wszystkie dane pochodzce


do danego klienta.

13

daytime

RFC 867

Serwer odsya wartoci aktualnej daty i czasu,


po czym koczy sesj.

19

chargen

RFC 864

Serwer przesya do klienta stay strumie


znakw ASCII.

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%

2.7. Dostp do routera z wykorzystaniem protokou HTTP

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.

2.7. Dostp do routera


z wykorzystaniem protokou HTTP
Problem
Chcemy konfigurowa router oraz monitorowa jego prac za pomoc przegldarki internetowej.

88

Rozdzia 2. Zarzdzanie routerem

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.

2.7. Dostp do routera z wykorzystaniem protokou HTTP

89

Moliwe jest rwnie konfigurowanie routera za pomoc przegldarki. Po wybraniu


jednej z opcji okrelajcej poziom dostpu, uytkownik otrzymuje moliwo korzystania
z polece EXEC waciwych dla danego poziomu autoryzacji. Wicej informacji o poziomach uwierzytelniania znajduje si w rozdziale 3.
Dostp do routera za pomoc protokou HTTP zosta wprowadzony w IOS w wersji
11.2. Trzeba jednak zaznaczy, e w pierwszych wersjach rozwizania wystpowa powany bd, ktry zosta usunity dopiero w IOS 12.1(5). Bd ten powodowa zatrzymywanie pracy routera w przypadku, gdy uytkownik popeni relatywnie niewielki
bd literowy. Wprowadzenia znaku zapytania jako czci polecenia wykonywanego za
pomoc usugi Telnet powoduje, e router udostpnia informacje na temat wszystkich
opcji danego polecenia. Jednak umieszczenie znaku zapytania w adresie URL skutkowao zatrzymaniem pracy routera. W ten sposb nawet osoby, ktre miay prawo korzystania z usugi, mogy popeni bd, ktry skutkowa powanymi konsekwencjami.
Dlatego nie zaleca si korzystania z omawianego rozwizania w systemach IOS wczeniejszych ni 12.1(5).
W najnowszych wersjach systemu IOS interfejs WWW nie jest ani bardziej, ani mniej
bezpieczny ni dostp do polece EXEC z wiersza polece aplikacji Telnet. W obydwu
przypadkach trzeba podawa odpowiednie informacje uwierzytelniajce. Poszczeglne
sposoby uwierzytelniania, takie jak wykorzystywana w usugach Telnet metoda AAA,
omwiono w rozdziaach 3. i 4. Wszystkie wymieniane tam sposoby obowizuj rwnie w rozwizaniach bazujcych na protokole HTTP, a do ich konfiguracji suy sowo
kluczowe authentication. Aby skonfigurowa serwer HTTP tak, eby korzysta z uwierzytelniania typu AAA, naley wprowadzi nastpujce polecenie:
Router1(config)#ip http authentication aaa

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

Rozdzia 2. Zarzdzanie routerem

2.8. Korzystanie ze statycznych tablic nazw stacji


Problem
Chcemy utworzy w routerze statyczn tablic nazw stacji.

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.

2.8. Korzystanie ze statycznych tablic nazw stacji

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#

End with CNTL/Z.

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

Rozdzia 2. Zarzdzanie routerem

Zobacz rwnie
Receptura 2.9.

2.9. Korzystanie z systemu nazw domenowych


Problem
Chcemy tak skonfigurowa router, eby do odwzorowywania nazw stacji wykorzystywa
system DNS.

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#

End with CNTL/Z.

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#

2.9. Korzystanie z systemu nazw domenowych

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#

Z analizy odpowiedzi wynika, e w pierwszej kolejnoci router przesa zapytanie do


serwera nazw o adresie 172.25.1.1. Gdy serwer ten uzna, e nie moe dokona odwzorowania nazwy na adres IP, router skierowa zapytanie do drugiego serwera nazw
(o adresie 10.1.20.5). W rezultacie procedura zakoczya si niepowodzeniem, gdy
stacja o podanej nazwie nie istnieje.
Chcc si zapozna z ustawieniami systemu DNS, naley wyda polecenie show hosts:
Router1#show hosts
Default domain is helion.pl
Name/address lookup uses domain service
Name servers are 172.25.1.1, 10.1.20.5
Host
www.cisco.com
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

Rozdzia 2. Zarzdzanie routerem

Dziki zdefiniowaniu nazwy domeny, zamiast wprowadzania penej nazwy domenowej


stacji (FQDN ang. Fully Qualified Domain Name), mona si posugiwa samymi nazwami
waciwymi stacji. Mona zatem uy nazwy poczta zamiast poczta.helion.pl, a mimo to
odwzorowanie zostanie wykonane poprawnie.
W niektrych organizacjach wykorzystuje si wicej ni jedn domen. W takim przypadku
podczas konfigurowania routera naley uy kilku polece ip domain-list, ktre
pozwol na zdefiniowanie kilku nazw domen. Dziki poniszym poleceniom mona
umieci w routerze informacj o przynalenoci do dwch domen:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#ip domain-list helion.pl
Router1(config)#ip domain-list helion2.pl
Router1(config)#end
Router1#

End with CNTL/Z.

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

2.10. Wyczanie odwzorowania nazw domenowych

95

2.10. Wyczanie odwzorowania


nazw domenowych
Problem
Chcemy nie dopuci do tego, eby router prbowa utworzy poczenie ze stacj o nazwie, ktra w rzeczywistoci nie jest adresem, ale bdem literowym powstaym podczas
wpisywania polecenia.

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#

End with CNTL/Z.

Moliwe jest rwnie uniemoliwienie odwzorowywania bdnych wartoci w routerach,


ktre korzystaj z systemu DNS. Trzeba w tym celu zmieni domylny sposb dziaania
polecenia EXEC, wykorzystywanego w odniesieniu do nieznanych polece:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#line vty 0 4
Router1(config-line)#transport preferred none
Router1(config-line)#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

Rozdzia 2. Zarzdzanie routerem


Router1#pnig
Translating "pnig"...domain server (255.255.255.255)
Translating "pnig"...domain server (255.255.255.255)
(255.255.255.255)
Translating "pnig"...domain server (255.255.255.255)
% Unknown command or computer name, or unable to find computer address
Router1#

W prezentowanym przykadzie bdnie wpisano polecenie ping. Router oczywicie nie


zna takiego polecenia, zakada wic, e podano nazw stacji i stara si j odwzorowa na
adres IP. Kady, kto pracowa z routerami Cisco duej ni kilka minut, doskonale zna
ten problem irytacja powodowana bdnym wpisaniem polecenia jest potgowana
przez konieczno czekania kilku sekund na upynicie dopuszczalnego czasu realizacji
dania.
Jednym z atwiejszych sposb wyeliminowania omawianego problemu jest wyczenie
korzystania z systemu DNS, co zostao uczynione w pierwszym z przykadw:
Router1(config)#no ip domain-lookup

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#

Routery, ktre zostay poprawnie skonfigurowane do pracy w wykorzystaniem serwerw


DNS (co opisano w recepturze 2.9), domylnie bd prboway odwzorowa bdnie
wprowadzone polecenia na adresy IP. Jednak ze wzgldu na fakt, e na zapytania bdzie
odpowiada serwer nazw, czas oczekiwania nieco si skrci. Router przesya wwczas
zapytania do wszystkich serwerw nazw w okrelonej kolejnoci, a do uzyskania odpowiedzi lub wyczerpania liczby serwerw:
Router1#pnig
Translating "pnig"...domain server (172.25.1.1) (10.1.20.5)
% Unrecognized host or address, or protocol not running.
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

2.11. Okrelanie czasu ponownego uruchomienia routera

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#

Po wprowadzeniu omwionych zmian urzdzenie uznaje nieznane cigi tekstowe za


bdne polecenia, a nie za nazwy stacji. W praktyce metoda ta wydaje si najbardziej
uyteczna, gdy pozwala na korzystanie z systemu DNS.

Zobacz rwnie
Receptura 2.8, receptura 2.9.

2.11. Okrelanie czasu


ponownego uruchomienia routera
Problem
Chcemy, eby o okrelonej godzinie router automatycznie przeadowa wasny system.

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

Rozdzia 2. Zarzdzanie routerem

Wyznaczajc dat i czas ponownego uruchomienia, zaleca si wykorzystanie dokadnego


rda czasu, ktre zagwarantuje, e restart nastpi w odpowiednim momencie. Wicej
informacji na temat czasu i jego rde zamieszczono w rozdziale 14.

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.

2.11. Okrelanie czasu ponownego uruchomienia routera

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#

Polecenie show reload wywietla informacje o wszystkich oczekujcych procedurach


ponownego uruchomienia:
Router1#show reload
Reload scheduled for 12:37:45 EST Sat Feb 1 2003 (in 1 hour and 19 minutes) by
marek on vty0 (172.25.1.1)
Reload reason: Uaktualnienie IOS
Router1#

Aby anulowa zaprogramowany restart, naley zastosowa polecenie reload cancel:


Router1#reload cancel
Router1#
***
*** --- SHUTDOWN ABORTED --***

Po anulowaniu procedury router rozsya komunikat systemowy, ktry informuje


wszystkich uytkownikw, e restart zosta anulowany. W systemach IOS od wersji 12.2
odwoanie zaplanowanego przeadowania systemu jest rwnie zapisywane w dzienniku
zdarze:
Feb 1 11:19:10: %SYS-5-SCHEDULED_RELOAD_CANCELLED:
cancelled at 11:19:10 EST Sat Feb 1 2003

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

Rozdzia 2. Zarzdzanie routerem

Zobacz rwnie
Rozdzia 14.

2.12. Awaryjne zrzuty pamici do pliku


Problem
W pracy routera wystpiy powane bdy i trzeba wykona zrzut pamici, by mg on by
przesany do centrum pomocy technicznej Cisco (TAC ang. Technical Assistance Center).

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.

2.12. Awaryjne zrzuty pamici do pliku

101

Domylnie transfer danych zrzutu odbywa si za porednictwem protokou TFTP. Jednak


stanowczo zaleca si zastpienia go protokoem FTP. Wikszo aplikacji TFTP odmawia
posuszestwa, gdy ilo przesyanych informacji przekracza 16 MB. Wwczas jedynym
skutecznym sposobem dostarczenia danych jest wykorzystanie protokou FTP. Ponadto
protok FTP gwarantuje wiksz skuteczno transferu plikw ni protok TFTP. W prezentowanym przykadzie zademonstrowano sposb zastosowania do przesyania plikw
zrzutw protokou FTP. Wicej informacji na temat konfigurowania routera do pracy z protokoem FTP znajduje si w recepturze 1.14.
Zrzuty pamici s potencjalnie zagroone wystpowaniem bdw, gdy router nie wykonuje ich, a do chwili zaistnienia powaniejszego problemu programowego. Bd oprogramowania moe naruszy zawarto pamici routera i uczyni dalsze przetwarzanie
danych niemoliwym (wcznie ze sporzdzeniem zrzutu pamici). Prawdopodobiestwo
poprawnego wykonania operacji mona znacznie zwikszy, przeznaczajc may obszar
pamici na kopi zapasow wykorzystywan w chwili naruszenia pamici podstawowej:
Router1#configure terminal
Enter configuration commands, one per line.
Router1(config)#exception region-size 65536
Router1(config)#end
Router1#

End with CNTL/Z.

Obszar pamici przeznaczony na tworzenie zrzutu mona definiowa. Warto domylna


wynosi 16 384 bajty, zaleca si jednak zwikszenie jej do 65 536 bajtw. Dziki temu
szansa na wykonanie prawidowego zrzutu pamici znacznie ronie.
Zgodnie z ustawieniem domylnym router tworzy dwa pliki zrzutw o nazwach nazwaStacji-core i nazwaStacji-coreiomem. W analizowanym przykadzie nazw routera jest Router1, zatem pliki miayby nazwy Router1-core i Router1-coreiomem. Aby zmieni konwencj
nazewnicz, naley zastosowa polecenie exception core-file:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#exception core-file router5 compress
Router1(config)#end
Router1#

Warto zwrci uwag na fakt, e polecenie zostao uzupenione o dodatkow opcj


compress. Dziki niej router kompresuje plik zrzutu przed przesaniem go do serwera.
Przywrcenie pliku do pierwotnej postaci sprowadza si do wykonania na serwerze uniksowego polecenia uncompress. Nie zaleca si jednak korzystania z opcji kompresji,
gdy wie si ona z dodatkowym obcieniem procesora i pamici, ktre i tak s w przypadku awarii przecione. Ponadto wykorzystanie wspomnianej opcji wcale nie zmniejsza
w istotny sposb rozmiaru pliku. W niektrych przypadkach powoduje wrcz zwikszenie jego objtoci.
Przygotowujc serwer, naley si upewni, e jest na nim zarezerwowany odpowiedni
obszar dysku, ktry pozwoli na zapisanie dwch plikw zrzutw. Rozmiary plikw
rni si w zalenoci od rodzaju routera, a dokadniej w zalenoci od iloci pamici
w nim zainstalowanej. Naley wic przyj, e pliki zrzutu maj taki sam rozmiar jak
caa zainstalowana w routerze pami.

102

Rozdzia 2. Zarzdzanie routerem

Aby wymusi na urzdzeniu dokonanie zrzutu pamici w trakcie normalnej pracy,


mona wykorzysta polecenie core. Zastosowanie instrukcji write core pozwala na
sprawdzenie, czy wszystko jest przygotowane na ewentualn awari systemu:
Router1#write core
Remote host [172.25.1.3]? <enter>
Base name of core files to write [Router1-core]? <enter>
Writing Router1-coreiomem
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Writing Router1-core
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Router1#

Wywietlenie zawartoci katalogu serwera pozwala zauway, e czny rozmiar plikw


wynosi 48 MB:
Freebsd% ls
drwxr-xr-x
drwxr-xr-x
-rw-r--r--rw-r--r-Freebsd%

-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

Aby zwikszy prawdopodobiestwo powodzenia operacji, naley wykorzysta serwer,


ktry znajduje si najbliej routera. Podczas przesyania plikw bardzo istotny jest czas
transferu, zatem zapisywanie ich na serwerze przyczonym za pomoc wolnego cza
sieci WAN zmniejsza szans poprawnego wykonania zadania.

Zobacz rwnie
Receptura 1.14.

2.13. Generowanie raportw zawierajcych


dane o interfejsach
Problem
Chcemy sporzdzi zestawienie aktywnych podsieci danej sieci.

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-

2.13. Generowanie raportw zawierajcych dane o interfejsach

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

Rozdzia 2. Zarzdzanie routerem

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.

2.14. Generowanie raportu zawierajcego informacje o tablicy routingu

105

Tabela 2.3. Przykadowy efekt wykonania skryptu netstat.pl


Detroit
Interfejs

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

2.14. Generowanie raportu zawierajcego


informacje o tablicy routingu
Problem
Chcemy pobra z jednego z routerw przechowywan przez niego tablic routingu.

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

Rozdzia 2. Zarzdzanie routerem


#
tablic routingu.
#
# Ustawienie parametrw rodowiska
$snmpro="ORARO";
#
$x=0;
$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"};
print "Adres docelowy\tMaska\t\tNastpny router";
print "\t\t Protok\tInterfejs\n";
@iftable=`$snmpwalk $rtr ifDescr`;
for $ifnum (@iftable) {
chomp (($intno, $intname) = split (/ = /, $ifnum));
$intno=~s/.*ifDescr\.//;
$intname=~s/"//gi;
$int{$intno}=$intname;
}
@ipRouteDest=`$snmpwalk $rtr ipRouteDest`;
@ipRouteMask=`$snmpwalk $rtr ipRouteMask`;
@ipRouteNextHop=`$snmpwalk $rtr ipRouteNextHop`;
@ipRouteProto=`$snmpwalk $rtr ipRouteProto`;
@ipRouteIfIndex=`$snmpwalk $rtr ipRouteIfIndex`;
#@ipRouteMetric1=`$snmpwalk $rtr ipRouteMetric1`;
for $intnum (@ipRouteIfIndex) {
chomp (($foo, $int) = split (/= /, $intnum));
chomp (($foo, $dest) = split (/: /, @ipRouteDest[$x]));
chomp (($foo, $mask) = split (/: /, @ipRouteMask[$x]));
chomp (($foo, $nhop) = split (/: /, @ipRouteNextHop[$x]));
chomp (($foo, $prot) = split (/= /, @ipRouteProto[$x]));
#chomp (($foo, $metr) = split (/= /, @ipRouteMetric1[$x]));
$int1 = $int{$int};
if ($int1 eq '') {$int1="Local"};
$prot=~s/\(.*//; $prot=~s/ciscoIgrp/\(e\)igrp/;
printf ("%-15s %-15s %-15s %7s %-25s\n",$dest, $mask, $nhop, $prot,
$int1);
$x++;
}

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

2.15. Generowanie raportu zawierajcego informacje z tablicy ARP


172.20.0.0
172.20.1.0
172.20.10.0
172.20.100.1
172.22.0.0
172.22.1.0
172.25.1.0
172.25.2.0
172.25.25.1
172.25.25.6
172.25.26.4
172.25.26.5
Freebsd%

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

podczas gdy wiersz 172.25.1.0 255.255.255.0 odpowiada poczeniu bezporedniemu:


172.25.1.0

255.255.255.0

172.25.1.7

local

Ethernet0

Ze wzgldu na fakt, e skrypt wykorzystuje jedynie powszechnie znane wartoci MIB


SNMP, mona go uy do pobierania informacji o routingu IP rwnie z innych urzdze obsugujcych protok SNMP, w tym take z urzdze pochodzcych od innych
dostawcw ni Cisco.

Zobacz rwnie
Dodatek A.

2.15. Generowanie raportu zawierajcego


informacje z tablicy ARP
Problem
Chcemy pobra z jednego z routerw tablic ARP, ktra zawiera dane o adresie MAC
skojarzonym z okrelonym adresem IP lub o adresie IP odpowiadajcym danemu adresowi MAC.

108

Rozdzia 2. Zarzdzanie routerem

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

2.16. Generowanie pliku nazw stacji


172.22.1.2
172.22.1.3
172.25.1.1
172.25.1.5
172.25.1.7
172.25.1.254
172.16.2.1
172.16.2.22
Freebsd%

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%

Proponowane rozwizanie wykorzystuje jedynie wartoci MIB otwartego standardu


SNMP. Nic wic nie stoi na przeszkodzie, eby zastosowa je rwnie w odniesieniu do
innego urzdzenia obsugujcego protok SNMP, w tym rwnie we wsppracy z jednostkami dostarczanymi przez firmy inne ni Cisco.

Zobacz rwnie
Dodatek A.

2.16. Generowanie pliku nazw stacji


Problem
Chcemy utworzy plik skadajcy si z informacji o adresach IP i nazwach interfejsw
wszystkich routerw dziaajcych w danej sieci.

110

Rozdzia 2. Zarzdzanie routerem

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.

2.16. Generowanie pliku nazw stacji

111

Poniej zamieszczono przykad wynikowej listy generowanej przez skrypt host.pl:


10.1.1.1
10.2.2.2
172.20.6.8
172.22.1.4
172.25.1.8
10.1.1.2
172.20.1.1
172.22.1.1
172.25.1.5
172.25.2.1
172.25.25.1
172.25.26.5
10.1.99.55
172.25.3.7
172.25.25.6
172.20.1.2
172.20.10.1
172.20.100.1

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

Formatowanie danych wynikowych odpowiada standardowi stosowanemu w systemach


Unix do tworzenia plikw /etc/hosts. Pobieranie adresw odbywa si przy wykorzystaniu
protokou SNMP. Do pobranych danych dopisywane s wartoci nazw routerw oraz
dane interfejsw. Dla kadego routera tworzony jest rwnie wpis zawierajcy adres
interfejsu loopback0, ale bez uwzgldnienia nazwy interfejsu w nazwie stacji. W analizowanym przypadku jest to widoczne na przykadzie pozycji boston, gdzie nie zosta zastosowany mniej czytelny zapis boston-Lo0.
Tworzenie pliku nazw stacji jest wskazane z wielu powodw. Niekiedy routery przesyaj
do serwera komunikaty (za pomoc protokou SMTP lub narzdzia syslog), korzystajc
z adresw IP interfejsw zamiast z interfejsu ptli zwrotnej. Ponadto udostpnienie pliku
nazw stacji sprawia, e wynik dziaania polecenia traceroute staje si atwiejszy w analizowaniu:
Freebsd% traceroute miami
traceroute to miami (10.2.2.2), 64
1 detroit-Et0
(172.25.3.7)
2 toronto-Fa0/0.1 (172.25.1.5)
3 boston-Se0.1
(172.20.1.2)
4 miami-Se0/2
(172.20.6.8)
Freebsd%

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

Zastosowanie omawianego mechanizmu pozwala na rozszyfrowanie informacji o kolejnych


urzdzeniach, przez ktre przechodzi pakiet na drodze z zarzdzanej stacji do routera
w Miami. Zgromadzone dane umoliwiaj nie tylko wskazanie routerw, przez ktre
pakiety s przesyane, ale take okrelenie interfejsw, za pomoc ktrych informacje s
przekazywane.
Skrypt nie uaktualnia bezporednio pliku /etc/hosts. Dlatego prawdopodobnie konieczne
bdzie osobiste przeniesienie danych wynikowych do pliku /etc/hosts okrelonego systemu.
Pewnym uatwieniem moe by utworzenie nadrzdnego pliku z informacjami o stacjach,
do ktrego doczane bd dane pozyskane przez skrypt. Takie rozwizanie umoliwia
zastosowanie narzdzia cron do conocnego tworzenia aktualnej wersji tablicy adresw.

112

Rozdzia 2. Zarzdzanie routerem

Przed uruchomieniem skryptu naley zmodyfikowa wartoci dwch zmiennych. Pierwsz


z nich jest $workingdir, ktra przechowuje nazw katalogu roboczego programu.
Druga zmienna to $snmpro. Jej wartoci musi by cig tekstowy wsplnoty SNMP przeznaczonej tylko do odczytu. W skrypcie przyjto zaoenie, e ten sam cig jest wykorzystywany we wsppracy ze wszystkimi routerami.
Dziaanie kodu bazuje na odczytywaniu listy routerw i kierowaniu zapyta do kolejno
wymienionych urzdze. Plik zawierajcy wspomnian list powinien si znajdowa
w katalogu roboczym skryptu i nosi nazw RTR_LIST. Poszczeglnymi pozycjami listy
mog by adresy IP lub nazwy stacji, przy czym w jednej linii moe si znajdowa tylko
jedna warto. Nazwy stacji umieszczane na licie wynikowej s pobierane bezporednio
z routerw, dlatego naley si upewni, e kademu urzdzeniu przypisano unikatow
nazw. Wynik uruchomienia kodu znajduje si w pliku RESULT umieszczonym w katalogu
roboczym.
Na koniec naley wspomnie, e skrypt moe generowa nazwy, ktre nie bd zgodne
z zaleceniem RFC 952 (ze specyfikacj tablicy nazw stacji wykorzystywan w internecie
ang. DoD Internet Host Table Specification). Przyczyn niezgodnoci jest fakt umieszczania w nazwach stacji znaku ukonika (np. miami-Se0/2), co w niektrych aplikacjach
moe by istotn przeszkod. Dotyczy to szczeglnie programw wykorzystujcych adresy
w formacie URL. Na przykad zapytanie skierowane do stacji o adresie http://miami-Se0/2
z pewnoci nie zostanie poprawnie zinterpretowane, gdy ostatni znak (2) bdzie uznawany za nazw pliku. Niemniej wikszo powszechnie stosowanych aplikacji, takich
jak ping i Telnet, bez problemu zaakceptuje tak posta adresu.
Osoby dbajce o zgodno ze standardem lub korzystajce z aplikacji, ktre nie obsuguj
wymienionych typw nazw, mog wprowadzi niewielkie zmiany w kodzie skryptu pozwalajce na zamian ukonikw na mylniki. W przedstawionym przykadzie listingu
stosowna linia kodu zostaa poprzedzona znakiem komentarza (#), ktry mona usun,
przeksztacajc wiersz:
#$name=~s/\//-/;

na:
$name=~s/\//-/;

Zobacz rwnie
Dokument RFC 952.

Вам также может понравиться