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ć. Utworzyliśmy specjalną listę pocztową, dotyczącą tego FAQ. Nalegamy, żeby wszystkie pytania dotyczące tematyki Cisco zadawać na tej właśnie liście - a nie na nasze adresy e-mail. Na co dzień pracujemy 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, albo odpowiedź będzie niezbyt przyjemna.
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 przekonfigurować!.
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.
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.
Koordynator tego FAQ pracuje nad uruchomieniem publicznie dostępnego serwera CVS.
Zwróć szczególną uwagę, że wszystkie pytania dotyczące tego FAQ, powinny być kierowane na listę pocztową, a nie na adresy e-mail wymienione poniżej!
W kolejności alfabetycznej:
Łukasz Bromirski, lukasz at bromirski.net
Szczepan Pacut, spacut at ccie.pl
Marcin Strzyżewski, marcins at ccie.pl
Najlepiej zacząć od polskich stron:
Następnie udać się oczywiście na największą stronę główną: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.
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:
Aby skorzystać z tej pomocy, musisz posiadać wykupiony kontrakt serwisowy - SmartNET lub SmartSpares.
Musisz znać rodzaj sprzętu, o którym z Cisco TAC chciałbyś porozmawiać, jego numer seryjny i jeśli to możliwe - posiadać jak najdokładniejsze informacje o nim (zwykle na początku rozmowy inżynier TAC poprosi o zrzucenie do pliku wyniku działania polecenia `show tech-support', więc warto od razu mieć go pod ręką).
Inżynierowie Cisco TAC z reguły nie pomagają w konfiguracji połączenia Internetowego, list kontroli dostępu czy nie zaprojektują Ci odpowiednio sieci. Postaraj się wykonać jak najdokładniejszy troubleshooting zanim poprosisz o pomoc.
Najszybszą i darmową (zwykle) pomoc znaleźć można na listach usenetowych:
pl.comp.networking - polska, dotycząca nie tylko sprzętu Cisco
comp.dcom.sys.cisco - w języku angielskim, dotycząca tylko sprzętu Cisco
fido7.ru.cisco - w języku rosyjskim, dotycząca tylko sprzętu Cisco
Trochę bardziej zaawansowane zagadnienia pojawiają się na listach, na które trzeba się zapisać. Są to:
http://www.prenumerata.pl/wwsympa.fcgi/info/isp-tech - skupia wielu ludzi, którzy znają Cisco i inny sprzęt od podszewki
https://puck.nether.net/mailman/listinfo/cisco-nsp - prowadzona w języku angielskim, dla ISP
http://forum.cisco.com/eforum/servlet/NetProf?page=main - fora dyskusyjne Cisco oraz archiwa sesji pytań i odpowiedzi
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 routera 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.
Pamiętaj również, że licencja Cisco uniemożliwia dzielenie się oprogramowaniem ze znajomymi, ani odsprzedaż routerów z zainstalowanym oprogramowaniem systemowej dalej.
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:
2002: http://www.cisco.com/networkers/nw02/post/presentations.html
2003 USA: http://www.cisco.com/networkers/nw03/post/presos.html
2003 Johannesburg: http://www.networkersafrica.com/nw03/POST_EVENT/PRESENTATIONS/Breakout_sessions/default.asp
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.
Niestety, polskie wydawnictwa poskąpiły dobrych książek o Cisco. Z wartych kupienia i dostępnych w języku polskim wymienić należy:
"Routery Cisco. Czarna księga", ISBN: 83-7197-286-5, wydawnictwo Helion (http://helion.pl/ksiazki/rcisbb.htm)
"Routery Cisco w praktyce", ISBN: 83-7197-214-8, wydawnictwo Helion (http://helion.pl/ksiazki/rcisco.htm)
"Cisco. Receptury", ISBN: 83-7361-330-7, wydawnictwo Helion (http://helion.pl/ksiazki/cisrec.htm)
Zdecydowanie nie polecam żadnej książki wydawnictwa Mikom dotyczącej Cisco. Marne wydania i tłumaczenia powodują, że książki te po prostu więcej utrudniają niż pomagają.
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:
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).
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.
Dwie książki poświęcone zagadnieniom routingu w sieciach TCP/IP - naprawdę rewelacyjna lektura.
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.
Książka Sama Halabiego, omawiająca dokładniej zagadnienia budowy sieci połączonej do Internetu - w tym dokładnie konfigurację BGPv4.
Pozostałe rekomendacje ściśle związane są ze specjalizacją, którą się zajmujesz - książek o sieciach jest mnóstwo.
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.
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.
Na CCO, w sekcji Cisco IOS: - dokumentacja od 11.3, 12.0, 12.1, 12.2 i 12.3.
Dla Cisco IOS 11.3: http://www.cisco.com/en/US/products/sw/iosswrel/ps1826/prod_command_reference_list.html
Dla Cisco IOS 12.0: http://www.cisco.com/en/US/products/sw/iosswrel/ps1828/prod_command_reference_list.html
Dla Cisco IOS 12.1: http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/prod_command_reference_list.html
Dla Cisco IOS 12.2: http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/prod_command_reference_list.html
Dla Cisco IOS 12.3: http://www.cisco.com/en/US/products/sw/iosswrel/ps5187/prod_command_reference_list.html
Cisco Systems podzieliło swoją ścieżkę certyfikacji na trzy poziomy:
Associate
Professional
Expert
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.
Dostępne są cztery tytuły na tym poziomie, w zależności od specjalizacji:
CCNP, czyli Cisco Certified Network Professional
Musisz posiadać ważny certyfikat CCNA, oraz posiadać dokładną wiedzę o budowie sieci typu dial-up, działaniu i konfiguracji protokołów routingu, metodyce rozwiązywania problemów oraz dużych sieciach LAN.
Wymagane egzaminy (zdawane w dowolnej kolejności): 642-801 BSCI, 642-811 BCMSN, 642-821 BCRAN i 642-831 CIT lub zamiast egzaminów 642-801 i 642-811 zdać jeden egzamin 642-891 Composite i pozostałe dwa.
CCNP jest ważny przez trzy lata. Aby się recertyfikować, należy zdać aktualny egzamin Composite.
CCDP, czyli Cisco Certified Design Professional
Podobnie jak CCDA skupiaja się na projektowaniu sieci. CCDP wymaga ważnego certyfikatu CCDA.
Wymagane egzaminy (zdawane w dowolnej kolejności): 642-801 BSCI, 642-811 BCMSN, 642-871 ARCH, lub 642-891 Composite i 642-871 ARCH.
CCDP jest ważny przez trzy lata. Aby się recertyfikować, należy zdać aktualny egzamin Composite.
CCIP, czyli Cisco Certified Internetwork Professional
Certyfikat dla pracowników dostawców Internetowych, wymaga posiadania ważnego certyfikatu CCNA.
Wymagane egzaminy (zdawane w dowolnej kolejności): 642-801 BSCI, 642-641 QoS, 642-661 BGP i 640-910 MPLS, lub 642-801 BSCI, 642-641 QoS i 642-691 BGP+MPLS.
CCIP jest ważny przez trzy lata.
CCSP, czyli Cisco Certified Security Professional
Certyfikat obejmujący specjalizację w zabezpieczaniu sieci i dbaniu o ich bezpieczeństwo, a także w budowie i utrzymaniu sieci VPN. Wymaga posiadania certyfikatu CCNA lub CCIP.
Wymagane egzaminy (zdawane w dowolnej kolejności): 642-501 SECUR, 642-521 CSPFA, 642-531 CSIDS i 642-511 CSVPN, i 642-541 CSI.
CCSP jest ważny przez trzy lata.
Dostępne są cztery tytuły na tym poziomie, w zależności od specjalizacji:
CCIE R&S, czyli Cisco Certified Network Expert, Routing & Switching
Elitarny certyfikat, zaświadczający o doskonałej wiedzy w dziedzinie budowy i utrzymania sieci każdej wielkości.
Wymaga zdania egzaminu 350-001, składającego się z dwóch części: pisemnego oraz w labolatorium. Bez zdania egzaminu pisemnego, nie możesz zdawać egzaminu w labolatorium.
CCIE jest ważny przez dwa lata. Aby się recertyfikować, należy zdać jeden z egzaminów pisemnych - w swojej specjalizacji lub innej.
CCIE Service Provider, czyli Cisco Certified Network Expert, Service Provider
Elitarny certyfikat, zaświadczający o doskonałej wiedzy w dziedzinie budowy i utrzymania sieci, ze szczególnym naciskiem na sieci budowane przez i dla dostawców usług.
W zależności od pod-specjalizacji, CCIE SP zdaje jeden egzamin pisemny i jeden w labolatorium. Podobnie jak w przypadku CCIE R&S, porażka na etapie egzaminu pisemnego uniemożliwia zdawanie egzaminu praktycznego. Dostępne podspecjalizacje to: 350-020 Optical, 350-021 Cable, 350-022 DSL, 350-023 WAN Switching, 350-024 IP Telephony, 350-025 Dial, 351-026 Content Networking. Egzamin pisemny zawiera w połowie tematy z CCIE R&S, a w połowie z tematyki w której kandydat ma się specjalizować.
CCIE jest ważny przez dwa lata. Aby się recertyfikować, należy zdać jeden z egzaminów pisemnych - w swojej specjalizacji lub innej.
CCIE Security, czyli Cisco Certified Network Expert, Security
Elitarny certyfikat, zaświadczający o doskonałej wiedzy w dziedzinie budowy i utrzymania sieci, ze szczególnym naciskiem na szeroko rozumiane bezpieczeństwo.
Wymaga zdania egzaminu 350-018, składającego się z dwóch części: pisemnego oraz w labolatorium. Bez zdania egzaminu pisemnego, nie możesz zdawać egzaminu w labolatorium.
CCIE jest ważny przez dwa lata. Aby się recertyfikować, należy zdać jeden z egzaminów pisemnych - w swojej specjalizacji lub innej.
CCIE Voice, czyli Cisco Certified Network Expert, Voice
Elitarny certyfikat, zaświadczający o doskonałej wiedzy w dziedzinie budowy i utrzymania sieci, ze szczególnym naciskiem na przenoszenie głosu.
Wymaga zdania egzaminu 350-030, składającego się z dwóch części: pisemnego oraz w labolatorium. Bez zdania egzaminu pisemnego, nie możesz zdawać egzaminu w labolatorium.
CCIE jest ważny przez dwa lata. Aby się recertyfikować, należy zdać jeden z egzaminów pisemnych - w swojej specjalizacji lub innej.
Na tej stronie: http://www.cisco.com/en/US/learning/le3/le11/learning_all_certification_exams_list.html 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/warp/public/625/ccie/exam/.
Przede wszystkim, Cisco 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.
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.
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ń).
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.3 PIX OSa - PDM, czyli PIX Device Manager.
Przełączniki niemodularne (1900, 2900, 2950, 3000, 3500, 3750) posiadają na tylnym panelu port opisany na niebiesko jako CONSOLE.
Przełączniki niemodularne (1900, 2900, 2950, 3000, 3500, 3750) posiadają na tylnym panelu port opisany na niebiesko jako CONSOLE.
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.
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.
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.
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 stopu, bez parzystości i 1 bit sumy kontrolnej). Spróbuj ustawienia 38400 8N1, 57600 8N1 lub 115200 8N1 w swoim terminalu.
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
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.
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
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
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.
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.
Masz aktywną usługę wczytywania konfiguracji z sieci. Wyłącz ją, pisząc:
router(config)# no service config
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.
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(config)# ip dhcp pool MojeDHCPLAN Tworzymy pulę o nazwie MojeDHCPLAN router(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(config)# default-router 192.168.0.1 Oprócz adresu IP dla stacji, serwujemy domyślną bramkę (zwykle interfejs routera) router(config)# dns-server IP_serwera_DHCP1 IP_serwera_DHCP2 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(config)# host 192.168.0.10 255.255.255.0 Adres 192.168.0.10 z maską /24 przydzielony zostanie... router(config)# client-identifier 000c.09cb.9813 ...hostowi z adresem MAC 00:0C:09:CB:98:13 router(config)# default-router 192.168.0.1 Oprócz adresu IP dla stacji, serwujemy domyślną bramkę (zwykle interfejs routera) router(config)# dns-server IP_serwera_DHCP1 IP_serwera_DHCP2 itp. ...oraz od razu serwery DNS.
W definicji interfejsu należy podać po prostu:
router(config)# interface FastEthernet 0/0 router(config-if)# ip address 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
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!
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'.
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
Poleceniem:
router# clock set 16:13:00 23 feb 2004
Na mniejszych platformach, zegar nie jest jednak podtrzymywany baterią i po resecie, zostanie wyzerowany.
Za pomocą protokołu NTP. 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.
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".
W trzech krokach.
Oznaczasz interfejsy jako publiczny (ip nat outside) i jako prywatny (ip nat inside) - może być wiele zarówno publicznych jak i prywatnych. Na przykład:
router(config)# interface serial 0.99 router(config-if)# ip nat outside router(config-if)# exit router(config)# interface fastethernet 0/0 router(config-if)# ip nat inside router(config-if)# exit
Zwróć uwagę, że nazwy Twoich interfejsów mogą być inne.
Definiujesz, jak ma być wykonywany NAT - na pulę przydzielonych adresów, czy na jakiś konkretny jeden adres - najczęściej publicznego interfejsu routera. Poniżej jak zdefiniować pulę:
router(config)# ip nat pool Pula1 169.254.10.1 169.254.10.15 255.255.255.240
Na koniec określasz jaki ruch z interfejsów oznaczonych jako wewnętrzne będzie podlegał NATowaniu i na jakie adresy. Wpisy przeglądane są sekwencyjnie wg. kolejności i jeśli router trafi na wpis pasujący do pakietu, nie przejrzy już wpisów późniejszych.
Poniżej przykład, w którym sieć 192.168.10.0/24 NATowana jest na zdefiniowaną wcześniej pulę, a sieć 192.168.20.0/24 na adres interfejsu serial 0.99:
! w celu wybrania ruchu z podsieci 192.168.10.0/24 definiujemy ! listę ACL: router(config)# ip access-list extended Siec10NAT router(config-acl)# permit 192.168.10.0 0.0.0.255 router(config-acl)# exit ! i to samo dla sieci 192.168.20.0/24: router(config)# ip access-list extended Siec20NAT router(config-acl)# permit 192.168.20.0 0.0.0.255 router(config-acl)# exit ! adresy źródłowe pasujące do ACLki Siec10NAT NATowane są na pulę ! adresów zdefiniowanych wcześniej pod nazwą Pula1: router(config)# ip nat inside source list Siec10NAT pool Pula1 overload ! ...a adresy źródłowe pasujące do ACLki Siec20NAT na adres przypisany ! do interfejsu serial 0.99 routera: router(config)# ip nat inside source list Siec20NAT interface serial 0.99 overload
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
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 [...]
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.
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
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.
Firma Boson udostępnia program, umożliwiający konfigurację rejestru w systemie Windows "wizualnie": http://download.boson.com/utils/bos_calc.exe.
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 mamy maksymalnie 300 interfejsów, a obecnie w użyciu jest 17.
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%) oznacza zajętość procesora ogólnie (6%) i na poziomie przerwań (różnego rodzaju, 2%). Pozostałe dwie wartości, to zgodnie z nazwą uśrednione zajęcie za poprzednią minutę i pięć minut
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 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
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:
PID - identyfikator procesu
TTY - z którą konsolą skojarzony jest proces - większość procesów ma tutaj wartość 0, co oznacza, że skojarzone są tylko z procesem Init.
Allocated - ile historycznie proces zaallokował pamięci
Freed - ile historycznie proces zwolnił pamięci
Holding - ile aktualnie rezerwuje/używa pamięci
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.
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.
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=
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
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.
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:
Platformy, na której będzie pracować obraz (c2600 to routery Cisco serii 2600)
Funkcjonalności zawartej w obrazie (i, czyli tylko podstawowa funkcjonalność IP)
Czy obraz wykonywany jest w pamięci RAM (literka m) i czy jest spakowany (literka z)
Numeru wersji Cisco IOS 123-1a czyli 12.3.1a.
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" s - funkcjonalność "Plus" o3 - funkcjonalność "FW/IDS" x - funkcjonalność "H.323" k8 - obraz z szyfrowaniem CET/DES 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 -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
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.
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.
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).
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.
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:
WS-C2950T-24 - 24 porty 10/100 + 2 porty 10/100/1000BaseT
WS-C2950T-48 - 48 portów 10/100 + 2 porty 10/100/1000BaseT
WS-C2950C-24 - 24 porty 10/100 + 2 porty 100BaseFX
WS-C2950SX-24 - 24 porty 10/100 + 2 porty 1000BaseSX
WS-C2950SX-48 - 48 portów 10/100 + 2 porty 1000BaseSX
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.
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.
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.
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.
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
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
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
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
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:
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
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).
Pierwszy 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 anyTeraz 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.
Musisz dodać kolejne wpisy w route-mapie, wskazujące dla jakiegoś unikalnego typu ruchu kolejne interfejsy.
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.
Należy wydać polecenie `ip routing'.
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ś.
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
W procesie routingu uczestniczą trzy niezależne od siebie zagadnienia:
Aktywne procesy routingu działające na routerze - np. BGP, EIGRP i OSPF.
Zawartość tablicy routingu, która otrzymuje informacje od procesów routingu i udziela pewnych informacji procesowi fizycznie przekazującemu pakiety
Proces przekazujący pakiety (ang. forwarding process), który na podstawie informacji z tablicy routingu podejmuje decyzje co i jak wysłać.
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.
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/24 switchport mode access switchport access vlan 10 no ip address spanning-tree portfast
Po pierwsze, zastanów się czy BGP jest Ci na pewno potrzebne. Nie potrzebujesz BGP jeśli:
Zastosuj po prostu domyślną trasę statyczną, wskazującą na router brzegowy Twojego ISP. To Twój ISP zadba, o rozgłoszenie informacji o osiągalności Twojej sieci (zakresu publicznych adresów IP) w Internecie.
Zwykle w takich sytuacjach chodzi o zapewnienie redundancji połączenia Twój ISP - Ty. Nadal to Twój ISP dba o widoczność publicznego zakresu adresów IP przypisanych do Twojej instalacji.
W zależności od wybranego scenariusza BGP, będziesz potrzebował routera klasy 17xx/26xx (pobierasz tylko trasy domyślne i rozgłaszasz swoje IP), klasy 36xx/37xx (pobierasz część tras od jednego ISP i całą tablicę od drugiego ISP) oraz 37xx/7xxx (pobierasz od wszystkich ISP do których jesteś połączony pełne światowe tablice BGP).
Zawsze jednak skonsultuj się z kimś, kto ma praktykę w konfiguracji BGP - ważne będzie aktualne obciążenie Twojego routera i inne czynniki, które mogą wpłynąć na wybór scenariusza.
Formularz podania o własny numer AS dla RIPE znajduje się tutaj: http://www.ripe.net/ripe/docs/asnrequestform.html.
Pula adresowa PA, czyli Provider Aggregatable przyznawana jest lokalnym dostawcom (LIR, Local Internet Registry), do dalszego wykorzystania i podziału np. na pule adresowe dla użytkowników.
Pula adresowa PI, czyli Provider Independent (niezależna od dostawcy), jak sama nazwa wskazuje, oznacza przydział zakresu adresów dla konkretnego użytkownika końcowego. Oznacza to, że otrzymujesz własną, unikalną pulę adresów w Internecie, nie należącą do nikogo innego. Zwróć jednak uwagę, że jeśli będzie to pula z prefiksem /23 lub /24, mogą (nie muszą) pojawić się mniejsze lub większe problemy z osiągalnością Twojej sieci w Internecie (niektórzy ISP odrzucają informacje dokładniejsze niż /20, /21 czy /22 akceptując tylko "ogólniejsze" informacje).
Dokładniej różnice między PI a PA opisano w tym dokumencie: http://www.ripe.net/ripe/docs/ipv4-policies.html#pa_pi.
Formularz zamówienia na przestrzeń adresową PI dla RIPE znajduje się tutaj: http://www.ripe.net/ripe/docs/pi-requestform.html a dla PA tutaj: http://www.ripe.net/ripe/docs/iprequestform.html.
QoS to dokładnie akronim od Quality of Service, czyli Jakość Usługi.
Jest to bardzo popularne słowo-klucz stosowane (na nieszczęście), głównie w materiałach handlowych i oznacza zwykle tylko malutki fragment całej rozległej dziedziny, zajmującej się gwarantowaniem jakości usług w sieciach.
Według Cisco, na możliwość zapewnienia QoS w sieci składa się:
Klasyfikacja ruchu (ang. Traffic Classification) - chodzi o możliwość identyfikacji otrzymanego ruchu tak, by na tej podstawie można było później kształtować jego charakterystyki, czy gwarantować mu np. pierwszeństwo, lub stałe pasmo. W skład klasyfikacji ruchu na routerach Cisco wchodzą zagadnienia:
Routingu według zasad (ang. policy-based routing), czyli wprost wskazywania, że ruch o danej charakterystyce powinien być routowany w taki a nie inny sposób
Commited Access Rate
Class-Based Weighted Fair Queuing
Zarządzanie zatorami (ang. Congestion Management) - próba ograniczenia wpływu niesfornych protokołów i aplikacji na pozostały ruch wymieniany w sieci. W skład wchodzi:
Weighted Fair Queuing
Class-Based Weighted Fair Queuing
Priority Queuing
Custom Queuing
Unikanie zatorów (ang. Congestion Avoidance) - próba proaktywnego zapobiegania wysyceniu łącza, lub wprost narzucanie polityki uniemożliwiającej danemu rodzajowi ruchu wysycenia całego dostępnego pasma.
Random Early Detection / Weighted Random Early Detection
Commited Access Rate
ToS, czyli Type of Service (Rodzaj Usługi) to standard definicji "klasy ruchowej" pakietu IP, opisany dokładniej w RFC 1349. Definiuje sześć "typów" ruchu, i przypisuje każdemu z nich wartość, zapisywaną do bitów 3-6, w 1-bajtowym polu nagłówka pakietu IPv4. Pole Precedence to wartość z bitów 0-2 tego samego 1-bajtowego pola, określające "pierwszeństwo" danego ruchu.
DSCP, czyli Differentiated Services Codepoint, zdefiniowany w nowszym standardzie (RFC 2474), opisuje jak za pomocą tego samego, 1-bajtowego pola w nagłówku IPv4 podzielić ruch na klasy trochę inaczej - posługując się przy tym bitami 0-5, pozostałe dwa pozostawiając jako nieużywane.
Za pomocą odczytywania lub oznaczania pakietów pasujących do konkretnych kryteriów, routery i przełączniki są w stanie różnicować traktowanie ruchu w sieci. Zwykle zakłada się, że inteligentne urządzenia sieciowe (zwykle chodzi o przełączniki, ale czasami wykonują tą pracę również routery) znajdujące się najbliżej stacji użytkowników, serwerów, czy innych urządzeń generujących ruch, oznaczają różne rodzaje ruchu różnymi etykietami ToS/Precedence lub DSCP (wg. przyjętego w danej sieci standardu; dobrze jest robić w taki sam sposób w całej sieci pod swoją kontrolą), a kolejne urządzenia "w łańcuszku" posługują się już tymi etykietami do priorytezacji ruchu, gwarantowania pasma czy jego ograniczania.
Bardzo wiele informacji znajduje się na stronach Cisco:
Cała strona poświęcona zabezpieczaniu sieci opartych o sprzęt Cisco. Zawiera dokumenty z serii SAFE, nieocenione źródło wiedzy jeśli chodzi zarówno o kompleksowe podejście teoretyczne, jak i praktyczne do budowy bezpiecznej sieci.
Improving Security on Cisco Routers
Dokument zawierający podstawowe wskazówki dotyczące zwiększania bezpieczeństwa routerów.
Cisco's Security Technical Tips
Strona z serią porad dotyczących bezpieczeństwa.
Cisco IOS Security Configuration Guide, Release 12.3
Podręcznik do najnowszej obecnie wersji IOS (12.3), opisujący wszystkie zagadnienia związane z bezpieczeństwem i podstawy ich konfiguracji.
Dodatkowo, ciekawe materiały znaleźć można na innych stronach:
Dokumenty opisujące rekomendowane przez NSA (National Security Agency, Agencję Bezpieczeństwa Narodowego USA) konfiguracje routerów Cisco. Rewelacyjna lektura.
Publikacja w ramach ezinu Phrack, którego nikomu chyba nie trzeba przedstawiać. Dotyczy starszych wersji IOSów, ale przedstawia metodyczne podejście do zabezpieczania routera i jego otoczenia.
Strona zawierająca m.in. stale aktualizowaną sieci, które nie powinny pojawić się w Internecie (tzw. "Bogons List"), oraz rozmaite wzorce konfiguracji i zalecenia dla optymalizacji. Doskonała referencja, warto często zaglądać.
Strona z wzorcami konfiguracji różnych urządzeń pod konkretne zastosowania - może okazać się przydatna.
Jak nietrudno zgadnąć, zbiór prezentacji ze zlotów konferencji ludzi zajmujących się bezpieczeństwem.
Dokument stworzony w ramach certyfikacji SANS. Warto przeczytać, wiedza zebrana z paru źródeł i skompilowana.
Najprościej jest ustawić na wirtualnych liniach terminali (ang. VTY, Virtual TeletYpes), wymuszanie podania konkretnego hasła:
router(config)# line vty 0 15 router(config-line)# login router(config-line)# password jakieś_hasło
Jeśli router ma sprawdzać istnienie konta o danym loginie i poprawność hasła bez zewnętrznej bazy danych, należy skonfigurować użytkowników lokalnie, np. tak:
router(config)# username lukasz password ala10
Następnie, należy włączyć lokalne uwierzytelnianie:
router(config)# aaa new-model router(config)# aaa authentication login default local
...i skonfigurować wirtualne linie terminali tak, by wymagały uwierzytelnienia się, w oparciu o lokalną bazę użytkowników:
router(config)# line vty 0 15 router(config-line)# login local
W zasadzie najlepiej najpierw dużo poczytać. Większość zaleceń sprowadza się jednak do: a) wyłącz niepotrzebne usługi, b) upewnij się, że routerowi nic nie przeszkadza.
Poniżej lista podstawowych poleceń, które warto wykonać. Jednak UWAGA: po pierwsze możesz coś zepsuć(!), po drugie takie pójście na skróty powinno być dopiero początkiem do dalszej dogłębnej analizy konfiguracji!
W konfiguracji globalnej wykonaj:
router(config)# no service udp-small-servers router(config)# no service tcp-small-servers router(config)# no service finger router(config)# no service dhcp router(config)# no service config router(config)# no service pad router(config)# no ip domain-lookup router(config)# no ip finger router(config)# no ip http server router(config)# no ip http secure-server router(config)# no ip bootp server router(config)# no ip source-route router(config)# no snmp-server router(config)# no cdp run ! teraz trochę rzeczy włączymy: router(config)# ip cef router(config)# service tcp-keepalives-in router(config)# service tcp-keepalives-out router(config)# service password-encryption router(config)# ip tcp path-mtu-discovery router(config)# service timestamps debug datetime localtime msec router(config)# service timestamps log datetime localtime msec router(config)# logging buffered ! i na koniec jeszcze ustawiamy zegar router# clock set HH:MM:SS DD MIE ROK
W konfiguracji poszczególnych (pod)interfejsów:
router(config-if)# no ip redirects router(config-if)# no ip directed-broadcast router(config-if)# no ip mask-reply router(config-if)# no ip proxy-arp router(config-if)# ip verify unicast reverse-path
ISDN dostarczany jest w dwóch rodzajach: ISDN BRI, czyli Basic Rate Interface, na który składają się 2 kanały B i jeden D, oraz ISDN PRI, czyli Primary Rate Interface, składający się w Europie z 30 kanałów B i jednego D. Kanały B mają standardową przepustowość 64kbit/s, natomiast kanał D dla łącz BRI ma przepustowość 16kbit/s, a dla łącza PRI 64kbit/s.
Protokoły Q.921 i Q.931 działają w kanale D połączenia ISDN. Protokół Q.921 odpowiedzialny jest za warstwę drugą połączenia - sygnalizację między routerem a centralką ISDN. Protokół Q.931 odpowiada natomiast za konfigurację połączenia po tym, jak w ramach protokołu Q.921 strony strony uzgodnią warstwę transportową.
Protokoły PPP, HDLC, IP czy IPX przenoszone są w kanale B połączenia ISDN. Protokoły PPP i HDLC to protokoły warstwy drugiej, natomiast IP i IPX to protokoły warstwy trzeciej. Najczęściej przy połączeniach routerów przez ISDN, przenosi się pakiety IP w ramkach PPP (po uprzednim uwierzytelnieniu się).
Jeśli masz wolny slot WIC (routery 1600, 1700, 2600, 3600 i 3700), możesz zastosować kartę WIC-1B-S/T. Zawiera ona pojedyńczy port ISDN BRI.
Jeśli masz wolny slot NM (routery 2600, 3600 i 3700), możesz zastosować karty NM-4B-S/T lub NM-8B-S/T, zawierające odpowiednio 4 i 8 styków ISDN BRI.
Jeśli natomiast masz wolny slot PA (routery serii 7000) i zależy Ci na portach BRI, dostępna jest tylko jedna karta: PA-8B-S/T, zawierająca osiem portów BRI.
Jeśli masz wolny slot NM (routery 2600, 3600 i 3700), możesz zastosować kartę NM-1CE1T1-PRI lub NM-2CE1T1-PRI. Zawierają one odpowiednio jeden i dwa styki ISDN PRI.
Jeśli masz wolny slot WIC (routery 1600, 1700, 2600, 3600 i 3700), możesz zastosować kartę VWIC-1MFT-E1 lub VWIC-2MFT-E1. Zawierają one odpowiednio jeden i dwa porty E1.
Jeśli natomiast masz wolny slot PA (routery serii 7000) masz do wyboru kartę PA-4E1G/75 (75 ohmów) lub PA-4E1G/120 (120 ohmów). Każda z kart zawiera po cztery porty E1, które obsługują również pracę w trybie G.703.
Jeśli masz wolny slot NM (routery 2600, 3600 i 3700), możesz zastosować kartę NM-1T3/E3. Zawiera one pojedyńczy port E3 (przepływność do 34Mbit/s).
Jeśli masz wolny slot PA (routery serii 7000) masz do wyboru kartę PA-E3 (jeden port E3) lub kartę PA-2E3 (dwa porty E3).
Jeśli masz wolny slot WIC (routery 2600, 3600 i 3700), możesz użyć karty VWIC-1MFT-E1 lub VWIC-2MFT-E1 oraz karty-akceleratora AIM-ATM, by zaterminować ATM.
Jeśli masz wolny slot NM (routery 2600, 3600 i 3700), możesz zastosować kartę NM-1ATM. Zawiera one pojedynczy port RJ-48C i obsługuje przepływności do 25Mbit/s. Warto dokupić również kartę-akcelerator AIM-ATM, ponieważ wydajność bez niej może być bardzo mała.
Routery 2691, 3600 i 3725 obsługują również kartę NM-1A-OC3MM, która zawiera styk ATM OC3 - do przepływności 155Mbit/s.
Jeśli masz wolny slot PA (routery serii 7000) masz do wyboru kartę PA-A3-E3 (ATM w oparciu o łącze E3 34Mbit/s) lub PA-A3-OC3MM (ATM w oparciu o OC3 - 155Mbit/s).
Proces mapowania adresów warstwy 2 w 3 i przekazywania pakietów na docelowy interfejs, nosi nazwe switchingu (po polsku komutacja).
Process Switching
Metoda ta bylą pierwszą metodą zaimplementowaną w IOS i jest to metoda najprostsza. Pierwszy pakiet w strumieniu (ang. flow) jest kopiowany do bufora systemowego, a następnie procesor przeszukuję tablicę routingu w poszukiwaniu miejsca docelowego. Suma kontrolna (CRC) liczona jest przez procesor. Następnie informacje warstwy 2 są przepisywane i pakiet wysyłany jest na docelowy interfejs. Każde następne pakiety strumienia są komutowane podobnie.
Process switching ma najdłuższy czas komutacji pakietów, ponieważ używa buforów systemowych i procesora głównego, aby "obrobić" każdy pakiet otrzymany przez router. Niemniej jednak, ten rodzaj komutacji potrzebny jest przy niektórych zadaniach, nawet, jeśli na routerze działają inne, optymalniejsze mechabuzmy komutacji - np. logowanie pakietów trafiających w ACLki, debugging pakietów IP itp.
Minusy process switchingu: wymaga aby dla każdego pakietu zajrzeć do tablicy routingu - kosztuje to czas. Jeśli tablica routingu rozrośnie się, zwiększy się również czas przetwarzania każdego pakietu. Rekursywne zapytania także zwiekszają czas przetwarzania pakietu. Zwiększa się także obciążenie CPU routera, co przy małych sieciach może być do pominięcia, ale przy większych staje się problemem. Innym problemem rzutujacym na wydajność jest szybkość transferu danych z pamięci.
Fast Switching
Fast switching używa pamięci podęcznej by przechowywać informacje o przepływającym przez router strumieniu (ang. flow). W momencie włączenia fast switching, pierwszy pakiet w strumieniu jest zapisywany w pamięci packet (oddzielny obszar w buforach systemowych). Następnie procesor przelicza mapowanie warstwy 3 na 2, zapisuje trasę w pamięci route (ang. route cache) i każdy następny pakiet ze strumienia jest już komutowany z wykorzystaniem zapisanych w pamięciach podręcznych informacji.
Ponieważ adres pakietów w strumieniu jest już znany, route cache służy również do sprawdzenia interfejsu docelowego, przez który pakiet powinien opuścić router. Następnie pakiet ma przepisywany nagłówek warstwy 2 a procesor interfejsu oblicza sumę CRC. Kolejne pakiety z potoku nie przerywają działania procesora głównego, a ponieważ interfejs docelowy jest znany (przechowywany w route cache) również bufory systemowe nie są używane do przetrzymywania pakietu.
Fast switching jest domyślnym mechanizmem komutacji na routerach 1600, 1700, 2500 oraz 2600 na interfejsach Ethernet, FastEthernet oraz Serial. Jeśli fast stwitching zostało wyłączone, można przywrocić je używajac polecenia ip route-cache na interfejsie. Aby monitorować informacje o działaniu tego mechanizmu, należy wydać komende show ip cache.
Optimum oraz Distributed Switching
Metody te nie są dostępne w routerach serii 1600, 1700, 2500 oraz 2600. Przy optimum switching używana jest metoda podobna do fast switching, z tym, że po tym jak pierwszy pakiet strumienia został przetworzony, informacja o trasie dla dalszych pakietów jest wpisywana do osobnej pamięci podręcznej (optimum switching cache), która działa szybciej i optymalniej niż w metodzie fast. Optimum switching dostępne jest na routerach klasy 7200.
Aby włączyć optimum switching należy wydać komende: ip route-cache optimum na każdym interfejsie. Monitoring lub troubleshooting wymaga użycia komendy: show ip cache optimum.
Distributed switching wymaga z kolei użycia osobnych Versatile Interface Processor (VIP). Karta VIP przechowuje lokalną kopię route cache i przeprowadza cały proces komutacji lokalnie - interfejs nie musi czekać na pamięć.
NetFlow Switching
NetFlow switching pozwala na zbieranie informacji o ruchu IP do celów rozliczeniowych i/lub dokładniejszej analizy obciążenia sieci. NetFlow używa domyślnie fast switchingu lub optimum switchingu do przekazywania ruchu IP. Strumienie (ang. flows) śledzone są z dokładnością do protokołu, portu (TCP/UDP), typu serwisu. Informacje te mogą być eksportowane do stacji zarządzającej. Ponieważ dane zbierane przez NetFlow są przechowywane w routing cache, proces komutacji NetFlow jest przeźroczysty dla wszystkich urządzeń sieciowych. NetFlow zwiększa jednak obciążenie procesora oraz pamięci. Domyślnie NetFlow cache używa 64 bajty pamięci na każdy strumień.
Komutację NetFlow można włączyć wydając polecenie ip route-cache flow. Aby monitorować pracę NetFlow można użyć polecenia show ip cache flow. Eksport danych NetFlow następuje dopiero, gdy wskażesz adresata danych poleceniem ip flow-export adres_IP.
Cisco Express Forwarding - CEF
Tablica FIB (ang. Forwarding Information Base) używana jest do przechowywania wszystkich znanych tras z tablicy routingu, a do jej przeszukiwania używany jest zaawansowany algorytm. FIB zmienia się, jeśli zmieniają się wpisy w tablicy routingu routera. Tablica FIB (ewentualnie CEF table) implementowana jest jako "zmniejszona" tablica routingu, za pomocą 256-ścieżkowej tablicy mtrie. Aby wyświetlic tablicę użyj polecenia show ip cef summary. W tablicy każdy węzeł (ang. node) może posiadać do 256 "dzieci". Każde "dziecko" (link) używane jest do reprezentacji innego adresu dla każdego oktetu w adresie IPv4.
Tablica sąsiedztw (ang. adjacency) używana jest w mechaniźmie CEF do przechowywania informacji o sąsiadach. Sąsiadem może zostać tylko taki host, który jest w odległości jednego hopa. Tablica sąsiedztw przechowuje adresy warstwy 2 sąsiadów, dla każdego wpisu w FIB. Aby wyświetlić tablicę użyj polecenia show adjacency.
Ponieważ adresy docelowe mogą mieć więcej niż jedną scieżkę, CEF może zostać użyty do rozkładania obciążenia (ang. load balancing), poprzez różne ścieżki. Jeśli interfejs otrzymuje pakiet i włączony jest mechanizm CEF, router przeszukuje tablicę FIB. Po znalezieniu pasujących informacji, tworzony jest nagłówek warstwy 2 i pakiet jest komutowany.
CEF opisano dokładniej tutaj: http://www.cisco.com/warp/public/cc/pd/iosw/iore/tech/cef_wp.htm.
Jeśli masz ochotę poczytać dokładniej o metodach komutacji, warto zajrzeć do podręcznika do najnowszej wersji IOS poświęconego właśnie tym zagadnieniom: http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/swit_vcg.htm.
Na platformach, które CEF wspierają i w których załadowano IOS z feature-setem obsługującym go, wystarczy wydać polecenie:
router(config)# ip cef
Spowoduje to włączenie na wszystkich interfejsach tego routera, chyba, że w konfiguracji konkretnego interfejsu(-ów) wskazano wprost inny rodzaj mechanizmu komutacji, lub w ogóle wyłączono na nim jakiekolwiek mechanizmy (np. poleceniem no ip route-cache).
W nowych IOSach (ścieżka 12.2 i 12.3) samo włączenie CEFu powoduje włączenie również zaawansowanych mechanizmów dla ruchu obsługiwanego route-mapami. Na pozostałych platformach należy dodatkowo w definicji konkretnego interfejsu (do którego już przypisano polecenie ip route-map nazwa_route_mapy). dodać:
router(config)# interface FastEthernet 0/0 router(config-if)# ip route-map moja-mapa router(config-if)# ip route-cache policy
Jeśli włączyłeś CEF i nie wiesz, czy obsługuje on również ruch obsługiwany przez route-mapy, sprawdź to na przykład tak:
router# show ip interface FastEthernet 0/0 | include route-cache IP route-cache flags are Fast, CEF
Jeśli natomiast mechanizm CEF jest wyłączony (ale włączony pozostaje fast-switching, domyślna konfiguracja wielu mniejszych routerów), stan interfejsu wygląda tak:
router# show ip interface FastEthernet 0/0 | include route-cache IP route-cache flags are none
Posługując się poleceniem `show ip interface X'.
router# show ip interface FastEthernet 0/0
FastEthernet0/0 is up, line protocol is up
Internet address is 169.254.10.1/24
Broadcast address is 255.255.255.255
[...]
IP fast switching is enabled
IP fast switching on the same interface is disabled
IP Flow switching is disabled
IP CEF switching is enabled
IP CEF Fast switching turbo vector
IP multicast fast switching is enabled
IP multicast distributed fast switching is disabled
IP route-cache flags are Fast, CEF
Posługując się poleceniem `show interface stats'.
router# show interface switching
FastEthernet0/0 Do sieci LAN
Throttle count 0
Drops RP 4102 SP 0
SPD Flushes Fast 0 SSE 0
SPD Aggress Fast 0
SPD Priority Inputs 344036 Drops 0
Protocol Path Pkts In Chars In Pkts Out Chars Out
Other Process 0 0 29273 1756380
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
IP Process 27314376 623508416 7373999 764616258
Cache misses 0
Fast 50915903 2865863510 70504415 1275783563
Auton/SSE 0 0 0 0
ARP Process 350986 21059160 143215 8592900
Cache misses 0
Fast 0 0 0 0
Auton/SSE 0 0 0 0
Jak widać, fast-switching obsłużył na interfejsie FastEthernet 0/0 50,915,903 pakiety przychodzące i 70,504,415 pakietów wychodzących. Tylko 27,314,376 pakietów przychodzących i 7,373,999 pakietów wychodzących obsługiwane było przez process-switching.
Poniżej to samo, ale dla interfejsu szeregowego:
Serial0/0 Throttle count 0 Drops RP 511 SP 0 SPD Flushes Fast 0 SSE 0 SPD Aggress Fast 0 SPD Priority Inputs 60384 Drops 0 Protocol Path Pkts In Chars In Pkts Out Chars Out Other Process 0 0 29282 409958 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0 IP Process 4418141 455923877 24316765 123842058 Cache misses 0 Fast 37269672 2769716975 17250459 2590666322 Auton/SSE 0 0 0 0
Najprawdopodobniej problemem jest wyczerpanie pamięci na wykonywanie translacji NAT. Jeśli masz stacje intensywnie korzystające z NAT, powinieneś skrócić czasy życia translacji - oszczędzając w ten sposób pamięć.
router(config)# ip nat ip nat translation timeout X
...gdzie X to limit czasu dla bezczynnej translacji w sekundach. Domyślnie równy jest 86400, czyli 24 godziny. Sensowną wartością na początek byłoby 3600, czyli 1 godzina.
Limit ten dotyczy jednak tylko translacji, które nie odbywają się w ramach translacji typu overload, czyli takiej, w której liczba stacji z adresami prywatnymi jest większa, niż liczba publicznych adresów IP (innymi słowy, jeśli masz 1 czy 2 adresy publiczne, a sieć LAN ma 200 stacji, takiej translacji właśnie używasz).
Aby w takiej sytuacji skrócić domyślne czasy translacji, należy użyć następujących poleceń (jeśli używasz dla swojej sieci zarówno translacji typu overload jak i 1:1, zastosuj oba wpisy):
router(config)# ip nat ip nat translation tcp-timeout A
..gdzie A to limit czasu w sekundach dla połączeń TCP (domyślnie również 86400, czyli 24 godziny). Jeśli masz opisane wyżej problemy - skróć czas translacji TCP na początek do 1 godziny (3600).
Jeśli to stacje z systemem operacyjnym Microsoft Windows, to problem mogą powodować połączenia z i do mechanizmów Microsoft Networking, pracujących standardowo w zakresie portów 135-139 zarówno w oparciu o TCP jak i UDP.
Jeśli Twoja konfiguracja NAT wygląda obecnie tak:
interface Ethernet0 ip nat inside ! interface Ethernet1 ip nat outside ! 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
...wystarczy, że zmienisz ACL 100 tak, by odrzucała ruch należący do Microsoft Networking. Docelowo lista ta powinna wyglądać np. tak:
access-list 100 deny tcp any any range 135 139 access-list 100 deny udp any any range 135 139 access-list 100 deny tcp any range 135 139 any access-list 100 deny udp any range 135 139 any access-list 100 permit ip 192.168.0.0 0.0.0.255 any access-list 100 deny ip any any
Informacje podawane w zestawieniach dotyczą zwykle kpps lub Mpps - oznaczające odpowienio kilo pakietów na sekundę i mega pakietów na sekundę. Np. 100 kpps oznacza wydajność rzędu 100,000 pakietów na sekundę.
Teraz zderzamy się z rzeczywistością.
Po pierwsze, taka wydajność osiągana jest bez skonfigurowanych żadnych usług (NAT, ACL, QoS itp.) i jest sumą ruchu do i z routera.
Po drugie, wartości te podawane są niestety dla różnych wielkości pakietów. Z uwagi na konstrukcję i działanie, router gorzej znosi routing pakietów mniejszych (np. 64-bajtowych), ponieważ dla każdego musi wykonać pewien zestaw czynności, a lepiej większych (np. 1500-bajtowych). Co więcej, routing tej samej ilości pakietów ale o różnych rozmiarach, daje diametralnie różne wartości przepustowości - 100kpps dla pakietów o długości 64-bajtów to "zaledwie" 51Mbit/s, ale już dla pakietów 1500-bajtowych - 1,2Gbit/s! Przyjeło się, zgodnie z RFC dotyczącym pomiaru wydajności routerów, że pomiary powinny być wykonywane dla wielu rozmiarów pakietów - ale producenci podają zwykle pomiary wykonane dla pakietów o długości 384-512 bajtów.
Po trzecie w końcu, należy wziąć pod uwagę architekturę urządzenia - routery Cisco są w stanie wykonywać routing na wiele różnych sposobów, począwszy od routingu wykonywanego tylko przez procesor (ang. process switching) po wykorzystanie zaawansowanych mechanizmów opracowanych w tej firmie (np. ang. CEF, Cisco Express Forwarding).
W zależności od zbioru realnie używanych usług, czyli ACL, QoS, NATa czy protokołów routingu, dany router może być idealny do danego zastosowania, lub na przykład zupełnie się do niego nie nadawać.
W sytuacji gdy dysponujesz jednym łączem do Internetu, o przepustowości do 2Mbit/s (symetrycznie), dobrym wyborem będzie router klasy 1700. Przy sensownych kompromisach, router sprawdzi się również w konfiguracji z dwoma łączami 2Mbit/s.
Routery serii 2600XM (routery bez literek XM mają słabsze procesory i mniej pamięci, nie są już produkowane ani sprzedawane) produkowane są w trzech wersjach biorąc pod uwagę procesory, oraz w dwóch wersjach wyposażenia w interfejsy (jeden lub dwa interfejsy FastEthernet). Routery te sprawdzają się w instalacjach z dwoma-trzema łączami 2Mbit/s, lub wymagających koncentracji połączeń typu dial-up (moduły z 4 i 8 portami ISDN BRI, czy 16 i 32 portami asynchronicznymi). Wydajność tej serii wg. Cisco wynosi od 20kpps (2610XM/2611XM), przez 30kpps (2620XM/2621XM) po 40kpps (2650XM/2651XM) czy 70kpps (2691).
Routery serii 3600 wyszły już z produkcji i sprzedaży (w grudniu 2003r.). Ich podstawowym mankamentem był brak zabudowanych interfejsów Ethernet (tylko 3661/3662 miały odpowiednio jeden i dwa). Doskonale sprawdzają się w scenariuszach, w których wymagana jest agregacja dużej ilości portów ISDN BRI, PRI, asynchronicznych czy też E1/G.703 (dostępne są również moduły ATM, ale o wydajności OC3 można niestety tylko pomarzyć na tej platformie). Przy rozbudowanej do maksimum pamięci RAM (dla 3620 do 64MB, dla 3640/3640A do 128MB, dla 3660 do 256MB), oraz sensownej konfiguracji, router 3660 całkiem dobrze sprawdzają się w konfiguracjach z "małym" BGP. Wydajność tej serii wg. Cisco wynosi od 35kpps (3620), przez 50kpps (3640/3640A) do ~110kpps dla 3661/3662.
Routery serii 3700 - 3725 i 3745 to następcy serii 3600. Posiadają odpowiednio dwa i cztery sloty na moduły NM, po trzy sloty WIC i po dwa sloty AIM. Dodatkowo, na obu zainstalowano na stałe dwa porty FastEthernet. Biorąc pod uwagę fakt, że można na nich zainstalować maksymalnie 256MB RAM, mogą sprawdzić się w sytuacjach w których do tej pory sprawdzała się seria 3600 oraz z routingiem BGP. Wydajność 3725 Cisco ocenia na 100kpps, a 3745 - 225kpps.
Nie ma uniwersalnych metod "optymalizacji" routera - dam Ci tylko pewne wskazówki, które mogą, ale nie muszą(!), pomóc.
Włącz CEF ( ip cef ) - automatycznie spowoduje to włączenie mechanizmu zwiększanie wydajności na wszystkich interfejsach sieciowych, które CEF obsługują w danym IOSie. W stosunku do process switchingu, czyli obróbki każdego pakietu przez CPU, wzrost wydajności (lub chociaż spadek obciążenia CPU) powinien być dramatyczny.
Upewnij się, że router nie robi niepotrzebnych rzeczy - wyłącz nieużywane usługi, zoptymalizuj używane ACLki, a te, które kontrolują poprawność routowanego ruchu, zastąp mechanizmem uRPF ( ang. Unicast Reverse-Path Filtering, polecenie ip verify unicast reverse-path ).
Upewnij się, że jeśli wykonujesz NAT, translacji podlega tylko sensowny i pożądany ruch - pozostały blokuj.
Jeśli zamierzasz coś zablokować za pomocą ACLki, zastanów się, czy nie lepiej wykorzystać routingu do wirtualnego interejsu Null 0. Architektura routerów optymalizowana jest do routingu a nie filtrowania pakietów, w związku z czym zwykle routing "w nicość" działa szybciej i stanowi mniejsze obciążenie dla procesora niż filtrowanie tego samego ruchu z odrzucaniem go.
W ACLkach wyłącz logowanie w regułach - powoduje to powrót do obróbki pakietu przez CPU i może powodować wyzwalanie dodatkowych mechanizmów (logowanie na konsolę, do pamięci, do serwerów syslog itp.)
Wyłącz wszelkie włączone sesje odpluskwiania ( undebug all ).
Wyłącz eksport i zbieranie informacji w ramach mechanizmów NetFlow - w szczególności na mniejszych platformach (1700/2600/3600/3700) włączenie tego mechanizmu przy nawet umiarkowanym ruchu może dosłownie zabić router.
Stosuj rozkładanie ruchu w ramach routingu domyślnego, lub w ramach jednego z protokołów routingu dynamicznego, zamiast łącz Mulitlink PPP. Zawsze przy takich łączach upewnij się, że routing pakietów odbywa się za pomocą najoptymalniejszej ścieżki komutacji.
Wykorzystaj tłumienie zdarzeń związanych z IP (ang. IP event dampening) do ograniczenia kosztownych czasowo i obliczeniowo operacji na tablicach routingu.
Zastanów się nad optymalnym doborem protokołu routingu do zadania: w sieciach hierarchicznych OSPF będzie sprawował się lepiej niż EIGRP, a w sieciach z jednym wyjściem do Internetu utrzymywanie routingu BGP jest generalnie bez sensu. Wykorzystaj sumaryzację do oszczędzania procesorów i pamięci.
Dla sesji zestawianych do/z routera, np. peeringu BGP, włącz wykrywanie optymalnego MTU na łączu (ip tcp path-mtu-discovery). Domyślna wartość MSS (segmentu TCP) to 536 bajtów - na łączach typu Ethernet czy ATM jest mało optymalna. Zmiana ta powinna zmniejszyć ilość pakietów, a wydłużyć ich wielkość, dzięki czemu do przesłania informacji będzie potrzeba mniej pakietów. Dla Ethernetu wartość MSS wynosi generalnie 1460 bajtów, a np. dla łącz PoS - 4430 bajtów.
Staraj się korzystać z połączeń przez sieć (Telnet/SSH) a nie przez konsolę. Na wszystkich platformach, każdy znak otrzymany/wysyłany do konsoli obsługiwany jest przez procesor (ew. główny procesor), wywołujący w tym celu przerwanie. Na tej samej zasadzie, staraj się nie korzystać z portu AUX routera, jeśli nie jest to konieczne.
Nie, ale pamiętaj, że Cisco TAC nie wspiera konfiguracji, w których na sprzęcie Cisco zainstalowano nieoryginalne pamięci.
Bardzo dobre pamięci do routerów i przełączników Cisco sprzedaje Kingston - łącznie, z konfiguratorem dostępnym tutaj: http://www.kingston.com/products/default.asp.
Zbiór dostępnych kabli wraz z ich rysunkami znajduje się tutaj: http://www.cisco.com/univercd/cc/td/doc/pcat/#ch8.
Notki pojawiają się zwykle jako biuletyny na stronach poszczególnych produktów, można również posiadając konto CCO zapisać się do rozsyłanego e-mailem biuletynu informacyjnego.
Produkty obecnie zaklasyfikowane jako EoL, czyli End of Life zebrano tutaj: http://www.cisco.com/univercd/cc/td/doc/pcat/#ch27.
Możesz skorzystać z transferu pliku przez konsolę (rozwiązanie wolniejsze) i przez TFTP - rozwiązanie zdecydowanie szybsze.
Zakładam, że obraz Cisco IOS znajduje się w miejscu dla Ciebie dostępnym i masz możliwość transmisji XMODEM ze swojego terminala a nazwa pliku z IOSem to `c2600-i-mz.123-1a.bin'. Wydaj polecenie:
rommon 1> c2600-i-mz.123-1a.bin
Do not start the sending program yet...
device does not contain a valid magic number
dir: cannot open device "flash:"
WARNING: All existing data in bootflash will be lost!
Invoke this application only for disaster recovery.
Do you wish to continue? y/n [n]:
Należy potwierdzić transmisję klawiszem Y a następnie po pokazaniu się komunikatu:
Ready to receive c2600-i-mz.123-1a.bin...
Włączyć transmisję XMODEM ze swojego terminala, obrazu z Cisco IOS. Jeśli wszystko się powiedzie, router należy zresetować - można to zrobić sprzętowo, lub poleceniem:
rommon 2> reset
Po starcie routera powinien załadować się IOS:
program load complete, entry point: 0x80008000, size: 0x54ab60
Self decompressing the image : #################################################
######################################################### [OK]
Zakładam, że obraz Cisco IOS znajduje się w miejscu dla Ciebie dostępnym (w tym przykładzie plik ma nazwę `c2600-i-mz.123-1a.bin'), masz do swojej dyspozycji serwer TFTP skonfigurowany na serwowanie tego pliku i albo połączyłeś się skrosowanym kablem Ethernet do pierwszego portu Ethernet routera ze stacji, albo podłączyłeś ten port do sieci, w której będzie można osiągnąć serwer TFTP.
Należy nadać routerowi tymczasowy adres IP, w podsieci w której znajduje się również Twoja stacja. W naszym przykładzie jest to jedna podsieć - Twoja stacja ma w niej adres 169.254.10.5/24 a routerowi nadamy adres 169.254.10.2/24:
rommon 1> IP_ADDRESS=169.254.10.2 rommon 2> IP_SUBNET_MASK=255.255.255.0 rommon 3> DEFAULT_GATEWAY=169.254.10.1
Należy teraz wskazać adres serwera TFP oraz nazwę pliku:
rommon 4> TFTP_SERVER=169.254.10.5 rommon 5> TFTP_FILE=c2600-i-mz.123-1a.bin
Na koniec, rozpocząc procedurę ściągania obrazu:
rommon 6> tftpdnld
Musisz uzyskać dostęp do konsoli i zresetować router. Zaraz po rozpoczęciu ładowania:
System Bootstrap, Version 12.2(7r) [cmong 7r], RELEASE SOFTWARE (fc1) Copyright (c) 2002 by cisco Systems, Inc. C2600 platform with 65536 Kbytes of main memory
...musisz ze swojego terminala wysłać sekwencję Ctrl+Break. Spowoduje to wejście do ROMMONa:
PC = 0xfff0ac3c, Vector = 0x500, SP = 0x680127c0 monitor: command "boot" aborted due to user interrupt rommon 1>
Pozostaje zmienić rejestr konfiguracyjny na wartość, która pominie wczytanie pliku konfiguracyjnego, a następnie zresetować router:
rommon 1> conf-reg 0x2142 rommon 2> reset
Po załadowaniu się Cisco IOS, wejdź do trybu uprzywilejowanego, skopiuj zawartość pliku startup-config do aktualnej konfiguracji running-config i ewentualnie dokonaj zmiany haseł. Na przykład:
router> enable router# copy startup-config running-config c1760# conf t c1760(config)# enable password moje_nowe_haslo
Domyślnie port przełącznika postara się wynegocjować parametry pracy z podłączoną stacją, oraz sprawdzić, czy nie uczestniczy ona w pracy mechanizmu Spanning Tree. Ponieważ zwykła karta sieciowa nie wynegocjuje trunku 802.1Q czy ISL, ani innych dodatkowych usług, warto ustawić porty podłączone do zwykłych stacji w tryb pomijający te testy.
Dla przełączników z systemem Cisco IOS:
switch(config)# interface fastethernet 0/6 switch(config-if)# spanning-tree portfast
Dla przełączników z systemem CatOS:
switch > (enable) set port host 4/9