(nieoficjalne) Cisco FAQ PL

czyli najczęściej zadawane pytania o Cisco z odpowiedziami po polsku

Łukasz Bromirski <lukasz@bromirski.net> (koordynator)

v0.99(4) 30/01/2006 23:53:21



Rozdział 1. Sprawy porządkowe

FAQ, jak sama nazwa wskazuje, to zbiór najczęściej zadawanych pytań, wraz z odpowiedziami na nie. Naszą ambicją jest zebrać w tym jednym dokumencie maksimum użytecznych i przydatnych informacji, nie tylko dla profesjonalistów, ale również dla ludzi, którzy sprzęt Cisco widzą pierwszy raz w życiu.

Jak to przyjęło się w dokumentach tego rodzaju - możesz się z nami skontaktować. Na co dzień pracujemy jednak zawodowo i zwykle po prostu nie mamy czasu na odpowiadanie na pytania. Nie zdziw się zatem, jeśli na pytanie dotyczące Cisco, sieci (albo co gorsza, takie, na które odpowiedź znajduje się w tym FAQ) czy innego tematu nie dostaniesz odpowiedzi, skierujemy Cię do google.com albo odpowiedź będzie niezbyt przyjemna.

Oświadczenie i licencja

Dokument ten rozpowszechniany jest w nadziei, że będzie użyteczny, ale BEZ ŻADNEJ GWARANCJI; nawet bez implikowanej gwarancji RĘKOJMI lub PRZYDATNOŚCI DO KONKRETNEGO ZASTOSOWANIA.

Krótko i po ludzku mówiąc, zebrane tu informacje wcale nie muszą być prawdziwe. Jeśli w wyniku ich zastosowania np. Twoja firma straci miliony złotych - to nie była nasza wina. Bardzo nam przykro - staraliśmy się podać pewne informacje w dobrej wierze. Zastanów się zatem wielokrotnie zanim postanowisz coś kupić, włączyć lub (s|prze)konfigurować!.

Materiał zawarty w tym FAQ może być dystrybuowany tylko na zasadach określonych w Open Publication License, v1.0 lub późniejszej (ostatnia wersja jest obecnie dostępna pod adresem http://www.opencontent.org/openpub/).

Znaków towarowych firm, w szczególności firmy Cisco Systems, użyto tylko w celu identyfikacji produktów.

Namawiamy do darmowego kopiowania i dystrybuowania (sprzedawania lub rozdawania) tego dokumentu w dowolnym formacie. Wymagamy jednak, by poprawki i/lub komentarze przekazywać bezpośrednio na adres listy pocztowej, lub na adres koordynatora projektu - Łukasza Bromirskiego.


Dostęp do CVS i Twój udział w tym projekcie

Oryginał tego dokumentu w najnowszej wersji znajduje się pod adresem: http://lukasz.bromirski.net/docs/cisco/cisco_faq.html.

Koordynator tego FAQ pracuje nad uruchomieniem publicznie dostępnego serwera CVS.


Lista pocztowa - jak i gdzie?

Koordynator tego FAQ pracuje nad uruchomieniem publicznie dostępnego serwera CVS.


Rozdział 2. Pytania ogólne

Gdzie można poczytać o firmie Cisco i produktach tej firmy?

Najlepiej zacząć od polskich stron:

Następnie udać się oczywiście na największą stronę główną:




Do kogo zwrócić się o pomoc, jeśli chciałbym zbudować swoją sieć w oparciu o produkty Cisco?

Powinieneś zgłosić się do firmy, która wykonuje projekty w oparciu o sprzęt Cisco. Najprościej będzie zadzwonić na numer linii konsultacyjnej Cisco Polska (0 801 340 755). Konsultant, w zależności od wielkości projektu, zaproponuje pomoc inżynierów Cisco Polska, sam przedstawi pomysł na budowę sieci i listę sprzętu, lub skieruje Cię do firm, które zajmują się profesjonalnymi usługami.


Jak skontaktować się z pomocą techniczną Cisco?

Aby skontaktować się z Cisco TAC (Technical Assistance Center) skorzystaj z listy dostępnej pod adresem: http://www.cisco.com/warp/public/687/Directory/DirTAC.shtml.

Generalnie, europejski Cisco TAC dostępny jest pod numerem telefonu +32 2 704-58-69 (niestety, trzeba posługiwać się językiem angielskim)lub mailem tac@cisco.com.

Pamiętaj jednak, że:


Gdzie można uzyskać pomoc dotyczącą sieci i Cisco?

Najszybszą i darmową (zwykle) pomoc znaleźć można na listach usenetowych:

Trochę bardziej zaawansowane zagadnienia pojawiają się na listach, na które trzeba się zapisać. Są to:


Skąd mogę pobrać nowsze oprogramowanie do swojego urządzenia Cisco?

Dla zwykłych użytkowników, Cisco udostępnia bardzo okrojony zestaw oprogramowania, osiągalny pod adresem http://www.cisco.com/public/sw-center/.

Aby móc używać stale najnowszego oprogramowania, powinieneś do swojego urządzenia wykupić kontrakt SmartNET. Jeśli pozyskałeś urządzenie "szarym kanałem", jak nazywa się sprzęt nie sprzedany oficjalnie w Polsce tylko sprowadzony, będziesz miał problem z uzyskaniem legalnie nowszego/poprawionego oprogramowania. Dla sprzętu sprowadzanego i pozyskiwanego w ten sposób Cisco w Polsce nie prowadzi żadnego wsparcia projektowego/wdrożeniowego.

Pamiętaj również, że licencja Cisco uniemożliwia dzielenie się oprogramowaniem ze znajomymi, ani odsprzedaż urządzeń z zainstalowanym oprogramowaniem.


Słyszałem, że aktywacja szyfrowania 3DES i ew. AES jest na PIXach darmowa - czy to prawda?

Tak, wystarczy że użytkownik końcowy urządzenia zarejestruje się na stronie o adresie https://www.cisco.com/pcgi-bin/Software/Crypto/crypto_main.pl?prod_refer=pix3des. Kod aktywacyjny umożliwiający szyfrowanie 3DES i AES (od PIX OS 6.3) otrzyma e-mailem.


Czy są jakieś strony sympatyków Cisco z ciekawymi materiałami?

Open Sourceowa grupa COSI (Cisco Centric Open Source Initiative) prowadzi projekt, w ramach którego zbiera najciekawsze narzędzia do wszelakiego sprzętu Cisco. Z ideą działania grupy i z narzędziami stworzonymi przez jej członków, możesz zapoznać się pod adresem http://cosi-nms.sourceforge.net/.


Rozdział 3. Dokumentacja

Gdzie w Internecie znaleźć dobre materiały o sprzęcie Cisco? Konfiguracja, przykłady, zalecenia?

Na początek zapoznaj się z CCO, czyli Cisco Connection Online. Jest to sekcja strony http://www.cisco.com/univercd/home/home.htm, będąca naprawdę kopalnią wiedzy - zarówno o danych fabrycznych produktów, jak i konfiguracji poszczególnych zagadnień czy zaleceniach Cisco.

Drugim, bardzo bogatym i obszernym miejscem, są prezentacje z corocznych spotkań oranizowanych przez Cisco, nazywanych Networkers. Poniżej lista lokacji, z których ściągnąć można w formacie PDF prezentacje z poszczególnych lat:

I na koniec - wiele odpowiedzi i często spotykanych konfiguracji, znaleźć można posługując się (jak zwykle, gdy masz wątpliwości) wyszukiwarką google.


Jakie polecacie książki po Polsku, do pracy ze sprzętem Cisco?

Niestety, polskie wydawnictwa poskąpiły dobrych książek o Cisco. Z wartych kupienia i dostępnych w języku polskim wymienić należy:

Zdecydowanie nie polecam tłumaczeń książek Cisco Press wydawnictwa Mikom. Aby zorientować się w jakości wydawanych przez nich książek, wystarczy skorzystać z przeglądarki Google. Dodatkowo, koordynator tego FAQ (Łukasz Bromirski) miał osobistą nieprzyjemność współpracować z tym wydawnictwem przy tłumaczeniu dwóch książek.


A jakie w ogóle książki polecacie, poświęcone sieciom oraz sprzętowi Cisco?

Generalnie, z wydawnictw zagranicznych, warto zainteresować się firmowym wydawnictwem Cisco Press), oraz książkiami wydawnictw Syngress i Sybex. Bardzo dobre są również książki wydawane w wydawnictwie O'Reilly (ale to chyba akurat oczywiste).

Jeśli zajmujesz się sieciami, warto w swojej biblioteczce posiadać minimum:

TCP/IP Illustrated, Volume 1 - The Protocols
Legendarna już książka Stevensa omawiająca zestaw protokołów wchodzących w skład TCP/IP i opisująca ich budowę oraz działanie. Podstawa podstaw. Druga część tej książki omawia implementację (jeśli nie programujesz, jest to mniej ciekawa lektura).
Cisco IOS in a Nutshell
Jeśli dopiero zaczynasz pracę z routerami Cisco i chcesz poznać ich budowę oraz sposób pracy z nimi, a nie posiadasz żadnych materiałów szkoleniowych czy książek do egzaminu CCNA, ta książka jest warta polecenia.
Routing TCP/IP Volume I (CCIE Professional Development) oraz Routing TCP/IP, Volume II (CCIE Professional Development)
Dwie książki poświęcone zagadnieniom routingu w sieciach TCP/IP - naprawdę rewelacyjna lektura.
Cisco Certification: Bridges, Routers and Switches for CCIEs (wydanie II)
Trochę już wiekowa (wydana 15 grudnia 2000 roku) książka, ale jednocześnie rewelacyjne źródło wiedzy o wszelakich zagadnieniach z którymi spotykają się ludzie projektujący, konfigurujący i utrzymujący sieci oparte o urządzenia Cisco.
Internet Routing Architectures (wydanie drugie)
Książka Sama Halabiego, omawiająca dokładniej zagadnienia budowy sieci połączonej do Internetu - w tym dokładnie konfigurację BGPv4.
ISP Essentials
Drukowana wersja elektronicznej książki, dostępnej też pod adresem http://www.cisco.com/public/cons/isp/documents/IOSEssentialsPDF.zip. Znajdują się w niej zalecenia dla dostawców Internetowych, ale porady są skierowane do wszystkich użytkowników routerów Cisco. Bardzo cenna pozycja dla kogoś, kto praktycznie zajmuje się tym sprzętem.

Pozostałe rekomendacje ściśle związane są ze specjalizacją, którą się zajmujesz - książek o sieciach jest mnóstwo.


Jak zainstalować Cisco Documentation pod Windows tak, by nie trzeba było za każdym razem korzystać z krążka?

Najwygodniej jest wykonać obraz drugiej płyty (np. programem CloneCD czy Nero), następnie zainstalować jeden z wielu programów umożliwiających wirtualizację napędów CD/DVD - polecam Virtual Deamon i wskazać mu ten plik jako wirtualny napęd CD. Pozostanie jedynie zmienić literkę, przypisaną w konfiguracji programu wyświetlającego dokumentację. W domyślnej instalacji, plik ten znajduje się w katalogu c:\cisco i nazywa search.ini. Należy otworzyć go za pomocą ulubionego edytora tekstowego, znaleźć ciąg znaków SourceDrive i po znaku równa się wpisać literę wirtualnego napędu.

W mojej instalacji, oryginalny plik miał taki wpis:

SourceDrive=E:

Ponieważ mój wirtualny dysk CD zainstalował się pod literą F:, zmieniłem ten wpis na:

SourceDrive=F:

Teraz wystarczy uruchomić plik autorun.exe z wirtualnego napędu, by uruchomić DocumentationCD bez potrzeby posiadania płytki w napędzie.


Jak zainstalować Cisco Documentation pod Linuksem/BSD?

Jeśli możesz uruchomić lokalny serwer Apache, nie ma z tym żadnego problemu. Pozostaje tylko przekonać przeglądarki, żeby odpakowały sobie "w locie" zawartość serwowanych stron. Do pliku konfiguracyjnego Apache dodaj:

Alias /cisco/ /gdzie_zamontowałeś_cd/

<Directory /gdzie_zamontowałeś_cd>
Options Indexes
AllowOverride None
order deny,allow
deny from all
allow from localhost
</Directory> 

<Location /cisco/cc/>
AddEncoding x-gzip htm pdf
</Location>

Teraz uruchom przeglądarkę i wpisz adres: http://localhost/cisco/home/home.htm.


Gdzie sprawdzić składnię konkretnego polecenia?

Na CCO, w sekcji Cisco IOS: - dokumentacja od 11.3, 12.0, 12.1, 12.2 i 12.3.


Rozdział 4. Certyfikacje Cisco

Jakie są poziomy certyfikacji Cisco?

Cisco Systems podzieliło swoją ścieżkę certyfikacji na trzy poziomy:

Dodatkowo istnieje niezależna grupa certyfikatów opisująca konkretne specjalności (Cisco Qualified Specialist, CQS).


Jakie egzaminy muszę zdać na poziomie Associate?

Aby otrzymać tytuł CCNA, czyli Cisco Certified Network Associate musisz posiadać ogólną wiedzę o sieciach, oraz podstawową o sprzęcie Cisco. Dostępny jest również tytuł CCDA, Cisco Certified Design Associate, bardziej ukierunkowany na projektowanie sieci w oparciu o sprzęt Cisco.

Aby uzyskać tytuł CCNA, możesz albo zdać jeden egzamin 640-801, albo rozłożyć sobie testy na dwa egzaminy: 640-821 i 640-811. Aby uzyskać tytuł CCDA, musisz zdać egzamin 640-861.

CCNA i CCDA są ważne przez trzy lata. Aby się recertyfikować należy zdać aktualny egzamin CCNA/CCDA lub zdobyć stopień Professional.


Jakie egzaminy muszę zdać na poziomie Professional?

Dostępne są cztery tytuły na tym poziomie, w zależności od specjalizacji:


Jakie egzaminy muszę zdać na poziomie Expert?

Dostępne są cztery tytuły na tym poziomie, w zależności od specjalizacji:


Gdzie mogę znaleźć dokładną listę tematów na dany egzamin?

Na tej stronie: http://www.cisco.com/go/certifications znajduje się spis wszystkich aktualnych egzaminów. Wystarczy wybrać jeden z nich i kliknąc na jego oznaczeniu, by otrzymać podstawowe informacje: czas trwania, orientacyjną liczbę pytań, listę zagadnień które mogą pojawić się na egzaminie oraz zalecenia dotyczące nauki przed egzaminem.

Dodatkowo, dla egzaminów CCIE dostępna jest osobna strona: http://www.cisco.com/go/ccie.


Czy dla zdających są jakieś pomoce?

Przede wszystkim, Cisco przez swoich autoryzowanych partnerów organizuje kursy przygotowujące do konkretnego egzaminu i/lub specjalizacji.

Po drugie, wydawnictwo CiscoPress ma specjalną sekcję wydawnictw poświęconych certfyikacji: http://www.ciscopress.com/catalog/index.asp?st={E65E5189-F2F8-40AE-A827-D766D4879FDC}.

Po trzecie, wiele firm oferuje swoje materiały, mające przygotować Cię do zdania wybranego egzaminu. Najpopularniejszą firmą jest Boson (http://www.boson.com/), która oprócz samych materiałów, oferuje również różnego rodzaju narzędzia.


Czy po egzaminie mogę podzielić się ze znajomymi treścią pytań?

Nie, pod rygorem utraty certyfikacji. Cisco bardzo poważnie traktuje naruszenia NDA (ang. Non-Disclosure Agreement), który musisz podpisać przed zdawaniem każdego egzaminu.


Rozdział 5. Podstawy pracy z urządzeniami Cisco

Jak podłączyć się do...

...routera Cisco?

Każdy router Cisco posiada port konsoli (port opisany niebieskim kolorem jako CONSOLE)- a kabel konsolowy dostarczany jest w pudełku z nowym urządzeniem (to ten niebieski, zakończony dwoma stykami RJ-45 lub jednym stykiem RJ-45 i jednym RS-232C DB-9).

W zależności od oprogramowania, do routera można dostać się również Telnetem (znając adres IP i ewentualnie użytkownika i hasło), przez SSH czy nawet w nowym oprogramowaniu, przez przeglądarkę (jeśli na routerze zainstalowano SDM - Secure Device Manager - dostępny za darmo - będziesz miał wygodny interfejs do funkcjonalności routera; jeśli nie, będziesz miał dostęp do podstawowych statystyk oraz panel do wykonywania poleceń).


...Cisco PIX?

Podobnie jak routery, PIXy również posiadają port opisany niebieskim kolorem jako CONSOLE. Do PIXa również można podłączyć się przez Telnet, SSH lub od wersji 6.0 PIX OSa - PDM, czyli PIX Device Manager. Od wersji 7.0 graficzny interfejs użytkownika to ASDM  Advanced Security Device Manager.


...przełącznika Cisco Catalyst serii 1000, 2000 lub 3000?

Przełączniki niemodularne (19xx, 29xx, 3xxx) posiadają na tylnym panelu port opisany na niebiesko jako CONSOLE.


...przełącznika Cisco Catalyst serii 4000/4500?

W przełącznikach modularnych 4000/4500 do modułu zarządzającego (Supervisora), można podłączyć się na dwa sposoby: konsolą, lub za pomocą Ethernetu.

Konsola na wszystkich Supervisorach (za wyjątkiem modelu I) to standardowy styk RJ-45, natomiast w Supervisorze I jest to żeński port DB-25.

Port Ethernetowy/FastEthernetowy opisany jest natomiast jako Management Port i służy tylko do zarządzania - łączności przez Telnet/SSH, zbierania informacji przez SNMP lub przesyłania obrazów z systemem. Port ten nie będzie przekazywał żadnego ruchu do innych modułów przełącznika. Dodatkowo, aby z tego portu skorzystać, należy go uprzednio skonfigurować (nadać adres IP).

Aby zarządzać urządzeniem z dwoma Supervisorami, należy podłączyć się do tego, na którym pali się dioda Active.


...przełącznika Cisco Catalyst serii 6000/6500?

Supervisory posiadają standardowy port konsolowy (RJ-45). Aby zarządzać urządzeniem z dwoma Supervisorami, należy podłączyć się do tego, na którym pali się dioda Active.


...sondy Cisco IDS/IPSa serii 42xx?

Do sond IDS można podłączyć się zarówno standardowym kablem konsolowym (jest w oryginalnym opakowaniu) do portu COM1, lub po prostu dołączając zwykłą klawiaturę PS/2 i monitor.


...punktu bezprzewodowego AP350, 11xx, 12xx, 13xx lub 14xx?

Podobnie jak w przypadku routerów, AP dysponują opisanym na niebiesko portem konsoli. Zwróć uwagę, że w domyślnej konfiguracji wymagają zalogowania się na użytkownika `Cisco' z hasłem `Cisco'.


Podłączyłem się i...?

...w oknie terminala nic nie widzę?

Spróbuj parę razy wcisnąć Enter - urządzenie po drugiej stronie powinno zwrócić prompt o login, lub po prostu od razu umożliwić wykonywanie poleceń (w zależności od konfiguracji).

Jeśli nic się nie dzieje, a jesteś pewien że kabel konsolowy jest dobry, możliwe, że port ustawiony jest inaczej niż domyślnie (dla przypomnienia, prędkość 9600, 8 bitów danych, bez parzystości i 1 bit stopu). Spróbuj ustawienia 38400 8N1, 57600 8N1 lub 115200 8N1 w swoim terminalu.


...jak dostawać informacje o zdarzeniach na routerze na konsolę?

Jeśli jesteś podłączony przez konsolę, domyślnie otrzymujesz informacje o zdarzeniach na routerze. Np.:

router# conf t
router(config)# exit
router# 

%SYS-5-CONFIG_I: Configured from console by console

Jeśli natomiast jesteś zalogowany przez Telnet lub SSH, musisz wprost włączyć kierowanie komunikatów na Twoją konsolę poleceniem `terminal monitor':

router# terminal monitor

...jaki dokładnie mam router? Ile mam pamięci RAM/flash? Co oznaczają poszczególne linijki z polecenia `show version'?

Standardowo do sprawdzenia, z jakim urządzeniem mamy do czynienia, poza oczywistą inspekcją wizualną (jeśli pracujemy zdalnie niemożliwą) jest wydanie polecenia `show version'.

Poniżej przykładowy wynik takiego polecenia wraz z interpretacją wyniku:

Cisco Internetwork Operating System Software 
IOS (tm) C1700 Software (C1700-Y-M), Version 12.1(22a), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2004 by cisco Systems, Inc.
Compiled Fri 23-Jan-04 20:40 by cmong
Image text-base: 0x80008088, data-base: 0x8060A5D4

Z tego fragmentu możemy dowiedzieć się, że mamy do czynienia z routerem (na urządzenie załadowano Cisco IOS, na PIXach mamy do czynienia z PIX OSem, na dużych przełącznikach Catalyst z CatOSem).

Po drugie, oprogramowanie należy do serii przeznaczonej dla routerów serii 1700 (C1700 Software), w wersji 12.1.22a (Version 12.1(22a)) i zawierającym funkcjonalność "IP" (C1700-Y-M). O tym jak rozszyfrować funkcjonalność oprogramowania odpowiadamy w dalszych pytaniach.

c1720 uptime is 10 minutes
System returned to ROM by power-on
System image file is "flash:c1700-y-mz.121-22a.bin"

Kolejna linijka określa, jak dawno resetowano router (uptime is 10 minutes - 10 minut temu), co było przyczyną restartu (power-on - włącznik, inne opcje to reload - restart wymuszony poleceniem reload), oraz jaki i skąd Cisco IOS został załadowny (flash:c1700-y-mz.121-22a.bin, z pamięci Flash i nazywa się c1700-y-mz.121-22a.bin).

cisco 1720 (MPC860) processor (revision 0x501) with 12288K/4096K bytes of memory.
Processor board ID JAD01234567 (123456789), with hardware revision 0000
M860 processor: part number 0, mask 32

Mamy do czynienia z routerem Cisco 1720 (Cisco 1720), sterowanym procesorem MPC860. Router posiada łącznie 16MB pamięci RAM (12288K/4096K bytes of memory, wartości należy zsumować). Dodatkowo, można sprawdzić numer seryjny urządzenia (JAD01234567).

1 FastEthernet/IEEE 802.3 interface(s)
1 Serial(sync/async) network interface(s)

Router posiada jeden interfejs FastEthernet (standardowo zabudowany na routerach 1700) oraz jeden interfejs szeregowy (może pracować zarówno w trybie asynchronicznym jak i synchronicznym).

32K bytes of non-volatile configuration memory.
4096K bytes of processor board System flash (Read/Write)

Dodatkowo, router posiada 32kB pamięci nieulotnej (NVRAM), w której przechowuje się aktualną i startową konfigurację, oraz 4MB pamięci Flash (używanej do przechowywania Cisco IOS, certyfikatów itp.).

Configuration register is 0x2102

Tzw. rejestr konfiguracyjny, kontrolujący pewne aspekty startu i pracy routera ustawiony został na wartość heksdecymalną 2102. O znaczeniu poszczególnych bajtów tego rejestru napisano niżej.


...gdy pomylę się w poleceniu, router zaczyna robić dziwne rzeczy...

Domyślnie, wydanie nieznanego routerowi polecenia, powoduje próbę połączenia się z nim. Wygląda to mniej więcej tak:

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

Takie zachowanie routera można zmienić, wyłączając rozwiązywanie nazw:

router(config)# no ip domain lookup

...chciałbym zapisać konfigurację routera/PIXa/przełącznika?

Na urządzeniach pracujących pod kontrolą Cisco IOS (routery, PIXy od wersji 6.0 i część przełączników) używa się do tego celu polecenia:

router# copy running-config startup-config

Ewentualnie, w bardzo starych Cisco IOS, w PIX OS starszych niż 6.0 i w urządzeniach pracujących pod kontrolą CatOS (przełączniki) poleceniem:

router# write memory

...chciałbym wymazać konfigurację routera/PIXa/przełącznika?

Na urządzeniach używających NVRAMu (routery i część przełączników), wystarczy wydać polecenie:

router# erase nvram

Na PIXach natomiast:

pix# write erase

...jakiego użyć oprogramowania do połączenia się z routerem?

Wszystko zależy od systemu operacyjnego.

Dla systemu Windows polecam program SecureCRT - obsługuje zarówno połączenia konsolowe jak i przez Telnet/SSH. Standardowo obecny w Windowsach program Hyperterminal jest bardzo ubogi i niewygodny w użytkowaniu.

Dla systemów Linux/BSD i połączeń przez konsolę polecam minicom, a przez telnet/ssh - natywnie wbudowane w te systemy programy.


...jakiego użyć oprogramowania do serwowania plików tftp/ftp?

Ponownie - wszystko zależy od systemu operacyjnego.

Dla systemu Windows polecam serwer TFTP firmy SolarWinds (darmowy): http://support.solarwinds.net/updates/New-customerFree.cfm. Jeśli chodzi o serwer FTP - polecam program BulletProof FTP Server (http://www.bpftpserver.com/) ale nie jest on niestety darmowy.

Dla systemów Linux/BSD zarówno serwer tftp jak i ftp dostarczane są zwykle z dystrybucją/w systemie podstawowym. Prawdopodobnie będzie jednak trzeba je wprost aktywować w konfiguracji demona inetd lub xinetd.


Mój router uparcie próbuje ściągnąć z sieci plik network-config, network-cfg lub cisconet.cfg - o co chodzi?

Masz aktywną usługę wczytywania konfiguracji z sieci. Wyłącz ją, pisząc:

router(config)# no service config

Rozdział 6. Podstawy konfiguracji usług

DHCP

Co to są prywatne/niezarejestrowane adresy IP?

Na potrzeby przykładów, książek i innych opracowań IETF wydzielił z globalnej puli adresów IPv4 pewne zakresy, których nie przydzielono nigdzie w Internecie i nie powinny się one w nim pojawić (a jesli się już nawet pojawią, powinny zostać zignorowane lub odfiltrowane). Adresy te nazywane są prywatnymi, rzadziej niezarejestrowanymi.

Spis adresów aktualnie przydzielonych do celów testowych i na prywatny użytek, znajduje się w RFC 1918 (http://www.ietf.org/rfc/rfc1918.txt). Dla jasności, chodzi o adresy:

 10.0.0.0    - 10.255.255.255   (10.0.0.0/8)
 172.16.0.0  - 172.31.255.255   (172.16.0.0/12)
 192.168.0.0 - 192.168.255.255  (192.168.0.0/16)

UWAGA!: Pojęcie "adresy nieroutowalne" jest błędne - nie ma czegoś takiego. Każdy adres jest jak najbardziej routowalny, po prostu przeznaczeniem tego konkretnego zestawu adresów nie jest znalezienie się w Internecie.


Czy router może pełnić rolę serwera DHCP?

Tak, ale w przypadku routerów serii 1600, 1700, oraz niektórych linii Cisco IOS, możesz potrzebować funkcjonalności "Plus" - najlepiej skorzystaj z Feature Navigatora, zanim założysz, że posiadasz tą funkcję.

Serwer DHCP uruchamia się, definiując pule adresowe. Jeśli np. masz pojedynczą sieć i nie chcesz kojarzyć adresów IP z adresami MAC, możesz napisać:

router(config)# ip dhcp excluded-address 192.168.0.1
                Adres 192.168.0.1 nie zostanie przypisany - zwykle chodzi o
                zarezerwowanie adresu interfejsu routera
router(dhcp-config)# ip dhcp pool MojeDHCPLAN
                     Tworzymy pulę o nazwie MojeDHCPLAN
router(dhcp-config)# network 192.168.0.0 255.255.255.0
                     Przydzielamy adresy z puli 192.168.0.0/24 (za wyjątkiem
                     zarezerwowanego wyżej adresu 192.168.0.1)
router(dhcp-config)# default-router 192.168.0.1
                     Oprócz adresu IP dla stacji, serwujemy domyślną bramkę
                     (zwykle interfejs routera)
router(dhcp-config)# dns-server IP_serwera_DNS1 IP_serwera_DNS2 itp.
                     ...oraz od razu serwery DNS.

Jeśli natomiast chcesz konkretnej stacji/serwerowi przydzielić konkretny adres IP, możesz posłużyć się mapowaniem MAC-IP:

router(config)# ip dhcp pool SerwerPlikow
router(dhcp-config)# host 192.168.0.10 255.255.255.0
                     Adres 192.168.0.10 z maską /24 przydzielony zostanie...
router(dhcp-config)# client-identifier 000c.09cb.9813
                     ...hostowi z adresem MAC 00:0C:09:CB:98:13
router(dhcp-config)# default-router 192.168.0.1
                     Oprócz adresu IP dla stacji, serwujemy domyślną bramkę
                     (zwykle interfejs routera)
router(dhcp-config)# dns-server IP_serwera_DNS1 IP_serwera_DNS2 itp.
                     ...oraz od razu serwery DNS.

Jak przydzielić interfejsowi adres z serwera DHCP?

W definicji interfejsu należy podać po prostu:

router(config)# interface FastEthernet 0/0
router(config-if)# ip address dhcp

Jak przekazać dalej zapytania DHCP?

Wystarczy w zasadzie, na interfejsie podłączonym do sieci, w której znajduje się stacja pobierająca informacje z serwera DHCP wydać polecenie:

router(config)# interface FastEthernet 0/0
router(config-if)# ip helper-address IP_serwera_DHCP

...ale to włącza przekazywanie wielu rodzajów ruchu. Możesz to zablokować, ograniczając się tylko do DHCP/BOOTP w ten sposób:

router(config)# no ip forward-protocol udp tftp
router(config)# no ip forward-protocol udp dns
router(config)# no ip forward-protocol udp time
router(config)# no ip forward-protocol udp netbios-ns
router(config)# no ip forward-protocol udp tacacs
 ...i dla pewności, że jest włączone:
router(config)# ip forward-protocol udp bootpc

SNMP

Jak uruchomić na routerze SNMP?

W najprostszym scenariuszu, wystarczy wydać polecenie:

router(config)# snmp-server community mojstring RO 15

...gdzie mojstring to klucz, który musi podać agent by odczytać dane, RO to tryb dostępu (tylko do odczytu, lub RW zezwalające również na zapis) i w końcu 100 to numer listy ACL kontrolującej kto może łączyć się z SNMP routera. Lista ta może mieć np. taką konstrukcję:

ip access-list standard 15
 permit 192.168.0.10
 permit 192.168.0.15
 deny any

...co pozwoli na odczytywanie informacji tylko stacjom o adresach 192.168.0.10 i 192.168.0.15. Numer listy dostępu można pominąć, ale wtedy dostęp do SNMP routera będzie miał każdy host, który nie zostanie odfiltrowany przez ew. ograniczenia ruchowe na interfejsach!


Logowanie zdarzeń

Chciałbym logować zdarzenia zachodzące na routerze do pamięci. Jak to zrobić?

W najprostszym scenariuszu, wystarczy wydać polecenie:

router(config)# logging buffered 128000

...gdzie 128000 to prośba o rezerwację 128kB pamięci na potrzeby bufora. Najstarsze zdarzenia zostaną nadpisane. Zawartość bufora obejrzeć można poleceniem `show log'.


Chciałbym logować zdarzenia zachodzące na PIXie do pamięci. Jak to zrobić?

Musisz wskazać od którego poziomu zdarzenia będą logowane (0 to najmniej szczegółowy poziom - tylko zdarzenia krytyczne, a 7 najbardziej szczegółowy) a następnie włączyć logowanie:

pix(config)# logging buffered 7
pix(config)# logging on

Chciałbym logować zdarzenia zachodzące na routerze do serwera syslog. Jak to zrobić?

Powinieneś kolejno: wskazać host-serwer syslog (lub wiele, komunikaty będą wysyłane jednocześnie do wszystkich), ewentualnie wskazać od którego poziomu komunikaty mają być logowane (ang. severity) i jak będą identyfikowane (ang. facility), a w końcu włączyć wysyłanie komunikatów:

router(config)# logging host 192.168.0.10
router(config)# logging severity debugging
router(config)# logging facility local0
router(config)# logging on

Chciałbym logować zdarzenia zachodzące na PIXie do serwera syslog. Jak to zrobić?

Powinieneś kolejno: wskazać host-serwer syslog (lub wiele, komunikaty będą wysyłane jednocześnie do wszystkich), wskazać od którego poziomu komunikaty mają być logowane (ang. trap X, gdzie 7 oznacza poziom debugging, czyli najbardziej szczegółowy), a w końcu włączyć wysyłanie komunikatów:

pix(config)# logging host 192.168.0.10
pix(config)# logging trap 7
pix(config)# logging on

Po wymianie karty w routerze statystyki się pomieszały. Co się stało?

Domyślnie routery Cisco po przeładowaniu budują od nowa tablicę indeksów interfejsów. W przypadku zmiany konfiguracji sprzętowej automatycznie poszczególne interfejsy mogą uzyskać inne indeksy. Można jednak zapisywać na stałe numerację interfejsów na pamięci flash, jeśli wydasz polecenie:

router(config)# snmp-server ifindex persist

Czas

Jak ustawić zegar na routerze?

Poleceniem:

router# clock set 16:13:00 23 feb 2004

Na mniejszych platformach, zegar nie jest jednak podtrzymywany baterią i po resecie, zostanie wyzerowany.


Jak ustawić zegar wg serwerów czasu z Internetu?

Za pomocą protokołu NTP (jeśli masz router serii 1600, 2500, czy 1700, NTP znajduje się dopiero w oprogramowaniu "IP Plus"). Wystarczy dodać do konfiguracji routera wskazanie serwera czasu (opłaca się wskazać wiele, router wybierze jeden, a jeśli nie będzie mógł się z nim skontaktować, wybierze kolejny z listy).

router(config)# ntp server 217.153.69.35
router(config)# ntp server 150.254.183.15

To, czy synchronizacja działa, możemy sprawdzić poleceniem `show ntp associations':

router# show ntp associations

      address         ref clock     st  when  poll reach  delay  offset    disp
+~217.153.69.35    .PPS.             1   585  1024  377    28.7    1.96    15.7
*~150.254.183.15   .PPS.             1   534  1024  377    31.1   -0.83    17.4
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

Symbol gwiazdki przy adresie serwera oznacza, że jest on aktualnie wybrany jako serwer czasu i router zsynchronizował pomyślnie czas wg jego wskazań. Należy zauważyć, że od wskazania serwera NTP do zsynchronizowania się z serwerem może minąć od 60 do 120 sekund.

Lista serwerów NTP Stratum 1 znajduje się pod adresem http://www.eecis.udel.edu/~mills/ntp/clock1a.html a Stratum 2 pod adresem http://www.eecis.udel.edu/~mills/ntp/clock2a.html.

Jeśli Twój router nie obsługuje pełnej implementacji NTP a jedynie SNTP, konfiguracja jest analogiczna ale słowo kluczowe ntp zastępujemy sntp:

router(config)# sntp server 217.153.69.35
router(config)# sntp server 150.254.183.15

Skonfigurowałem na swoim routerze NTP, ale zegar pozostaje niezsynchronizowany - a minęło już parę godzin.

Po pierwsze upewnij się, że serwery które wskazałeś są osiągalne dla Twojego routera - najlepiej wykonaj ping z niego do kolejnych serwerów.

Po drugie sprawdź, czy nie blokujesz ruchu z routera do serwerów ACLkami - powinieneś zezwolić na ruch UDP z i do portu 123, np. w ten sposób:

ip access-list extended moj_fw_internet
 permit udp host 217.153.69.35 eq ntp host 169.254.10.1 eq ntp

Gdzie 169.254.10.1 to adres interfejsu publicznego Twojego routera, ACLka moj_fw_internet przypisana jest w kierunku in na tym interfejsie, a 217.153.69.35 to adres serwera NTP. Pamiętaj również, że jeśli modyfikujesz już istniejącą ACLkę, ten wpis musi znaleźć się przed każdym innym, który mógłby go zablokować.

Po trzecie w końcu upewnij się, że administrator danego serwera nie żąda uwierzytelniania poszczególnych łączących się do niego klientów.


NAT

W jakich wersjach oprogramowania obsługiwany jest NAT, PAT oraz mapowanie portów z adresów publicznych na prywatne?

NAT pojawił się w wersji IOS 11.2 w feature-set "IP Plus". Od wersji 12.0 cała funkcjonalność NAT dostępna jest już w standardowej wersji "IP".


Chcę uruchomić NAT - mam jeden interfejs publiczny i jeden prywatny. Jak to zrobić?

W trzech krokach.


Mam router z jednym interfejsem i chcę robić NAT - czy to wykonalne?

Tak, taki układ nazywa się "NAT na patyku" (ang. NAT-on-a-stick). Na jednym interfejsie (zwykle Ethernetowym) obsługujesz zarówno ruch z sieci lokalnej jak i publicznej. Uważaj jednak, na aspekty bezpieczeństwa w takim układzie - zwykle w takiej topologii urządzenie dostawcy podpięte jest do koncentratora/przełącznika, a ten zarówno do routera jak i innych stacji. Oznacza to, że ktoś może zmienić sobie adres IP na stacji na publiczny i "obejść" Twój router w komunikacji z Internetem!

Na początek skonfigurujemy interfejs FastEthernet 0/0, który służyć nam będzie zarówno do obsługi sieci LAN jak i Internetu. Zakładam, że od dostawcy otrzymałeś publiczny adres 169.254.10.1, Twoją domyślną bramką jest 169.254.10.2 a sieć LAN ma numerację 192.168.0.0/24, przy czym interfejs routera w tej sieci posiada adres 192.168.0.1:

router(config)# interface FastEthernet0/0
router(config-if)# ip address 169.254.10.1 255.255.255.0
! Adresem głównym interfejsu jest adres publiczny
router(config-if)# ip address 192.168.0.1 255.255.255.0 secondary
! Dodatkowo przypisujemy do niego adres prywatny tak, by stacje
! w sieci LAN miały zapewnioną bramkę ze swojej podsieci
router(config-if)# ip nat outside
! Oznaczamy interfejs jako zewnętrzny
router(config-if)# ip policy route-map PetlaNAT
! ...i dodajemy do niego route-mapę, która obsługiwać będzie NAT

Teraz dodamy logiczny interfejs Loopback 0. Jest on potrzebny, ponieważ NAT na routerach Cisco wykonywany jest tylko i wyłącznie wtedy, gdy pakiet w czasie podróży przez router przechodzi przez interfejs oznaczony jako zewnętrzny (outside) i wewnętrzny (inside). Do interfejsu możesz przypisać dowolny adres, ale najlepiej żeby był to adres prywatny. W przykładzie użyjemy puli 172.16.0.1/24:

router(config)# interface Loopback0
router(config-if)# ip address 172.16.0.1 255.255.255.0
! Przypisujemy interfejsowi adres z innej puli prywatnej
router(config-if)# ip nat inside
! Oznaczamy interfejs jako wewnętrzny

Pozostaje teraz po pierwsze skonfigurować NAT, a po drugie route-mapę, która "wymusi" przejście pakietu przez dwa różnie oznaczone z punktu widzenia NATu interfejsy.

Zakładam, że NAT ma być realizowany na publiczny adres interfejsu routera:

router(config)# ip nat inside source list SiecDoNAT interface FastEthernet0/0 overload
! Wszystkie pakiety pasujące do ACL SiecDoNAT będą NATowane

! Pozostaje skonfigurować tą ACLkę:

router(config)# ip access-list extended SiecDoNAT
router(config-ext-nacl)# permit ip 192.168.0.0 0.0.0.255 any

A teraz konfiguracja route-mapy PetlaNAT. Każdy pakiet otrzymany z interfejsu FastEthernet 0/0 zostanie sprawdzony, czy nie pasuje do jej reguł. W naszym przypadku będzie tylko jedna - jeśli pasujesz do ACLki SiecDoNAT, musisz trafić na interfejs Loopback 0. W ten sposób ruch z sieci LAN zawsze zostanie sztucznie przerzucony na interfejs Loopback 0, gdzie dojdzie do jego zNATowania. Następnie pakiet już z publicznym adresem, zgodnie z normalnymi regułami routingu, zostanie wysłany interfejsem FastEthernet 0/0 w stronę sieci ISP:

router(config)# route-map PetlaNAT permit 10
router(config-route-map)# match ip address SiecDoNAT
router(config-route-map)# set interface Loopback0

Chcę przekierować port 25/tcp z adresu publicznego routera do sieci wewnętrznej - jak to zrobić?

Zakładam, że chodzi o ruch na adres IP 169.254.10.10 (nasz fikcyjny adres publiczny) na port 25/tcp, i ma on trafiać do stacji gdzieś za routerem, o adresie 192.168.0.10 na ten sam port:

router(config)# ip nat inside source static tcp 192.168.0.10 25 169.254.10.10 25 extendable

Jak sprawdzić, które interfejsy przypisane są do NAT i jak są skonfigurowane?

Poleceniem:

router(config)# show ip nat statistics
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Outside interfaces:
  Serial 0.99
Inside interfaces: 
  FastEthernet 0/0
[...]

NAT mi nie działa - co może być źle?

Po pierwsze sprawdź (poleceniem show ip nat stat), że faktycznie masz przynajmniej jeden interfejs inside i jeden outside. Polecenie wyświetli również w ostatnich linijkach kryteria dla ruchu NATowanego - sprawdź, czy w ogóle NAT zauważa jakieś pakiety godne NATowania (pozycja hits).

Po drugie sprawdź, że nie zamieniłeś interfejsu outside z inside - być może NAT chciałby tłumaczyć adresy, ale otrzymuje ruch nie pasujący do reguł.

Po trzecie, sprawdź czy ruchu do NATowania nie blokujesz w żaden sposób na interfejsie wewnętrznym, ani wracającego na interfejsie zewnętrznym. Zweryfikuj konfigurację routingu, jeśli NATujesz sieci nie podłączone bezpośrednio do routera - być może definicja co NATować jest zbyt wąska.


SSH

Jak skonfigurować SSH?

Po pierwsze, sprawdź czy w ogóle posiadasz w swoim IOSie funkcjonalność SSH. Pojawiła się ona w linii 12.0 i jest obecna tylko w feature-setach posiadających funkcjonalność "IPsec" (routery), "Service Provider SSH" (większe routery, od 7xxx) oraz "Crypto" (przełączniki Catalyst). Od wersji IOS 12.3 dostępna jest na routerach w każdym IOSie (za wyjątkiem tych oznaczonych 'W/O CRYPTO') oraz od linii 12.2(x) na przełącznikach Catalyst w nowych wersjach pakowania IOSa (również za wyjątkiem tych oznaczonych 'W/O CRYPTO').

Pierwszym krokiem jest nadanie routerowi nazwy własnej i domenowej. Informacje te będą wymagane do wygenerowania kluczy: prywatnego i publicznego.

router# conf t
router(config)# hostname c1760
c1760(config)# ip domain name test.pl

Teraz generujemy klucze:

c1760(config)# crypto key generate rsa

The name for the keys will be: c1760.test.pl
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024

! Wybraliśmy klucze o długości 1024 bitów

% Generating 1024 bit RSA keys ...[OK]

W tym momencie serwer SSH zostaje włączony. Uwierzytelnianie odbywa się w oparciu o skonfigurowane, zewnętrzne bazy danych (RADIUS itp.), lub domyślnie - w oparciu o lokalną bazę użytkowników (poleceniami `username X [...]').

Dodatkowo, można ograniczyć dostęp do routera tylko do protokołu SSH, wydając na liniach wirtualnych terminali polecenie:

c1760(config)# line vty 0 15
c1760(config-vty)# transport input ssh

Jak sprawdzić, czy serwer SSH jest włączony?

Poleceniem `show ip ssh':

router# show ip ssh
SSH Enabled - version 1.99
Authentication timeout: 120 secs; Authentication retries: 3

Rejestr konfiguracyjny routerów

Po zapisaniu konfiguracji i przeładowaniu routera, tracę konfigurację - dlaczego?

Jeśli faktycznie zapisanie konfiguracji się powiodło, to najprawdopodobniej problem leży w ustawieniu rejestru konfigarcyjnego na pomijanie plików startowych. Po zalogowaniu się na router wykonaj:

router# conf t
router(config)# config-register 0x2102
router(config)# exit

Co dokładnie oznaczają bajty z rejestra konfiguracyjnego?

Rejestr konfiguracyjny, to heksdecymalna wartość, na którą składają się następujące możliwe wartości:

Bit      Wartość           Znaczenie
00-03    0x0000-0x000F     Sposób startu urządzenia:
                           0x0000 - start do promptu bootstrap
                           0x0001 - start z obrazu przechowywanego w EPROMie
                           0x0002
                               do
                           0x000F - standardowy boot
                           
06       0x0040            Zignoruj ustawienia z NVRAM (konfigurację)
07       0x0080            Wyłącz informacje wyświetlane podczas startu
08       0x0100            Wyłączona sekwencja Break. Niezależnie od tego
                           ustawienia, przekazanie routerowi tej sekwencji
                           podczas startu, spowoduje wejście do ROMMONa.
10       0x0400            Włączona obsługa broadcastów IP z samymi zerami
11-12    0x0800-0x1000     Ustawienie prędkości konsoli:
                           0x0800 - 9600
                           0x1000 - 115200
13       0x2000            Wystartuj z oprogramowania przechowywanego w ROMie,
                           jeśli nie uda się wystartować z flasha/sieci
14       0x4000            Broadcasty IP nie mają dołączanych numerów sieci
15       0x8000            Włącz szczegółowe informacje diagnostyczne i
                           pomiń konfigurację z NVRAMu

Domyślna wartość to 0x2102. Oznacza ona, że router powinien wystartować z obrazu przechowywanego w pamięci Flash i spróbować załadować konfigurację z pamięci NVRAM. Prędkość konsoli ustalona jest na 9600. Dokładnie takie samo zachowanie, ale z konsolą ustawioną na 115200 daje ustawienie rejestru konfiguracyjnego na wartość 0x3922.


Czy do ustawiania rejestru konfiguracyjnego można użyć jakiegoś narzędzia?

Firma Boson udostępnia program, umożliwiający konfigurację rejestru w systemie Windows "wizualnie": http://download.boson.com/utils/bos_calc.exe.


VLANy

Co to są VLANy?

VLAN, czyli Virtual LAN, to po prostu podział w warstwie drugiej sieci na wiele mniejszych domen rozgłoszeniowych. Aby ruch mógł być wymieniany pomiędzy dwoma hostami znajdującymi się w różnych VLANach, potrzebne jest urządzenie warstwy trzeciej - router. Dzisiaj bardzo często routing między VLANami realizuje się na przełącznikach, kiedyś rolę tą pełniły routery.

Istnieją standard tworzenia VLANów - zdefiniowany przez IEEE 802.1Q. Opisuje on dokładnie, jak rozszerzyć ramkę L2 aby zawrzeć w niej informacje, do którego VLANu ramka należy (są to w tzw. ramki tagowane). Połączenie, które przenosi ramki z jednocześnie wielu VLANów, nazywa się trunkiem. Cisco zdefiniowało wcześniej na swoich przełącznikach standard ISL - jest on bardzo często spotykany w starszych urządzeniach. Działa on w zasadzie tak samo jak 802.1Q, ale ramka ulega "zapakowaniu" w nową, co zwiększa czas potrzebny na przeprowadzanie operacji - i co ważniejsze, nie jest obsługiwane przez innych niż Cisco producentów.


Co to jest VLAN "natywny"?

To VLAN używany przez przełączniki do przenoszenia informacji administracyjnych (np. BPDU, CDP itp.). Domyślnie jest to VLAN 1. Porty przełączników Cisco w domyślnej konfiguracji należą właśnie do tego VLANu.

Na trunkach (niezależnie czy 802.1Q czy ISL), VLAN natywny przenoszony jest bez tagowania.


Co mają na myśli ludzie mówiąc "router na patyku" (ang. router on a stick)?

Chodzi o topologię, w której jeden interfejs routera służy do obsługi routingu z wielu sieci.

Na przykład masz 24-portowy przełącznik warstwy drugiej, dwa VLANy i chcesz jakoś przekazywać ruch między nimi w oparciu o warstwę trzecią. Najprościej będzie zdefiniować na przełączniku jeden port jako trunk 802.1Q przenoszący oba VLANy, podłączyć ten port do routera skonfigurowanego analogicznie i nadać na routerze adresy IP obu podinterfejsom.

Oto przykładowa konfiguracja interfejsu FastEthernet (pamiętaj, że obsługa 802.1Q dla większości routerów zawarta jest dopiero w feature-set "IP Plus"):

interface FastEthernet0/0
 no ip address
!
interface FastEthernet0/0.1
 description VLAN 10, domyślna bramka dla pierwszej podsieci
 encapsulation dot1Q 10
 ip address 192.168.10.1 255.255.255.0
!
interface FastEthernet0/0.2
 description VLAN 20, domyślna bramka dla drugiej podsieci
 encapsulation dot1Q 20
 ip address 192.168.20.1 255.255.255.0

Portu na przełączniku (tu akurat 2950), podłączonego do routera:

interface FastEthernet0/24
 switchport trunk allowed vlan 10,20
 switchport mode trunk
 no ip address
 spanning-tree portfast

W końcu port do którego podłączona jest stacja z VLANu 10:

interface FastEthernet0/1
 switchport mode access
 switchport access vlan 10
 no ip address
 spanning-tree portfast

Czy Cisco PIX może obsługiwać VLANy?

Tak, ale od PIX OS w wersji 6.3 i tylko modele od 515 w górę (525 i 535). Dokładna ilość VLANów obsługiwanych przez PIXa związana jest z posiadaną licencją i przedstawiono ją w poniższej tabelce:

Platforma      Licencja         Interfejsy fizyczne    Interfejsy logiczne
PIX-501           -               1+4(przełącznik)              2
PIX-506/506E      -                      2                      2
PIX-515/515E      R                  2+1 opcja                  3
PIX-515/515E    UR/FO                    6                      8
PIX-520/525       R                      6                     10 (6+4)
PIX-520/525     UR/FO                    8                     10
PIX-535           R                      6                      8
PIX-535         UR/FO                   10                     22       

Jak skonfigurować na PIXie VLAN?

Oto przykład konfiguracji PIXa 515 z VLANem na drugim porcie fizycznym:

interface ethernet0 auto
! interfejs eth0 nie jest tagowany
interface ethernet1 auto
! aktywujemy interfejs eth1
interface ethernet1 vlan20 physical
! VLAN 20 przenoszony będzie nietagowany
interface ethernet1 vlan30 logical
! VLAN 30 przenoszony będzie tagowany zgodnie z 802.1Q

...

nameif ethernet0 outside security0
! fizyczny interfejs eth0 podpinamy do routera ISP
nameif ethernet1 inside security100
! nietagowane ramki na fizycznym porcie eth1 należą do LANu
nameif vlan30 dmz security50
! tagowane ramki na fizycznym porcie eth1 (VLAN 30) należą do DMZtu

! Pozostaje nadanie adresów IP:

ip address dmz 169.254.76.1 255.255.255.0
ip address inside 192.168.0.1 255.255.255.0
ip address outside 169.254.12.2 255.255.255.252

Poniżej przykładowe fragmenty z konfiguracji przełącznika. Fizyczny interfejs eth1 PIXa dołączono do portu FE0/6, zdefiniowanego jako trunk 802.1Q, przenoszący VLAN 30, oraz VLAN 20 jako natywny:

interface FastEthernet0/6
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport trunk allowed vlan 30
 switchport trunk native vlan 20

Jak sprawdzić...

...ile interfejsów logicznych obsłuży router X?

Każdy interfejs zajmuje minimalną ilość pamięci routera. Lista interfejsów przechowywana jest w tzw. IDB, czyli Interface DataBase. W zależności od wielkości routera, a także w mniejszym stopniu od wersji Cisco IOS na nim pracującego, pojemność tej bazy różni się. Aktualna lista znajduje się tutaj: http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_tech_note09186a0080094322.shtml

Na swoim routerze, ilość "wolnego miejsca" na dodatkowe interfejsy, możesz sprawdzić poleceniem `show idb':

router# show idb

Maximum number of Software IDBs 300.  In use 17.

                       HWIDBs     SWIDBs
Active                     13         13
Inactive                    4          4
Total IDBs                 17         17
Size each (bytes)        4648       1392
Total bytes             79016      23664

Powyższa informacja pochodzi z routera 1712 - widać, że router obsłuży do 300 interfejsów, z czego 17 jest już zajętych.


...aktualne obciążenie procesora?

Posługując się poleceniem `show processes cpu':

router# show processes cpu
CPU utilization for five seconds: 6%/2%; one minute: 6%; five minutes: 5%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1        1808       833       2170  0.00%  0.00%  0.00%   0 Chunk Manager
   2         140     90945          1  0.00%  0.00%  0.00%   0 Load Meter
[...]

Wartość podzielona (6%/2%) to:

Jak nietrudno się domyślić, pierwsza wartość minus druga wartość daje obciążenie procesora przez różnego rodzaju procesy działające na routerze (NAT, DHCP, obsługa IP, IPsec itp.).

Pozostałe dwie wartości z wydruku, to zgodnie z nazwą uśrednione obciążenie ogólne za poprzednią minutę i pięć minut.

Parę uwag co do wartości podzielonej (6%/2%):


...historyczne obciążenie procesora?

Posługując się poleceniem `show processes cpu history'. Router pokaże trzy wykresy: za ostatnią minutę, za ostatnią godzinę i za ostatnie 72 godziny. Oś X pokazuje upływający czas, oś Y obciążenie procesora (zgrubnie), a wartości u góry wykresu - dokładne obciążenie. Np.:

router# show processes cpu history

    3333333333444443333333333222244444444445555533333555553333
100
 90
 80
 70
 60
 50
 40
 30
 20
 10                                        *****     *****
   0....5....1....1....2....2....3....3....4....4....5....5....
             0    5    0    5    0    5    0    5    0    5
               CPU% per second (last 60 seconds)
               
[...]

...w liście procesów tylko te, zajmujące jakieś zasoby procesora?

W ten sposób:

router# show processes cpu | exclude 0.00%__0.00%__0.00%

CPU utilization for five seconds: 5%/1%; one minute: 4%; five minutes: 4%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   5      363736     51123       7114  0.00%  0.05%  0.05%   0 Check heaps
   9       34092     79729        427  0.07%  0.00%  0.00%   0 ARP Input
  24     3597724    451492       7968  2.00%  1.93%  1.94%   0 TTY Background
  29        9556     87956        108  0.07%  0.00%  0.00%   0 Net Input
  31      183808      7682      23927  0.00%  0.03%  0.00%   0 Per-minute Jobs
  40        5700      1894       3009  1.59%  0.29%  0.38%   6 SSH Process
  41     1092960   1344980        812  0.63%  0.32%  0.29%   0 IP Input
  59      228164    739184        308  0.07%  0.00%  0.00%   0 CEF process
  62       17884     98746        181  0.00%  0.01%  0.00%   0 IP-EIGRP: PDM
 116      223904   1800331        124  0.00%  0.05%  0.06%   0 COLLECT STAT COU
 126       13524      7591       1781  0.00%  0.01%  0.00%   0 SNMP ENGINE
 132       14680    295105         49  0.00%  0.03%  0.01%   0 IP-EIGRP: HELLO

...zajętość pamięci?

Listę procesów z podstawowymi informacjami można sprawdzić poleceniem:

 
router# show processes memory
Total: 78044960, Used: 13534380, Free: 64510580
 PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
   0   0     254908      55980    7590192          0          0 *Init*
   0   0        840      71100        840          0          0 *Sched*
   0   0   18419360    7879520      20080     252348          0 *Dead*
   1   0       3256          0      10100          0          0 Chunk Manager
   2   0        188        188       3844          0          0 Load Meter
   3 130    1288172    1196764     104264          0          0 SSH Process
   4   0        188        188       6844          0          0 fastblk backgrou
   5   0      65580          0      90424          0          0 EDDRI_MAIN
   6   0          0        536       6844          0          0 Check heaps
   7   0    9666440    7616660     619640    1091448    1447712 Pool Manager

Pierwsza linijka wydruku podaje informacje sumaryczne. Router ma ogólem 78MB pamięci użytecznej, z tego używa obecnie 13,5MB a wolne pozostaje 64MB.

Kolejne kolumny na liście to:

Natomiast bardziej konkretną informację, dotyczącą tylko pamięci, można uzyskać wydając polecenie show memory statistics:

router# show memory statistics
                Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
Processor   631920E0    78044960    13548532    64496428    64033028    63721760
      I/O    7C00000     4194304     2399272     1795032     1457520     1653884

Tutaj dodatkowo widać pamięć zarezerwowaną na operacje I/O (ang. Input/Output), czyli na komunikację z zainstalowanymi kartami interfejsów.


...objętość pamięci wykorzystywaną przez procesy routingu?

W ten sposób:

router# show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
IP routing table maximum-paths is 16
Route Source    Networks    Subnets     Overhead    Memory (bytes)
connected       0           4           288         544
static          32          2           2448        4624
eigrp 10        1           18          1368        2584
internal        2                                   2312
Total           35          24          4104        10064

W ostatniej kolumnie widać zajętość pamięci w bajtach. Zwróć jednak uwagę, że chodzi tylko o pamięć zajmowaną we wskazanej tablicy routingu (tutaj, Default-IP-Routing-Table(0), czyli tablica główna). Same procesy routingu mogą zajmować dużo więcej pamięci.


...jakie karty zainstalowano w routerze?

Jeśli wynik polecenia `show version' jest niewystarczający, możesz dodatkowo użyć polecenia `show diag'. Powinno ono zwrócić masę szczegółów dotyczących zainstalowanych i wykrytych poprawnie kart. Poniżej lista kart w routerze 1712:

router# show diag
Slot 0:
        C1712 1FE 4ESW Mainboard Port adapter, 6 ports
        [...]
        WIC/VIC Slot 0:
        4 Port FE Switch
        [...]
        Product (FRU) Number     : WIC-4ESW=

        WIC/VIC Slot 1:
        BRI S/T - 2186
        [...]
Slot 3:
        Virtual Private Network (VPN) Module Port adapter, 1 port
        [...]
        Product (FRU) Number     : MOD1700-VPN=

W nowszych IOSach pojawiło się również polecenie `show inventory', które dotyczy mniej danych technicznych, a bardziej po prostu faktycznego wyposażenia routera. Poniżej wynik działania tego polecenia na routerze 2650XM:

2650xm# show diag
NAME: "2650XM chassis",
 DESCR: "2650XM chassis, Hw Serial#: JAE01234ABC (12345678), Hw Revision: 0x200"
 PID: 2650XM            , VID: 0x200, SN: JAE01234RAU (12345678)

NAME: "2600 Chassis Slot 0", DESCR: "2600 Chassis Slot"
PID: 2600 Chassis Slot , VID:    , SN:

NAME: "C2600 Mainboard", DESCR: "C2600 Mainboard"
PID: C2600 Mainboard   , VID: 2.0, SN: 12345678

NAME: "DaughterCard Slot 0 on Card 0", DESCR: "2600 DaughterCard Slot"
PID: 2600 DaughterCard Slot, VID:    , SN:

NAME: "WAN Interface Card - Serial (1T)", DESCR: "WAN Interface Card - Serial (1T)"
PID: WAN Interface Card - Serial (1T), VID: 1.0, SN: 20512345

NAME: "Serial0/0", DESCR: "PowerQUICC Serial"
PID: PowerQUICC Serial , VID:    , SN:

NAME: "DaughterCard Slot 1 on Card 0", DESCR: "2600 DaughterCard Slot"
PID: 2600 DaughterCard Slot, VID:    , SN:

NAME: "AIM Container Slot 0", DESCR: "AIM Container Slot 0"
PID: AIM Container Slot 0, VID:    , SN:

NAME: "FastEthernet0/0", DESCR: "AmdFE"
PID: AmdFE             , VID:    , SN:

NAME: "2600 Chassis Slot 1", DESCR: "2600 Chassis Slot"
PID: 2600 Chassis Slot , VID:    , SN:

...jakie karty zainstalowano w przełączniku pracującym pod kontrolą CatOS?

Wydając polecenie:

switchc> show module

Mod Slot Ports Module-Type               Model               Sub Status
--- ---- ----- ------------------------- ------------------- --- --------
1   1    2     1000BaseX Supervisor      WS-X6K-SUP1A-2GE    yes ok
15  1    1     Multilayer Switch Feature WS-F6K-MSFC         no  ok
8   8    48    10/100BaseTX Ethernet     WS-X6248-RJ-45      no  ok
9   9    48    10/100BaseTX Ethernet     WS-X6348-RJ-45      yes ok

[...]

Mod Sub-Type                Sub-Model           Sub-Serial  Sub-Hw
--- ----------------------- ------------------- ----------- ------
1   L3 Switching Engine     WS-F6K-PFC          SAD03462981 1.0
9   Inline Power Module     WS-F6K-VPWR                     1.0

...co obsługuje dany feature-set?

Dobrym źródłem informacji, jaka dokładnie funkcjonalność znajduje się w konkretnym obrazie, jest Cisco Feature Navigator dostępny pod adresem: http://www.cisco.com/go/fn.

Niestety, dostępny jest tylko dla posiadaczy kont CCO.


...znając nazwę pliku Cisco IOS jaki to feature-set?

Dla IOSów od 9 do 12.2 istnieją pewne reguły, opisujące co znaczy konkretna literka w nazwie. Opisano je tutaj: http://www.cisco.com/en/US/products/sw/iosswrel/ios_abcs_ios_networking_the_enterprise0900aecd800a4e14.html.

Generalnie, nazwa pliku (np. c2600-i-mz.123-1a.bin) z Cisco IOS składa się z:

Poniżej spis literek, które oznaczają funkcjonalności:

i   - funkcjonalność "IP"
j   - funkcjonalność "Enterprise"
c   - funkcjonalność "Remote Access Server"
d   - funkcjonalność "IP/IPX/AT/DECnet"
p   - funkcjonalność "Service Provider"
y   - ograniczona funkcjonalność "IP" (bez Kerberosa, RADIUSa,
      NTP, OSPF, PIM, SMRP, NHRP itp.)

s   - funkcjonalność "Plus"
o   - funkcjonalność "Firewall"
o3  - funkcjonalność "Firewall/IDS"
x   - funkcjonalność "H.323"
n   - funkcjonalność "IPX"

k8  - obraz z szyfrowaniem CET/DES
56i - obraz z szyfrowaniem CET/DES dla obrazów na starsze platformy
k9  - obraz z szyfrowaniem CET/DES/3DES (i AES, od 12.2T/12.3)

Najczęściej spotykane funkcjonalności to:

-i-                   = IP only
-is-                  = IP Plus
-oy-                  = IP Firewall (na starsze platformy)
-io3-                 = IP/FW/IDS
-x-                   = IP H.323
-ik8s-                = IP Plus IPsec DES
-ik9s-                = IP Plus IPsec 3DES
-ik9o3s-              = IP/FW/IDS Plus IPsec 3DES
-k91p-                = Service Provider + SSH

Natomiast od linii 12.3 pojawiło się nowe, mające uporządkować wiele różnych (ponad 80) wersji funkcjonalności nazewnictwo. Większość funkcjonalności IP Plus weszła do obecnie podstawowego obrazu IP Base. Zaawansowane usługi bezpieczeństwa (firewall CBAC, IDS/IPS, VPNy) znajdują się teraz od feature-setu Advanced Security (od linii 12.4(4)T jest tu również protokół BGP). Funkcjonalność potrzebna w środowiskach dostawców usług znajduje się w pakiecie SP Services (m.in. protokół BGP, ale również obsługa głosu i CallManager Express). Dokładniejszy podział funkcjonalności znaleźć można w tym dokumencie:

http://www.cisco.com/en/US/products/sw/iosswrel/ps5460/index.html

Zmiany dotyczą również przełączników  na mniejszych Catalystach zanikają zatem funkcjonalności SMI/EMI (lub SI/EI dla przełączników L2) a pojawiają się LAN Base, Advanced IP Services itp.

...czy dana karta/moduł kompatybilna jest z danym routerem?

Dobrym źródłem informacji o wzajemnej kompatybilności jest Cisco Hardware-Software Matrix dostępny pod adresem: http://www.cisco.com/cgi-bin/front.x/Support/HWSWmatrix/hwswmatrix.cgi.

Niestety, dostępny jest tylko dla posiadaczy kont CCO.


...na którym porcie routera znajduje się urządzenie o danym adresie MAC lub IP?

Wystarczy, że wydasz polecenie `show ip arp aaaa.bbbb.cccc', gdzie ciąg aaaa.bbbb.cccc to szukany adres MAC, lub `show ip arp A.B.C.D', gdzie ciąg A.B.C.D to adres IP:

! dla adresu MAC:

router# show ip arp 0000.cd0f.4feb

Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.10.10           2   0000.cd0f.4feb  ARPA   FastEthernet0/0

! dla adresu IP:
     
router# show ip arp 192.168.10.10

Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.10.10           2   0000.cd0f.4feb  ARPA   FastEthernet0/0

...na którym porcie przełącznika Catalyst wpięto urządzenie o danym adresie MAC?

Jeśli na przełączniku zainstalowano IOS, wystarczy, że wydasz polecenie `show mac-address-table | include aaaa.bbbb.cccc', gdzie ciąg aaaa.bbbb.cccc to szukany adres MAC:

switch# show mac-address-table | include 0000.cd0f.4feb
   1    0000.cd0f.4feb    DYNAMIC     Fa0/24

Jak widać, urządzenie o tym adresie MAC wpięte jest do portu FastEthernet 0/24 na lokalnym przełączniku. Jeśli zamiast portu wskazany jest trunk - należy sprawdzić na kolejnym przełączniku, podłączonym do lokalnego wskazanym trunkiem.


...budżet mocy na modularnym przełączniku Catalyst?

Skorzystaj z kalkulatora dostępnego pod adresem http://www.cisco.com/go/powercalculator.


Rozdział 7. Wybór sprzętu pod konkretne zastosowanie

Jaki router wystarczy do małej sieci (10-15 użytkowników), w sytuacji, gdy Internet dochodzi do mnie Ethernetem?

Rzuć okiem na router serii 830 - konkretnie interesować Cię będzie model Cisco 831, lub nawet PIX 501/506E. Pamiętaj, że PIXy nie obsługują tuneli GRE czy funkcjonalności QoS.

Jeśli jednak będziesz chciał zapewnić sieci połączenie zapasowe, musisz spojrzeć na wyższe modele.


Jaki router wystarczy do małej sieci (10-15 użytkowników), w sytuacji, gdy Internet dochodzi do mnie stykiem V.35 (Polpak-T)?

Najmniejszy router Cisco, do którego podłączyć można V.35 to model 805. Problem polega na tym, że interfejs tego routera obsługuje taktowanie tylko do 512kbit/s, co oznacza, że nie nadaje się raczej do większości instalacji (np. Polpak-T zestawia się zwykle na prędkości 1 lub 2Mbit/s).

Jeśli zależy Ci na sprzęcie używanym (niska cena, ale pamiętaj o braku oficjalnego serwisu dla tego sprzętu!), rozejrzyj się na Allegro za routerami klasy 1601 czy 2503. Posiadają one zamontowane porty szeregowe i Ethernet, przy czym porty szeregowe mają styk DB-60. Do takiego routera potrzebujesz jeszcze kabla DTE V.35 (oryginalny kabel posiada oznaczenie CAB-V35MT). Problemem tego sprzętu jest mała wydajność - 2Mbit/s łącze obsłużą bez problemu, ale dodawanie nowej funkcjonalności (dużych list ACL, kontroli zawartości pakietów przez NBAR itp.) może znacznie zmniejszyć wydajność i spowodować rwanie się połączeń, czy problemy z ich nawiązaniem.

Najmniejszy router dostępny "z półki" to 1721, do którego w celu obsługi łącza z V.35 należy dołożyć kartę WIC-1T (jeden styk DB-60, kabel CAB-V35MT) lub WIC-2T (dwa styki Smart Serial, dwa kable CAB-SS-V35MT). Routery te posiadają obecnie standardowo po 64MB RAM i 32MB flash, co pozwala na rozbudowę w przyszłości o Cisco IOS z większą funkcjonalnością.

Jeśli myślisz o obsłudze dwóch równoległych łącz 2Mbit/s i będziesz kupował nowy router, już dzisiaj zastanów się nad routerami klasy 2600XM. Routery 2610XM, 2620XM i 2650XM posiadają po jednym FastEthernecie, a 2611XM, 2621XM i 2651XM po dwa FastEthernety. Poza nimi, konfiguracja sprzętowa jest taka sama: wszystkie posiadają jeden slot NM i dwa sloty WIC, plus slot AIM ukryty w obudowie. Routery różnią się wydajnością (2610XM/2611XM w granicach 20kpps, 2620XM/2621XM 30kpps i 2650XM/2651XM 40kpps) i domyślnie dostarczaną wielkością pamięci (2610/11/20/21XM mają po 64MB RAM i 32MB flash, 2650/51XM 128MB RAM i 32MB flash).


Jaki router wystarczy do małej sieci (10-15 użytkowników), w sytuacji, gdy chcemy bezpiecznie połączyć się VPNem do innej podobnej lokalizacji przez łącze zakończone Ethernetem?

Cisco przewidziało specjalnie do takich celów routery 1711/1712. W cenie symbolicznie tylko wyższej od podstawowego modelu 1721 otrzymujemy router z:

Warto zauważyć, że dzięki połączeniu VLAN-ów z oprogramowaniem Firewall da się nawet zaimplementować na tym urządzeniu prosty DMZ.

Oczywiście, jeśli takie połączenia VPN schodzą się w jakimś punkcie centralnym to musi się tam znajdować odpowiednio mocniejsze urządzenie terminujące tunele, np. koncentrator VPN, lub większy router z kartą VPN albo PIX z kartą VAC.


Mam dwa łącza od dwóch ISP i chciałbym uruchomić BGP. Jakiego routera powinienem użyć?

Generalnie, routing BGP można uruchomić nawet na routerach serii 800. Zakładamy jednak, że chodzi o instalacje z dużą siecią LAN, relatywnie dużym ruchem z i do Internetu (rzędu 4-200Mbit/s) oraz chęcią realizowania innych usług - filtrowania ruchu, NATowania itp.

Bezpiecznie będzie założyć, że potrzebujesz routera z serii 7200 - 7204VXR lub 7206VXR (odpowiednio 4 lub 6 slotów na karty interfejsów). W takim routerze powinna znaleźć się karta z procesorem sieciowym, w nomenklaturze Cisco oznaczana jako NPE. Aby uruchomić BGP i sensownie obsługiwać ruch, powinieneś obecnie wyposażyć się w moduł NPE-400 lub NPE-1G, względnie NSE-1. Karta NPE/NSE powinna mieć minimum 256MB RAM, jeśli chcesz otrzymywać pełne światowe tablice BGP.

Zajrzyj również do sekcji poświęconej routingowi BGP, aby uzyskać więcej informacji o działaniu tego protokołu, jego konfiguracji i innych zaleceniach.


Potrzebuję mały przełącznik Cisco, bez routingu

Najmniejsze obecnie w sprzedaży nieroutujące przełączniki, to seria 2950. Oferowane są w wersjach bez modułów GBIC (WS-C2950-12 i WS-C2950-24, odpowiednio 12 i 24 porty 10/100), oraz z slotami na dwa moduły GBIC (WS-C2950G-12, WS-C2950G-24 i WS-C2950G-48). Dostępne są również małe modele 2940, zawierające osiem portów 10/100BaseTX oraz albo jeden port 1000BaseTX (WS-C2940-8TT), albo jeden port 100BaseFX z możliwością zamiennie wykorzystania jednego modułu SFP (WS-C2940-8TF). Dodatkowo, w sprzedaży znajdują się wersje, które zamiast slotów na moduły GBIC, mają zabudowane porty na stałe. Są to:

Część przełączników może dodatkowo posiadać oprogramowanie w wersji EI (lub jest z nim sprzedawana). W porównania do standardowego SI, EI oznacza obsługę jednocześnie większej ilości VLANów (250 w porównaniu do standardowych 64), możliwość konfigurowania ograniczania pasma per port (tylko policing, nie ma shapingu), a także możliwość obsługi połączeń przez SSH (tylko w specjalnych wersjach "Crypto").

Niezależnie od wersji, przełączniki obsługują oprogramowanie CMS, czyli Cluster Management Suite, które rezyduje w pamięci flash przełącznika i umożliwia zarządzanie nim za pomocą graficznego interfejsu użytkownika.

W sprzedaży znajduje się również model 2970, który ma architekturę zbliżoną do 2950, ale wyposażony jest w 24 porty 10/100/1000BaseTX + w jednej z wersji, w uplinki GBIC.


Potrzebuję przełącznik Cisco potrafiący realizować routing

Przełączniki niemodularne

Jeśli chodzi o przełączniki niemodularne, to w sprzedaży znajdują się przełączniki 3550 i 3750. Obie rodziny realizują routing IP z maksymalną prędkością na wszystkich portach (tzw. wire-speed). Dodatkowo mają możliwość filtrowania ruchu (zarówno wg adresów MAC i adresów IP, z dokładnością do portów TCP/UDP).

Oba modele obsługują dwie linie oprogramowania - SMI (Standard Multilayer Image) i EMI (Enhanced Multilayer Image). Wersja SMI zawiera routing IP statyczny oraz RIP obu wersji, w wersji EMI otrzymujemy dodatkowo IGRP, OSPF i EIGRP (dla 3550 dodatkowo BGP).

Więcej o przełącznikach 3550 możesz poczytać tu: http://www.cisco.com/go/cat3550 a o 3750 tutaj: http://www.cisco.com/go/cat3750.


Przełączniki modularne

Natomiast jeśli potrzebujesz modularny przełącznik, obecnie Cisco sprzedaje serie 4500 oraz 6500. 4500 jest "zeskalowaną w dół" wersją 6500, ale oferuje zarówno porty 10/100BaseTX, 100BaseFX jak i gigabit we wszystkich standardach oraz realizuje większość funkcjonalności rodziny 6500. Niestety nadal karty 10GbE dostępne są tylko dla 6500/7600 (montaż takiej karty w 4500 nie ma sensu, każdy moduł ma zarezerwowane tylko 6Gbit/s do i z modułu zarządzającego). Więcej informacji o przełącznikach 4500 znajdziesz tutaj: http://www.cisco.com/go/cat4000, a o rodzinie 6500 tutaj: http://www.cisco.com/en/US/products/hw/switches/ps708/index.html.


Czy Cisco sprzedaje tzw. "firewalle sprzętowe"?

Tak, nazywają się Cisco PIX (ang. Private Internet eXchange). Oferowane są od modelów 501 i 506E (bez możliwości rozbudowy), przez 515, 525 do 535 (z modułami GigabitEthernet) do karty realizującej ścianę ogniową w przełącznikach Catalyst 6500 (karta nazywa się FWSM, a jej P/N handlowy to: WS-SVC-FWM-1-K9=). PIXy dedykowane są w stanie filtrować ruch do 1,7Gbit/s (pakiety 1400 bajtowe, PIX-535UR), natomiast karta do Catalysta ma przepustowość do 5,5Gbit/s.

PIXy obsługują programowe i sprzętowe (dodatkowa karta do modeli 515/525/535) szyfrowanie IPsec dla DES/3DES/AES (ten ostatni od PIX OS 6.3), oraz terminowanie tuneli L2TP i PPTP. Również od wersji 6 pojawiła się możliwość realizowania VLANów na PIXach (w standardzie 802.1Q, od modelu 515).

Więcej o PIXach znajdziesz pod adresem: http://www.cisco.com/go/pix.


Czy Cisco sprzedaje sprzęt do budowy sieci bezprzewodowych?

Tak, jest to seria produktów Cisco Aironet. Obecnie w sprzedaży znajdują się:

Więcej o produktach bezprzewodowych możesz przeczytać pod adresem: http://www.cisco.com/go/wireless.


Rozdział 8. Jak skonfigurować router do...

...usługi transmisji danych w sieci Polpak-T?

Zakładając, że posiadasz kabel i wszystko odpowiednio podłączyłeś, poniżej gotowiec konfiguracji.

Przyjęto, że interesuje Cię podstawowa konfiguracja, bez dodatkowej funkcjonalności spotykanej tylko na niektórych routerach (firewall, IDS, wymyślne filtrowanie czy uwierzytelnianie).

Podsieć między Twoim routerem a routerem ISP to 169.254.1.0/30 (169.254.1.1 to adres routera ISP, 169.254.1.2 to adres Twojego routera), sieć LAN ma adresację 192.168.0.0/24, przy czym interfejs Ethernet Twojego routera ma adres 192.168.0.1 i jest dla tej sieci domyślną bramką.

Dodatkowo, sieć LAN wychodzi do Internetu z adresem publicznym routera (169.254.1.2), a interfejs Frame Relay ma DLCI równe 99.

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
!
hostname rtr_cisco
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
!
interface Ethernet0
 description Polaczenie dla sieci LAN
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
!
interface Serial0
 description Konfiguracja fizycznego interfejsu szeregowego
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type ansi
!
interface Serial0.1 point-to-point
 description Polaczenie Polpak-T do Internetu 2Mbit
 ip address 169.254.1.2 255.255.255.252
 frame-relay interface-dlci 99 IETF  
 ip nat outside 
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0.1
no ip http server
!
ip nat inside source list 100 interface Serial 0.1 overload
!
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
access-list 100 deny ip any any
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

...InternetDSL lub innego dostawcy oferującego styk Ethernet?

Zakładając, że posiadasz kabel i dwa interfejsy Ethernet/FastEthernet na routerze, oraz wszystko odpowiednio podłączyłeś, poniżej gotowiec konfiguracji.

UWAGA: możesz spiąć styk Ethernet dostawcy z interfejsem Ethernet/FastEthernet na swoim routerze pod warunkiem, że użyjesz kabla skrosowanego!

Przyjęto, że interesuje Cię podstawowa konfiguracja, bez dodatkowej funkcjonalności spotykanej tylko na niektórych routerach (firewall, IDS, wymyślne filtrowanie czy uwierzytelnianie).

Podsieć między Twoim routerem a routerem ISP to 169.254.1.0/30 (169.254.1.1 to adres routera ISP, 169.254.1.2 to adres Twojego routera), sieć LAN ma adresację 192.168.0.0/24, przy czym interfejs Ethernet Twojego routera ma adres 192.168.0.1 i jest dla tej sieci domyślną bramką.

Dodatkowo, sieć LAN wychodzi do Internetu z adresem publicznym routera (169.254.1.2).

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
!
hostname rtr_cisco
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
!
interface Ethernet0
 description Polaczenie dla sieci LAN
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
!
interface Ethernet1
 description Polaczenie dla sieci Internet
 ip address 169.254.1.2 255.255.255.252
 ip nat outside
!
ip classless
ip route 0.0.0.0 0.0.0.0 169.254.1.1
no ip http server
!
ip nat inside source list 100 interface Ethernet 1 overload
!
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
access-list 100 deny ip any any
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

...usługi SDI/CDI?

SDI/CDI można do routera Cisco podłączyć na dwa sposoby: do portu AUX routera (niepolecane, obciąża mocno procesor) lub do interfejs asynchronicznego.

Na mniejszych routerach (klasy 1700) port asynchroniczny znajduje się na karcie WIC-2A/S. Dodatkowo, ale tylko na platformie 1700, w tryb asynchroniczny można ustawić porty na karcie WIC-2T (lub jedyny port na karcie WIC-1T) - w konfiguracji interfejsu dodając polecenie physical layer async.

UWAGA: możesz spiąć styk Ethernet dostawcy z interfejsem Ethernet/FastEthernet na swoim routerze pod warunkiem, że użyjesz kabla skrosowanego!

Przyjęto, że interesuje Cię podstawowa konfiguracja, bez dodatkowej funkcjonalności spotykanej tylko na niektórych routerach (firewall, IDS, wymyślne filtrowanie czy uwierzytelnianie).

Zarówno w usłudze SDI jak i CDI router musi w ramach połączenia PPP uwierzytelnić się - login i hasło otrzymałeś od dostawcy. Sieć LAN ma adresację 192.168.0.0/24, przy czym interfejs Ethernet routera ma adres 192.168.0.1 i jest domyślną bramką dla sieci. Sieć LAN używa oczywiście w łączności z Internetem adresu publicznego przypisanego routerowi.

W poniższej konfiguracji zakładamy, że używasz karty WIC-1T lub pierwszego portu z karty WIC-2T.

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
!
hostname rtr_cisco
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
!
interface Ethernet0
 description Polaczenie dla sieci LAN
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
!
interface Serial0
 description Polaczenie SDI
 physical-layer async
 ip address negotiated
 no ip directed-broadcast
 ip nat outside
 encapsulation ppp
 async mode dedicated
 no cdp enable
 ppp pap sent-username nazwa_uzytkownika_sdi password haslo_uzyt_sdi
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial 0
no ip http server
!
ip nat inside source list 100 interface Serial 0 overload
!
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
access-list 100 deny ip any any
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

...usługi Neostrada+?

Zakładam, że chodzi o Neostradę zakończoną stykiem ADSL. Odpowiednie routery Cisco do takiej konfiguracji, to np. Cisco 837 - który ma zabudowane na stałe styk ADSL, lub Cisco 1700 czy 2600 z modułem WIC-1ADSL. Zakładając, że posiadasz kabel i wszystko odpowiednio podłączyłeś, poniżej gotowiec konfiguracji.

Przyjęto, że interesuje Cię podstawowa konfiguracja, bez dodatkowej funkcjonalności spotykanej tylko na niektórych routerach (firewall, IDS, wymyślne filtrowanie czy uwierzytelnianie).

Adres publiczny przydzielany jest dynamicznie przy każdym połączeniu, sieć LAN ma adresację 192.168.0.0/24, przy czym interfejs Ethernet Twojego routera ma adres 192.168.0.1 i jest dla tej sieci domyślną bramką.

Sieć LAN wychodzi do Internetu z dynamicznie przyznanym adresem IP.

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
!
hostname rtr_cisco
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
!
ip dhcp excluded-address 192.168.0.1
!
ip dhcp pool CLIENT
   import all
   network 192.168.0.0 255.255.255.0
   default-router 192.168.0.1 
   dns-server 194.204.159.1 194.204.152.34 
   lease 0 2
!
interface Ethernet0
 description Polaczenie dla sieci LAN
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
!
interface ATM0
 description Polaczenie ADSL do ISP
 no ip address
 no atm ilmi-keepalive
 pvc 0/35 
  encapsulation aal5mux ppp dialer
  dialer pool-member 1
 !
 dsl operating-mode auto
 hold-queue 224 in
!
interface Dialer0
 description Interfejs dzwoniacy
 ip address negotiated
 ip nat outside
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 ppp chap hostname login@neostrada.pl
 ppp chap password 0 twoje_haslo_do_neo+
!
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer 0
no ip http server
!
ip nat inside source list 100 interface Dialer 0 overload
!
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
access-list 100 deny ip any any
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

...do Neostrady+ ale dla routera Cisco 677?

Przyjęto, że interesuje Cię podstawowa konfiguracja, bez dodatkowej funkcjonalności spotykanej tylko na niektórych routerach (firewall, IDS, wymyślne filtrowanie czy uwierzytelnianie).

Adres publiczny przydzielany jest dynamicznie przy każdym połączeniu, sieć LAN ma adresację 192.168.0.0/24, przy czym interfejs Ethernet Twojego routera ma adres 192.168.0.1 i jest dla tej sieci domyślną bramką.

Sieć LAN wychodzi do Internetu z dynamicznie przyznanym adresem IP.

cbos> enable
cbos# set password enable haslo_do_enable
cbos# set password exec haslo_do_telneta
cbos# set web enabled
cbos# set telnet enabled
cbos# set int eth0 address 192.168.0.1
cbos# set int eth0 netmask 255.255.255.0

cbos# set ppp wan0-0 login username_neostrada
cbos# set ppp wan0-0 password haslo_neostrada
cbos# set ppp wan0-0 ipcp 0.0.0.0
cbos# set ppp restart enabled

cbos# set dhcp server enabled
cbos# set dhcp server pool 0 ip 192.168.0.11
cbos# set dhcp server pool 0 size 200
cbos# set dhcp server pool 0 netmask 255.255.255.0
cbos# set dhcp server pool 0 gateway 192.168.0.1
cbos# set dhcp server pool 0 dns 194.204.159.1
cbos# set dhcp server pool 0 sdns 194.204.152.34
cbos# set nat enabled

cbos# set int wan0-0 close
cbos# set int wan0-0 vpi 0
cbos# set int wan0-0 vci 35
cbos# set int wan0-0 open
cbos# set route default wan0-0

cbos# write

...połączenia kablami V.35 dwóch routerów Frame Relay?

Jeśli chcesz zasymulować połączenie Frame Relay, posiadając dwa routery z odpowiednimi interfejsami i okablowaniem - nic prostszego. Jeden z nich będzie emulował przełącznik Frame Relay, a drugi "zwykły" router.

Na routerze emulującym przełącznik interfejs szeregowy skonfiguruj w ten sposób:

!
frame-relay switching
!
interface Serial0
 description Emulacja 2Mbit/s FR - strona przelacznika
 no ip address
 encapsulation frame-relay IETF
 no ip mroute-cache
 clockrate 2000000
 frame-relay lmi-type ansi
 frame-relay intf-type dce
!
interface Serial0/1.1 point-to-point
 description Emulacja 2Mbit/s FR - do routera FR
 ip address 169.254.10.1 255.255.255.252
 frame-relay interface-dlci 99 

Parametr `clockrate 2000000' decyduje o taktowaniu łącza - w powyższym przykładzie są to 2Mbit/s.

Konfiguracja routera do niego podłączonego:

interface Serial0
 description Polaczenie FR 2Mbit/s
 no ip address
 encapsulation frame-relay IETF
 no ip mroute-cache
 frame-relay lmi-type ansi
!
interface Serial0/1.1 point-to-point
 description Polaczenie FR 2Mbit/s - do ISP
 ip address 169.254.10.2 255.255.255.252
 frame-relay interface-dlci 99 

...obsługi dwóch równoległych łącz od niezależnych ISP?

Jest to bardzo popularny scenariusz. Załóżmy, że posiadasz dwa łącza: jedno Frame Relay i jedno Ethernet. Do obu dostałeś adresy połączeniowe (styk Twój router-router ISP) oraz adresy do użycia w ramach NATu.

Pierwszy dostawca przydzielił Ci adres połączeniowy 169.254.10.2/30 (jego router ma dla Ciebie adres 169.254.10.1), oraz zakres adresów 172.16.10.1-172.16.10.14 (172.16.10.0/28).

Drugi dostawca przydzielił Ci adres połączeniowy 169.254.20.2/30 (jego router ma dla Ciebie adres 169.254.20.1), oraz zakres adresów 172.16.20.1-172.16.20.14 (172.16.20.0/28).

W swojej sieci LAN (192.168.0.0/24), chcesz pierwszą połowę sieci NATować na pierwsze łącze, a drugą połowę na drugie łącze.

Notatka: Niestety, stosując statyczny mechanizm routingu wg zasad (ang. policy based routing), nie masz możliwości automatycznemu przeciwdziałaniu awarii łącza lub sieci ISP - tj. jeśli zawiedzie któreś z łącz, ruch generowany od jednej z połówek sieci LAN będzie po prostu odrzucany.

Poniżej konfiguracja przykładowa routera, uwzględniająca powyższe założenia:

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
!
hostname rtr_cisco
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
!
interface Ethernet0
 description Polaczenie dla sieci LAN
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
 ip policy route-map ruch_z_lan
!
interface Ethernet1
 description Lacze od ISP #1
 ip address 169.254.10.2 255.255.255.252
 ip nat outside
!
interface Serial0
 description Lacze od ISP #2
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type ansi
!
interface Serial0.1 point-to-point
 description Lacze do Internetu 2Mbit/s
 ip address 169.254.20.2 255.255.255.252
 frame-relay interface-dlci 99 IETF  
 ip nat outside 
!
ip classless
ip route 0.0.0.0 0.0.0.0 169.254.10.1
no ip http server
!
ip nat pool ISP1 172.16.10.1 172.16.10.14 netmask 255.255.255.240
ip nat pool ISP2 172.16.20.1 172.16.20.14 netmask 255.255.255.240
!
ip nat inside source list 1polowkaLAN pool ISP1 overload
ip nat inside source list 2polowkaLAN pool ISP2 overload
!
ip access-list extended 1polowkaLAN
 permit ip 192.168.0.0 0.0.0.127 any
ip access-list extended 2polowkaLAN
 permit ip 192.168.0.128 0.0.0.127 any
!
route-map ruch_z_lan permit 10
 match ip address 2polowkaLAN
 set ip next-hop 169.254.20.1
!
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

Jak to działa? Do interfejsu Ethernet0 dociera ruch z sieci LAN, adresowany do Internetu. Route-mapa ruch_z_lan sprawdza, czy pakiet nie pasuje do ACL 2polowkaLAN. Jeśli pakiet pasuje, wpis w route-mapie mówi, że należy go wyroutować przez adres, dla którego następnym "hopem" będzie 169.254.20.1, czyli interfejs Serial0.1 (podsieć 169.254.20.0/30). Jeśli nie pasuje, route-mapa kończy testy i przekazuje pakiet do normalnego procesu routingu. W tablicy routingu znajduje się tylko jeden wpis statyczny - trasa wskazuje na pierwsze łącze:

ip route 0.0.0.0 0.0.0.0 169.254.10.1

Ponieważ w trakcie podróży, pakiet przechodzi pomiędzy interfejsem oznaczonym jako ip nat inside (interfejs Ethernet0) a jednym z dwóch interfejsów oznaczonych jako ip nat outside wykonywany jest NAT.

O kolejności sprawdzania na jaki zakres adresów zNATować pakiet, decyduje kolejność wpisów ip nat inside [...]. W naszej konfiguracji są dwa:

ip nat inside source list 1polowkaLAN pool ISP1 overload
ip nat inside source list 2polowkaLAN pool ISP2 overload

Wpisy te wprost mówią: pakiety z adresami źródłowymi pasującymi do ACL o nazwie 1polowkaLAN mają zostać zNATowane na adresy z puli ISP1, a pakiety z adresami źródłowymi pasującymi do 2polowkaLAN na pulę adresów ISP2.

Notatka: Warto zwrócić uwagę, że ruch można rozkładać nie tylko ze względu na adres/podsieć IP. Mógłbyś na przykład zechcieć kierować ruch dla typowych usług kierować na jedno łącze, a całą resztę na drugie - dzięki temu, użytkownicy popularnych aplikacji P2P, czy namiętni ściągacze wszystkiego co tylko można za pomocą FTP nie będą przeszkadzać czytającym pocztę.
Musisz zmienić ACLkę 2polowkaLAN:
ip access-list extended 2polowkaLAN
 permit tcp 192.168.0.0 0.0.0.255 any eq 22
 permit tcp 192.168.0.0 0.0.0.255 any eq 23
 permit tcp 192.168.0.0 0.0.0.255 any eq 25
 permit udp 192.168.0.0 0.0.0.255 any eq 53
 permit tcp 192.168.0.0 0.0.0.255 any eq 80
 permit tcp 192.168.0.0 0.0.0.255 any eq 110
 permit tcp 192.168.0.0 0.0.0.255 any eq 143
 permit tcp 192.168.0.0 0.0.0.255 any eq 445
 permit tcp 192.168.0.0 0.0.0.255 any eq 465
 permit tcp 192.168.0.0 0.0.0.255 any eq 993
 permit tcp 192.168.0.0 0.0.0.255 any eq 995
 permit icmp 192.168.0.0 0.0.0.255 any
Teraz ruch do serwerów popularnych usług oraz ruch ICMP będzie wychodził łączem, na które wskazuje route-mapa ruch_z_lan, a całą resztę ruchu router skieruje tam gdzie wskazuje zwykły wpis w tablicy routingu.

A co jeśli mam więcej łącz - na przykład 3?

Musisz dodać kolejne wpisy w route-mapie, wskazujące dla jakiegoś unikalnego typu ruchu kolejne interfejsy.


A co z lokalnym ruchem do/z routera?

W zasadzie całą konfigurację routingu można wykonać za pomocą routingu wg zasad (bez statycznego wpisu w tablicy routingu dotyczącego trasy domyślnej), ale wtedy musisz dodatkowo określić politykę dla tzw. ruchu lokalnego, czyli ruchu do/z routera.

Poniżej taki przykład - do konfiguracji z przykładu powyżej dodajemy definicję route-mapy, która kieruje ruch lokalny na oba łącza w zależności od tego, ruchu do jakiego IP dotyczył. Innymi słowy, jeśli ktoś np. spinguje Twój drugi interfejs, pasować będzie dopiero drugi wpis w route-mapie (RuchLokalny permit 20) i dopiero on spowoduje skierowanie pakietu odpowiedzi drugim łączem.

ip local policy route-map RuchLokalny
!
! dodajemy route-mapę dla ruchu lokalnego - jeśli robisz to zdalnie,
! powyższą komendę dodaj NA KOŃCU!
!
route-map RuchLokalny permit 10
 match ip address 100 
 set ip next-hop 169.254.10.1
 ! cały ruch pasujący do ACL 10 przerzuć na interfejs, dla którego następnym
 ! "hopem" jest 169.254.10.1 i zakończ sprawdzanie route-mapy
!
route-map RuchLokalny permit 20
 match ip address 101
 set ip next-hop 169.254.20.1
 ! jeśli tu doszedłeś, cały ruch pasujący do ACL 10 przerzuć na interfejs,
 ! dla którego następnym "hopem" jest 169.254.20.1
!
ip access-list extended 100
 remark ACL pasuje do ruchu do puli łącza ISP #1
 permit ip any 169.254.10.0 255.255.255.252
ip access-list extended 101
 remark ACL pasuje do ruchu do puli łącza ISP #2
 permit ip any 169.254.20.0 255.255.255.252

W tym momencie, możesz usunąć z routera wpis statyczny domyślnego routingu, wskazujący na pierwsze łącze.


....eksportu danych NetFlow?

Jeśli chcesz zbierać informacje o strumieniach danych przepływających przez router, możesz skorzystać z mechanizmu NetFlow i zewnętrznego systemu, który dane te przerobi i np. przedstawi graficznie.

Pamiętaj, że na większości małych platform eksport danych NetFlow powoduje znaczny wzrost obciążenia routera - przemyśl to zatem.

Z punktu widzenia routera należy wykonać następujące polecenia:

! Włączamy CEF:

router(config)# ip cef

! Konfigurujemy mechanizm NetFlow:

router(config)# ip flow-export version 5 peer-as
! używamy wersji 5 NetFlow, większość kolektorów obsługuje poprawnie
! tylko ten format

router(config)# ip flow-export source-interface FastEthernet 0/0
! wskazujemy interfejs najbliższy sieci w której znajduje się kolektor,
! najlepiej oczywiście gdyby był to interfejs bezpośrednio do tej sieci
! podłączony

router(config)# ip flow-export destination adres_IP port_docelowy
! wskazujemy adres IP kolektora i port docelowy, na którym będzie on nasłuchiwał

! Dla IOSów 12.2/12.3:
router(config)# ip flow-cache timeout active 1
! a dla IOSów 12.0/12.1:
router(config)# ip flow-cache active-timeout 1

! Na każdym interfejsie, z którego ruch ma wchodzić w skład
! zbieranych statystyk:
router(config-if)# ip route-cache flow

Więcej o mechaniźmie NetFlow przeczytać możesz tutaj: http://www.cisco.com/go/netflow. Jeśli natomiast chcesz skonfigurować stację odbierającą informacje z routera, zajrzyj pod te adresy: http://www.linuxgeek.org/netflow-howto.php i http://www.ncne.org/training/techs/2002/0127/presentations/200201-fullmer1_files/v3_document.htm.


...routingu pomiędzy VLANami na kartach WIC-4ESW, NM-16ESW lub NM-32ESW?

Wspomniane karty są przełącznikami L2, ale dzięki możliwości stworzenia na routerze logicznych interfejsów VLAN, można stworzyć mapowanie warstwy drugiej (VLAN przypisany do portu) na warstwę trzecią (adres IP przypisany do logicznego interfejsu o numeracji zgodnej z numerem VLANu).

Oba rodzaje modułów wymagają oprogramowania IP Plus - o ile w routerach 1711 i 1712 w których skład wchodzi moduł WIC-4ESW oprogramowanie to znajduje się "w zestawie" o tyle do pozostałych routerów, na których moduły te są obsługiwane (WIC-4ESW dla 1721/1751/1760, oraz moduły NM-16ESW i NM-32ESW dla serii 2600, 3600 i 3700) należy to oprogramowanie dokupić.

Konfigurację należy rozpocząć od zdefiniowania w bazie danych VLANów konkretnych VLANów, które chcemy założyć. Zakładam, że naszym celem jest stworzenie dwóch VLANów - 10 i 20:

router# vlan database
router(vlan)# vlan 10 name Siec1
VLAN 10 added:
    Name: Siec1
router(vlan)# vlan 20 name Siec2
VLAN 20 added:
    Name: Siec2
router(vlan)# exit
APPLY completed.
Exiting....
router#   

Teraz należy fizyczne porty na przełączniku przypisać do jednego z tych dwóch VLANów - 10 lub 20. Zakładam, że pierwsze dwa porty przypisujemy do 10, a pozostałe dwa do 20:

router(config)# interface range FastEthernet 0/0 - 1
router(config-if-range)# switchport mode access
router(config-if-range)# switchport access vlan 10
router(config-if-range)# exit
router(config)# interface range FastEthernet 0/2 - 3
router(config-if-range)# switchport mode access
router(config-if-range)# switchport access vlan 20

Pozostaje stworzyć logiczne interfejsy VLAN10 i VLAN20, do których przypiszemy adresy IP (i które będą dla stacji w odpowiednich VLANach domyślnymi bramkami). Zakładam, że sieć VLAN10 ma adresację 192.168.10.0/24 przy czym .1 to adres routera, a VLAN20 ma adresację 192.168.20.0/24 przy czym .1 to adres routera.

router(config)# interface vlan 10
router(config-if)# ip address 192.168.10.1 255.255.255.0
router(config-if)# no shutdown
router(config)# interface vlan 20
router(config-if)# ip address 192.168.20.1 255.255.255.0
router(config-if)# no shutdown

Do tak stworzonych logicznych interfejsów VLAN x można przypisać oczywiście ACLki, inspecty, route-mapy itp.


Rozdział 9. Routing

Mam na routerze dwa interfejsy z nadanymi adresami IP, ale router nie chce routować między nimi. O co chodzi?

Należy wydać polecenie `ip routing'.


Jak wskazać routerowi domyślną bramkę?

Dodając trasę w ten sposób:

router(config)# ip route 0.0.0.0 0.0.0.0 adres_bramki
 lub
router(config)# ip route 0.0.0.0 0.0.0.0 nazwa_interfejsu_do_bramki

Innymi słowy, jeśli cały ruch ma trafiać pod adres 169.254.10.1, napisz:

router(config)# ip route 0.0.0.0 0.0.0.0 169.254.10.1

...a jeśli adres bramki jest zmienny (np. Neostrada+), wskaż interfejs odpowiedzialny za terminowanie IP, czyli np.:

router(config)# ip route 0.0.0.0 0.0.0.0 Dialer 0

UWAGA! Jeśli wpis ma wskazywać na interfejs Ethernet, powinieneś podać adres IP bramki! Wpisanie nazwy interfejsu może nie zadziałać tak, jak chciałeś.


Na jednym routerze mam wiele różnych protokołów routingu. Informacje którego z nich, znajdą się w tablicy routingu?

Informacje podawane przez protokół, który ma najmniejszy dystans administracyjny (ang. administrative distance). Jest to miara "wiarygodności" danych, podawanych przez konkretny protokół routingu.

Poniżej lista rodzajów tras i ich dystansów administracyjnych - ta o najniższej wartości znajdzie się w tablicy routingu i będzie używana:

trasa podłączona                           0
trasa wpisana statycznie                   1
trasa sumaryczna EIGRP                     5
trasa pozyskana z eBGP                     20
trasa pozyskana z internal EIGRP           90
trasa pozyskana z IGRP                     100
trasa pozyskana z OSPF                     110
trasa pozyskana z IS-IS                    115
trasa pozyskana z RIP                      120
trasa pozyskana z external EIGRP           170
trasa pozyskana z iBGP                     200

Jak przebiega proces routingu na routerach Cisco? Co jest brane pod uwagę?

W procesie routingu uczestniczą trzy niezależne od siebie zagadnienia:

Generalnie obowiązuje zasada, że najdokładniejszy wpis w tablicy routingu zwycięża, tj. najdłuższy pasujący prefiks do danej sieci ma pierwszeństwo nad bardziej ogólnymi. Jeśli pakiet przeznaczony jest do hosta o adresie 10.1.10.5, a w tablicy routingu istnieją dwa wpisy: do sieci 10.1.10.0/24 i do sieci 10.0.0.0/16, użyty zostanie ten pierwszy.

Procesy routingu dostarczają tablicy routingu najlepszych tras, zachowując dla siebie trasy o gorszych metrykach - czyli miarach "wartości" danej trasy. Decyzja co wpisać do tablicy routingu, jeśli wiele procesów posiada trasę do jednej sieci, podejmuje się na podstawie dystansu administracyjnego (można go dla danego protokołu zmienić). W ramach tego samego protokołu routingu, w tablicy routingu mogą pojawić się równoległe trasy, jeśli wynika to wprost z konfiguracji, lub metryki tych tras są sobie równe (nie myl dystansu administracyjnego i metryk!)

Doskonały artykuł na ten temat znajduje się tutaj: http://www.cisco.com/en/US/tech/tk365/tk207/technologies_tech_note09186a0080094823.shtml.


Co to jest trasa pływająca (ang. floating route)?

Tras pływających używa się do uruchamiania łącz zapasowych. Wykorzystują one zasadę działania tablicy routingu - tylko wpis o najlepszym dystansie administracyjnym znajdzie się w tablicy. Wpisy o gorszym dystansie czekają na zniknięcie lub unieważnienie lepszego wpisu.

Załóżmy, że posiadasz router z interfejsem szeregowym (Serial 0) i ISDN. Chciałbyś wykorzystywać łącze ISDN ale tylko wtedy, gdy trasa przez łącze szeregowe nie działa. Wystarczy, że zdefiniujesz dwa wpisy o bramce domyślnej - jeden wskazujący na interfejs szeregowy, a drugi na interfejs ISDN (Dialer), ale o znacznie gorszej metryce. Pamiętaj, że trasy statyczne mają domyślnie metrykę 1:

router(config)# ip route 0.0.0.0 0.0.0.0 Serial 0
router(config)# ip route 0.0.0.0 0.0.0.0 Dialer 1 200

Podczas normalnej pracy (interejs szeregowy działa) w tablicy znajduje się tylko wpis wskazujący na interfejs Serial 0. Jeśli interfejs ten zmieni stan na down, wpis zostanie wycofany z tablicy routingu i router sprawdzi, czy do tej sieci nie prowadzi inny wpis - w naszym przypadku będzie taki, wskazujący na interfejs Dialer 1. Po pewnym czasie, interfejs szeregowy zapewne znowu się podniesie - router znowu sprawdzi tablicę routingu i zamieni wpis wskazujący na Dialer 1 na wpis wskazujący na Serial 0, ponieważ ten ostatni ma lepszą metrykę. Zwykle od tego momentu interfejs ISDN nie przenosi już ruchu i po upłynięciu skonfigurowanego czasu bezczynności zostanie zamknięty.


Chcę rozkładać obciążenie pomiędzy trasy o równej metryce. Jak wygląda konfiguracja tego w IOSie?

Domyślnie, router instaluje w tablicy routingu do 4 tras o tej samej metryce - z wyjątkiem BGP (domyślnie 1) i tras statycznych (do sześciu). Jeśli chcesz to zmienić, w konfiguracji protokołu routingu wydaj polecenie `maximum-paths X', gdzie X to liczba od 1 do 6:

! Dla OSPF:

router(config)# router ospf 10
router(config-router)# maximum-paths 6

! Dla EIGRP:

router(config)# router eigrp 10
router(config-router)# maximum-paths 6

! Dla BGP:

router(config)# router bgp 10
router(config-router)# maximum-paths 6
! dodatkowo dla iBGP:
router(config-router)# maximum-paths ibgp 6

Pamiętaj, że jeśli zmieniasz domyślne ustawienia musisz wiedzieć, co robisz.


Chcę rozkładać obciążenie pomiędzy trasy o równej metryce w proporcji 1:2 - jak to zrobić?

Dopisz odpowiednio więcej tras do tej samej sieci. W przykładzie poniżej preferujemy łącze przez Serial 1, Serial 0 obsługuje tylko 1/3 ruchu:

router(config)# ip route 0.0.0.0 0.0.0.0 Serial 1
router(config)# ip route 0.0.0.0 0.0.0.0 Serial 1
router(config)# ip route 0.0.0.0 0.0.0.0 Serial 0

Czym się różni protokół routingu typu link-state od distance-vector?

Protokoły routingu typu link-state (łącze-stan), czyli OSPF, NSLP, BGP i IS-IS, opierają swoje działanie o przesyłanie uaktualnień do tablic routingu. Informacje przesyłane są pomiędzy routerami które w jakiś sposób nawiązały ze sobą sąsiedztwo. Do określenia metryki używa się zwykle wielu złożonych czynników. Protokoły tego typu działają w oparciu o algorytmy SPF (ang. Shortest Path First), takie jak np. algorytm Dijkstry.

Protokoły routingu typu distance-vector (dystans-wektor) takie jak RIP, RTMP czy IGRP wymieniają się pełnymi tablicami routingu co określone odcinki czasu. Do obliczania metryki trasy używa się algorytmu Bellmana-Forda.

Protokół hybrydowy, EIGRP (firmowy Cisco), nazywany jest tak, ponieważ co prawda wylicza metryki tras podobnie do protokołu IGRP, ale utrzymuje sąsiedztwa i wysyła tylko uaktualnienia jak protokoły typu link-state.


W jaki sposób protokoły typu dystans-wektor zapobiegają tworzeniu pętli?

Protokoły routingu typu dystans-wektor, używają paru mechanizmów, zapobiegających wadliwemu interpretowaniu otrzymywanych informacji, lub wstrzymujących rozpowszechnianie pewnych informacji. Są to:

Mechanizm split-horizon (dosłownie podzielony horyzont)
Router rozgłasza na danym łączu tylko takie trasy, o których dowiedział się z rozgłoszeń z innych łącz. Zapobiega to sytuacji, w której router "A" po otrzymaniu z routera "B" informacji o trasie "X", rozgłosi ją z powrotem do routera "B" z większą metryką.
Mechanizm poison reverse (dosłownie zatruwanie wsteczne)
Kiedy trasa do jakiegoś miejsca docelowego zostaje wycofana, z uwagi na awarię łącza, router rozgłasza taką trasę z nieskończoną metryką. Zapobiega to wybraniu trasy do wysłania pakietów przez mechanizm routingu.
Licznik hold-down (dosłownie wstrzymania się)
Mechanizm split-horizon działa dobrze w sieciach, w których nie ma redundantnych połączeń. W sytuacji, w której routery połączone są dwoma równoległymi trasami, router "A" otrzymując od routera "B" trasę do miejsca "X" łączem pierwszym, może wysłać tą informację z powiększoną metryką łączem drugim.
Reguła hold-down mówi, że w przypadku gdy router otrzyma informacje, że trasa do danego miejsca została unieważniona (np. w wyniku awarii), router ignoruje przez czas określony w liczniku hold-down kolejne informacje o tej trasie. Aktualne ustawienie licznika hold-down można sprawdzić poleceniem `show ip protocol':
router# show ip protocol
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 3 seconds
Invalid after 180 seconds, hold down 180, flushed after 240

Interfejsy loopback

Co to jest interfejs loopback? Gdzie fizycznie się znajduje?

Interfejsy loopback (tak, może być ich wiele), są wirtualnym tworem, bardzo wygodnym z paru powodów:


RIP

Co to jest RIP?

RIP jest starym i obecnie rzadko używanym w konstrukcji nowoczesnych sieci protokołem typu dystans-wektor. Nowsza wersja RIPa, wersja 2 (opisana w RFC 1723) różni się od starszej wersji (v1, RFC 1058) tym, że oprócz sieci przenosi jej maskę, co efektywnie oznacza, że RIP wspiera VLSM (ang. Variable Length Subnet Masks, czyli sieci z maskami różnych długości). RIP w wersji 2 wspiera również uwierzytelnianie, co pozwala zwiększyć bezpieczeństwo sieci, a także rozgłaszanie informacji routingowych za pomocą multicastów (na adres 224.0.0.9).

RIP rozsyła co 30 sekund na port 520/udp (v1, wersja druga używa multicastów dla normalnych rozgłoszeń i unicastów na port 520/udp dla uaktualnień wyzwolonych przez jakąś zmianę w sieci) całe tablice routingu do swoich sąsiadów. Jako jedynej metryki używa liczby przeskoków (hopów) do danej sieci. Ponieważ pole to ma maksymalną wartość 16, efektywnie obniża to skalowalność sieci do 15 hopów (gdzie 1 hop = sieć podłączona bezpośrednio, a 16 = sieć nieosiągalna). Podstawowym problemem w protokole RIP są zatem sytuacje, w których teoretycznie gorsza trasa (składająca się np. z 5 a nie z 2 hopów), jest bardziej niezawodna, ma większą przepustowość itp. - a RIP nie bierze tego pod uwagę.


Jak wygląda podstawowa konfiguracja RIPv1?

Standardowo, proces RIP zaczyna pracę po wydaniu w trybie konfiguracji polecenia:

router(config)# router rip

Samo polecenie nie zrobi jednak niczego atrakcyjnego - proces RIP wystartuje, ale nie będzie jeszcze zajmował się routingiem. Dopiero wskazanie sieci, którą ma zająć się RIP, powoduje rozpoczęcie pracy. Załóżmy, że mamy sieć składającą się z dwóch routerów, tak jak na rysunku poniżej:

Polecenie `network 172.16.0.0' wydane na routerze "rtr_1" spowoduje, że RIP rozpocznie przetwarzanie rozgłoszeń RIP na wewnętrznym interfejsie routera. Dopiero dodanie polecenia `network 192.168.0.0' spowoduje, że router "rtr_2" zacznie otrzymywać rozgłoszenia RIP od swojego sąsiada. Po dodaniu na routerze "rtr_2" analogicznej konfiguracji (do tego czasu "rtr_2" będzie otrzymywał rozgłoszenia, ale ignorował je), zobaczymy że routery "dowiedziały się" o istnieniu sieci podłączonych do interfejsów FastEthernet sąsiadów:

! Na routerze rtr_1:
rtr_1(config)# router rip
rtr_1(config)# network 172.16.0.0
rtr_1(config)# network 192.168.0.0

! Na routerze rtr_2:
rtr_2(config)# router rip
rtr_2(config)# network 10.0.0.0
rtr_2(config)# network 192.168.0.0

W głównej tablicy routingu, trasy poznane dzięki działaniu protokołu RIP oznaczone są literą "R":

rtr_1# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       [...]
       P - periodic downloaded static route

       Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 1 subnets
C       172.16.0.0 is directly connected, FastEthernet0
R    10.0.0.0/8 [120/1] via 192.168.0.254, 00:00:03, Serial0
C    192.168.0.0/16 is directly connected, Serial0

A jak uruchomić na routerze RIP w wersji 2?

Dodając do definicji procesu RIP polecenie `version 2', np. tak:

router(config)# router rip
router(config)# version 2
router(config)# network 192.168.0.0
router(config)# network 169.254.10.0

OSPF

Co to jest OSPF?

OSPF (ang. Open Shortest Path First) jest protokołem dynamicznego routingu typu link-state i należy do kategorii IGP. Każdy router, w obrębie jednostek grupujących sieci zwanych areami (obszarami), posiada identyczną bazę stanu linków. Na bazie tych informacji tworzone jest drzewo najkrótszych ścieżek i wpisy do tablicy routingu. Podstawowymi cechami odróżniającymi go od protokołów typu distance-vector są:


Jak działa OSPF?

Hierarchiczny model protokołu OSPF pozwala podzielić jedna wielką sieć korporacyjną na mniejsze segmenty zwane obszarami (ang. area). Obszar jest jakby samodzielną sekcją sieci, wewnątrz której odbywa się wymiana LSA (ang. Link State Advertisement, rozgłoszeń link-state), zakończona przeliczaniem ścieżek przy użyciu algorytmu SPF (ang. Shortest Path First). Podział sieci na obszary pozwala na ograniczenie rozmiaru tablic routingu na routerach - sieci z danego obszaru widziane są w innych obszarach tylko w postaci zsumaryzowanej. Innymi słowy, niestabilność jakiegoś linku wewnątrz obszaru nie przenosi się na zewnątrz.

Podział sieci na obszary spowodował również przypisanie różnych funkcji routerom w sieci z OSPF. Wyróżniamy zatem ich następujące typy:

Wizualnie, role poszczególnych routerów przedstawiają się następująco:


Jak router liczy w OSPFie metrykę dla połączenia?

W OSPFie metryka jest określana mianem kosztu. Domyślnie na routerach Cisco koszt jest odwrotnie proporcjonalny do pasma danego linku wg proporcji:

                     100,000,000
 Koszt   =   ---------------------------
              pasmo w bitach na sekundę

(dla pasma liczonego w kilobitach na sekundę, jak np. podaje się poleceniem bandwidth X przepustowość interfejsu dla protokołów routingu, wzór ten wygląda oczywiście 10^5/pasmo)

Innymi słowy, łącze E1 (2Mbit/s) wg OSPF będzie miało koszt 48, Ethernet 10Mbit/s 10, a jeden kanał 64Kbit/s ISDN BRI (kanał B) będzie miał koszt 1562.


O czym pamiętać przy sumaryzacji?

Należy pamiętać o następujących warunkach do spełnienia:


Jakie są typy LSA?

Wyróżniamy 5 typów LSA:


Co jest potrzebne żeby dwa routery wymieniły informacje o routingu OSPF?

Routery muszą być poprawnie skonfigurowane i zestawić ze sobą sąsiedztwo (ang. adjacency). Samo zestawienie sesji OSPF między routerami składa się z kilku etapów:

ustanowienie sąsiedztwa
Następuje wymiana pakietów OSPF Hello pomiędzy routerami przyłączonymi do jednego segmentu sieci (hello protocol). W pakietach hello routery umieszczają ID innych routerów od których usłyszały wcześniej hello w tym segmencie. Jeśli dany router zobaczy swój router ID w pakiecie hello od innego routera, uznaje, że ma już z nim ustanowioną przyległość (adjacency). Przyległość jest warunkiem koniecznym do wymiany baz danych swoich linków miedzy routerami.
wybór DR i BDR
W środowiskach rozgłoszeniowych (broadcastowych) takich jak Ethernet, Token-Ring, i FDDI nie ma sensu, by każdy router wymieniał sesję OSPF z każdym routerem. Liczba takich sesji byłaby równa n*(n-1)/2, gdzie n jest liczbą węzłów w danym segmencie. Dla 10 routerów byłoby to 45 sesji. W zamian za to wybiera się pośród routerów w segmencie tzw. Designated Router (DR) oraz Backup Designated Router (BDR) i z nimi wszystkie routery zapinają sesje. W środowiskach nonbroadcast multiaccess (NBMA) tj. Frame Relay, DR i BDR muszą zostać specjalnie skonfigurowane. W połączeniach point-to-point wyznaczanie DR i BDR nie jest konieczne.
DR zajmuje się dystrybucją informacji routingowych uzyskanych od routerów danym segmencie. Gdy DR padnie, zastępuje go BDR, a nowy BDR jest wybierany z pozostałych routerów. Kryterium wyboru DR i BDR oparte jest o priorytet routera (najwyższy wygrywa). Domyślnie wszystkie routery mają priorytet 1 i wygrywa ten o najwyższym numerze router-id. Router-id to adres interfejsu loopback (wirtualny interfejs routera, który nigdy "nie pada") bądź najwyższy adres z innego typu interfejsów routera (jeśli nie ma loopbacka). Stosowanie interfejsów loopback na routerach korzystnie wpływa na wybór DR/BDR, a co za tym idzie stabilność sesji ospf. Warto jednak wymusić by DR i BDR były "najsilniejszymi" routerami w danym segmencie. Można tym sztucznie wysterować ustawiając na interfejsie "silnego" routera stosunkowo wysoki priorytet (ustawienie go na zero powoduje, że dany router na pewno nie będzie DR/BDR).
wymiana informacji routingowych
Po ustanowieniu sąsiedztwa (i wybraniu DR/BDR dla segmentów wielodostępowych), routery z OSPFem są gotowe do wymiany informacji o sieciach, które wzajemnie posiadają. Informacje od stanach linków na danym routerze jest wymieniana poprzez tzw. Link State Updates (LSUs). LSU zawierają LSA, opisujące stan wszystkich linków bądź sieci, o których routery posiadają informacje. Wszystkie te LSA są przechowywane w link-state database, nazywanej czasem topological database. Ta link-state database jest perspektywą, z jakiej router widzi sieć. Wszystkie routery po zakończeniu procesu wymiany informacji powinny mieć identyczne link-state database (co nie oznacza, że takie same tablice routingu!).

Jak sprawdzić aktualny stan sąsiadów danego routera OSPF?

Tabelka stanów OSPF można przejrzeć poleceniem `show ip ospf neighbor'.

Stan         Znaczenie
DOWN         Nie odpowiada na hello
ATTEMPT      Wysłane hello, ale jeszcze brak odpowiedzi
INIT         Usłyszane hello, ale jeszcze nie ma status sąsiada
TWO-WAY      Pełne sąsiedztwo. W takim stanie pozostają 2 routery w
             środowiskach multiaccess, gdy żaden z nich nie jest DR ani BDR
EXSTART/
EXCHANGE/
LOADING      Kolejne etapy mające na celu transfery bazy LSA miedzy sąsiadami.
FULL         Stan pełnego zsynchronizowania baz LSA.

DR/
BDR/
DROTHER      Oznacza, że dany sąsiad jest DR bądź BDR bądź żadnym z nich.

Tak jak wskazała powyższa tabelka stabilnymi stanami między sąsiadami są:

Jeśli w rezultacie komendy `show ip ospf neighbor' widzimy, że stan na jakimś podejrzanym interfejsie/linku odbiega od powyższych wskazań wtedy postępujemy wg wskazań z poniższej tabelki:

Utrzymujący się
stan             Oznacza                    Sprawdź....
-------------------------------------------------------------------------------
DOWN             Nie ma odpowiedzi od       ...czy dany interfejs działa.
                 żadnego sąsiada            Jeśli działa, to spróbuj wysłać:
                                            ping 224.0.0.6
                                            powinni odpowiedzieć potencjalni
                                            sąsiedzi na linku
                                                
ATTEMPT          Wysłane HELLO, ale brak    Sprawdź, czy dany sąsiad
                 odpowiedzi                 odpowiada, np. pingiem do niego
                      
INIT             Wysłane i otrzymane
                 HELLO, ale nie ustanowione
                 sąsiedztwo
                       
2WAY/DR          W środowiskach multiaccess normalne.
lub
2WAY/BDR
    
2WAY             W środowiskach p-to-p oznacza
                 problemy z rozpoczęciem
                 transferu bazy topologicznej.
                       
EXSTART          
lub              
EXCHANGE         Transfer bazy topologicznej ...MTU (czy takie same) oraz link      
lub              między sąsiadami nie może   fizyczny. Wyślij większe
LOADING          poprawnie dojść do skutku   (1550 bajtowe) pingi do sąsiada

Jak skonfigurować OSPF?

Poniższy schemat znacznie to ułatwia:


Czy jest jakiś przewodnik po budowaniu sieci z OSPFem?

Cisco udostępniło swoje zalecenia co do budowania sieci wykorzystujących protokół OSPF. Jest on dostępny pod adresem http://www.cisco.com/en/US/tech/tk365/tk480/technologies_design_guide09186a0080094e9e.shtml, a PDF tego samego materiału pod adresem http://www.cisco.com/warp/public/104/1.pdf.


Routing BGP

Co to jest BGP?

Border Gateway Protocol jest protokołem typu external (zewnętrznym, choć może również pracować w konfiguracjach wewnętrznych), a służy głównie do komunikowania się routerów brzegowych różnych systemów autonomicznych. Wyróżnikiem systemu autonomicznego (AS) jest jego numer, przyznawany w Europie przez RIPE. Protokół BGP w wersji 4 posiada zaimplementowane mechanizmy ochrony przed zapętleniami pakietów i jest powszechnie stosowany dla zapewnienia komunikacji miedzy sieciami dostawców internetu (ang. Internet Service Providers, ISP).

Komunikacja między routerami wymieniającymi wzajemnie tablice BGP (ang. peer, neighbor) oparta jest o protokół tcp, port 179. Routery należące do różnych AS'ów i wymieniające tablice BGP działają w ramach external BGP (EBGP).

Jak każdy protokół routujący, BGP zarządza tablicami routingu, wymienia informacje routingowe i opiera decyzje o routowaniu na metryce. Podstawową funkcją jest wymiana informacji o dostępności danej sieci zawierająca informacje o liście ścieżek ASów. Ta informacja może być wykorzystana do skonstruowania grafu dostępności systemu autonomicznego. W informacjach rozgłoszeniowych peerom BGP podsyłana jest tylko optymalna ścieżka do danej sieci.


Co to jest numer AS?

Każdy system autonomiczny musi posiadać swój unikalny identyfikator ASN (Autonomic System Number), nadawany przez odpowiednią organizację (w Europie jest to RIPE). Numer ten jest identyfikatorem wszystkich routerów BGP danego systemu. Powielenie numeru na zewnątrz grozi wyłączeniem dużych obszarów sieci ze względu na wewnętrzne zabezpieczenia protokołu przed zapętleniem. Do celów testowych można użyć prywatny numer AS z puli 64512-65535 - należy jednak pamiętać, że nie wolno ogłasza takiego prywatnego ASa do swoich BGP peerów.


Jaki potrzebuję router do obsługi BGP?

Osobnym zagadnieniem ważnym przy uruchamianiu BGP jest wybór platformy sprzętowej do obsługi połączeń internetowych. Na chwilę obecną pełna tablica BGP to ponad 174 tysięcy wpisów (http://www.cymru.com/BGP/robbgp01.html) - na obróbkę takiej ilości, często zmieniających się danych, na dodatek otrzymanych od co najmniej 2 ISP potrzebny jest silny router z niemałą ilością pamięci. Zużycie zasobów możemy sprawdzić przez:

router_bgp# sh proc memory | inc Holding|BGP
PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
  75   0   11856640   11855460       8008          0          0 BGP Open        
 121   0  971742788   51185912   85739960       4940          0 BGP Router      
 122   0   30531708  846392840      95900   14707036    2799936 BGP I/O         
 123   0      23816    4834392      32876          0          0 BGP Scanner     
 142   0   20688180   20687760       6968          0          0 BGP Open        
 149   0   15935988   14198940       6828          0          0 BGP Open        
 153   0   20680512   20675960       6976          0          0 BGP Open

..oraz:

router_bgp# sh proc cpu | exc 0.00%  0.00%  0.00%
CPU utilization for five seconds: 61%/31%; one minute: 36%; five minutes: 35%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process 
   3    37272304   1981781      18807  0.00%  0.36%  0.42%   0 Check heaps      
  15     1331000   4103026        324  0.00%  0.03%  0.00%   0 ARP Input        
  22      744268   1573286        473  0.07%  0.02%  0.00%   0 Net Background   
  41    11547076  55980307        206  0.15%  0.07%  0.08%   0 IP Input         
  49     7493092    110337      67911  0.00%  0.09%  0.06%   0 IP Background    
  75         484       208       2326  0.76%  0.34%  0.09%   2 Virtual Exec     
  95     1549732    106200      14592  0.00%  0.02%  0.00%   0 Per-minute Jobs  
 112     3285676  20064138        163  0.00%  0.01%  0.00%   0 SNMP ENGINE      
 119    18127088  12981037       1396  0.07%  0.01%  0.10%   0 OSPF Router      
 121    18955580  34540455        548  0.07%  0.12%  0.12%   0 BGP Router       
 123     2648032  10310905        256  0.00%  0.01%  0.00%   0 BGP I/O          
 124   277728220   1697064     163655 29.08%  4.38%  3.70%   0 BGP Scanner

Powyższe statystyki zebrano na routerze 7200 z modułem NPE-300.

Generalnie, należy założyć, że 128MB pamięci to już dzisiaj za mało, żeby utrzymać pełne tablice i zapewnić jednocześnie sensowną funkcjonalność. Jako minimum, zalecamy zatem routery 3825/3845 (wydajność wg Cisco odpowiednio 225 i 500kpps) - można je rozbudować do 1GB RAMu i posiadają wydajność na dolnym pułapie sensownej obsługi 1-2 ISP. Oczywiście routery 3660 również można rozbudować do 256MB RAMu, ale od grudnia 2003r. routery te nie są już ani produkowane ani sprzedawane.

Powinieneś jednak poważnie rozważyć zakup routera klasy 7200 z modułem NPE-400 lub NPE-1G do obsługi "poważnego" BGP. (NPE-400 posiada wg Cisco wydajność do 400kpps, ale można je rozbudować do maksymalnie 512MB RAM, NPE-1G do 1GB RAM).


Jak właściwie działa BGP?

Pod kątem konwergencji BGP należy do jednych z wolniejszych protokołów routingu. Awaria połączenia wykrywana jest po ok. 1 minucie (chyba, że włączymy funkcję "bgp fast-external-fallover", ale nie jest to zalecane), nie może się zatem równać się z szybkimi protokołami IGP tj. OSPF czy EIGRP (tam awaria wykrywana jest po paru sekundach). Jednak takie spowolnienie reakcji może być dosyć korzystne w przypadku Internetu - zbyt szybka reakcja na chwilowe flapnięcie (przejście ze stanu działania do awarii i po chwili z powrotem) linku mogłaby zachwiać stabilnością Internetu. Ponadto BGP znacznie lepiej się skaluje w internecie - użycie innego protokołu do internetu takiego jak OSPF spowodowałby natychmiastowe przeciążenie routera. Zaimplementowany mechanizm nie akceptowania od neighborów ścieżek zawierających własny numer ASa zabezpiecza przed zapętleniami.

Do badania dostępności neighborów BGP używane są pakiety Hello standardowo przesyłane co 60 sekund. Nie dotarcie trzeciego z kolei pakietu Hello implikuje "położenie" sesji BGP. Standardowo zatem pad połączenia, na którym zapięta jest sesja BGP, wykrywany jest po 3 minutach.


Jakich atrybutów używa BGP?

Ścieżka ASów
Jest listą numerów ASów, które update dotyczący danej sieci musiał przejść, by osiągnąć dany router. Numer AS jest dodawany na początku ścieżki w momencie przejścia przez dany system autonomiczny. Numery AS przedzielone są w ścieżce spacją.
Next hop
Jest adresem IP następnego kroku, który powinien być użyty celem dojścia do danej sieci. Uwaga: wpis w tablicy routingu w polu next hop może mieć adres IP gatewaya, do którego dany router nie jest przyłączony. Ważne, by inny wpis w tablicy routingu kierował na ten hop. Np. w poniższym przykładzie w tablicy routingu na routerach B i C znajduje się wpis kierujący do sieci 10.205.0.0/16 (informacja z BGP) na next hop o adresie 10.25.10.2. Żaden z tych 2 routerów nie jest bezpośrednio podpięty do gatewaya o tym adresie, ale w tablicy routingu znajduje się również informacja o tym, jak dojść do sieci 10.25.10.0/30 (uzyskana z OSPFa), dzięki temu pakiety do sieci 10.205.0.0 będą mogły swobodnie dojść.
Należy więc przy projektowaniu systemu autonomicznego pomyśleć o skonfigurowaniu zarówno protokołu BGP do komunikacji ze światem zewnętrznym oraz jakiegoś protokołu typu IGP np. OSPF wewnątrz samego systemu - od biedy funkcje IGP mógłby przejąć iBGP, ale:
Waga (ang. weight) i local-preference
Gdy mamy dostępnych kilka ścieżek do jednego celu, musimy jakoś ustawić preferencję jednej nad drugą. Do tego służą właśnie parametry: weight i local-preference. Znaczenie ich jest podobne tzn. im wyższa waga lub local-preference dla danej ścieżki tym ścieżka jest bardziej pożądana. Różnica polega na tym, że:
Standardowe wartości to:
Oczywiście te wartości można modyfikować, np. dla wagi przy konfiguracji jak na rysunku poniżej:
...gdy z dwóch źródeł dostajemy tę samą sieć 175.10.0.0 możemy ustawić wyższą wagę dla jednego z kierunków na 3 sposoby: