Cisco Systems - Cisco Certified Network Associate

Źródła:

  1. Kurs CCNAv7: Introduction to Networks - netacad.com. Dostęp do kursu zapewniony podczas kursów Cisco CCNA na jeden z uczelnii wyższych w Polsce. Autor nieznany/wielu autorów na przestrzeni lat.
            _               _
        _  | |  _       _  | |  _
    _  | | | | | |  _  | | | | | |  _
   |_| |_| | | |_| |_| |_| | | |_| |_|
           |_|             |_| 
    ____   ___   ____     ____    ___  
   / ___| |_ _| / ___|   / ___|  / _ \ 
  | |      | |  \___ \  | |     | | | |
  | |___   | |   ___) | | |___  | |_| |
   \____| |___| |____/   \____|  \___/ 
                                     

0. Wstęp

Pod koniec wakacji zeszłego roku w pracy (tej nowej, której szukałem przygotowując materiał o RHCSA), kierownik podsłał mi propozycje kursu z certyfikacji Cisco CCNA, która odbywała się na wydziale informatyki jednej z miejscowych uczelni wyższych w kraju. Pomyślałem sobie, że może być ciekawie, ale poźniej trochę ekscytacja opadła po pierwsze, ponieważ sieci nigdy nie były obiektem jakiś moich większych zainteresowań. Dalej nie wiem jako to się stało, że pracuje jako administrator sieci. Więc po dłużyszych działaniach biurokratycznych (kurs w pełni finansowany przez pracodawce - umowa szkoleniowa - lojalka - 5500 brutto albo przez 3 lata zostajesz w firmie), zapisałem się na kurs. Na pierwszych zajęciach nawet nie byłem, zmęczony byłem podróżom z i do stolicy. Dostałem maila od wykładowcy z dostępem do wydziałowego moodle-a oraz platformy netacad.com. Gdzie można było pobrać Packet Tracer, same wykłady prowadzone na wydziale były super, dużo gadania, dyskusji czy luźnych rozkmin, a i gdzieś tam miałem szanse dotknąć sprzetu Po trzecim temacie przyszedł czas tzw. egzaminów cząstkowych - zwykłych testów, które należało zaliczyć. Wyszystko ładnie pięknie, ale z czegoś się trzeba przygotować, nie uważam, że wykładowca nas nie przygotował, ale pierwszy egzamin cząstkowy, już pokazywał że wiedza z wykładów jest ciekawa i na pewno niesie ze sobą wiecej wartości merytorycznej niż to co oferuje firma Cisco. Same materiały zapewnione przez Cisco do nauki dla kursantów są wątłej jakości, tłumaczenie na język polski to ło Matko, ło Jezu. A prezentacje w PowerPoint w języku angielskim, potrafią nie zawierać przykładów, czy zawierać błędy w poleceniach lub opisy mogą niepasować do niektórych terminów (ale nie to, że merytorycznie coś jest nie tak, są po prostu zamienione w tabeli miejscami XD), same egzaminy również zawierają pokrętnie napisane pytania. Na przykład pytania o topologię hybrydową, o której nie ma ani słowa materiałach. Albo brak poprawnej odpowiedzi odnośnie działania zapory pakietów czy zapory stanowej. Także mentalnie trzeba się przygotować do tego, że chociaż by się nie wiadomo jak mocno starać, to i tak nie uzyskać się maksymalnej ilości punktów, albo kolejne ciekawa rzecz, wg. kryteriów oceniania kursu CCNA firmy Cisco, to pracownik, który próbuje złamać hasło innego pracownika jest słabością a nie atakiem. Także wiecie z czym macie doczynienia, dlatego I DON'T GIVE A SHIT czy zdam czy niezdam. Mi zostanie wiedza z kursów i miło spędzony czas na wykładach a pracodawcy wystarczy zaświadczenie o ukończeniu kursu wydane przez uniwersytet. Kiedyś nie było to możliwe, kiedyś trzeba było mieć wszystko zaliczone, aby iść dalej teraz już nie.

Przedstawione tutaj informacje mogą nie tyle mijać się z celem, co być nie kompletne na dzień dzisiejszy. Celem tego kursu najwidoczniej nie jest nauka z zakresu sieci komputerowych (poniekąd), tylko uzyskanie certyfikatów, chcąc certyfikować ludzi na całym świecie trzeba utworzyć pewien standard, a zdający muszą zdawać zgodnie z tym standardem (kluczem).

1. Moduł 1: Wprowadzenie do sieci komputerowych

1.1. Sieci dzisiaj

W dzisiejszym świecie wszystko chce być podłączone do Internetu, czy korzystać z zasobów rozległych sieci. Nie zawsze tak było. Czasy się zmieniają, i to czy podążymy za nimi to już nasza decyzja. Każdy obecnie ma smartfon w kieszeni, u większości osób na ścianie wiszą telewizory, które służą do oglądania stricte kanałów telewizyjny a platform streamingowych. Czy kto kolwiek zadał sobie to pytanie jak to wszystko funkcjonuje chociaż raz. Raczej nie, po co sobie zaprzątać tym głowe. Ten rozdział nie będzie o tym, ponieważ to są materiały przygotowe przez Cisco, więc można go potraktować z przymrużeniem oka.

1.1.1. Komponenty sieciowe

Każdy komputer w sieci nazywany jest hostem lub urządzeniem końcowym. Serwery są komputerami, które dostarczają informacji urządzeniom końcowym, np. serwery pocztowe, serwery WWW czy serwery plików. Klienci to komputery, które wysyłają żądania do serwerów aby otrzymać odpowiednie informacje.

Możliwe jest aby jedno urządzenie było jednocześnie klieten oraz serwerem. Jest to połączenie Peer-to-Peer. Tego typu rozwiązania są dobre do małych sieci.

Po za hostem w sieciach istnieją jeszcze urządzenia pośrednie. Ich zadaniem jest łączyć ze sobą hosty. Do takich urządzeń możemy zaliczyć routery, przełączniki, zapory sprzętowe, czy access pointy.

Do łączenia ze sobą hostów wykorzystuje się media. To media transmisyjne pozwalają na przesył informacji między komponentami sieciowymi. Z pośród mediów transmisyjnych możemy wyróżnić okablowanie miedziane - wykorzystujące impulsy elektryczne, okablowanie światłowodowe - wykorzysujące impulsy świetlne czy powietrze wykorzysujące fale radiowe oraz mikrofalowe.

1.1.2. Powszechne rodzaje sieci

Sieci mają różne rozmiary. Sieci domowe zazwyczaj łączą ze sobą kilka komputerów/urządzeń. Sieci klasy SOHO, mogą wcale nie różnić się od sieci domowych. Mogą być to oddziały firmy, a jedyną róznicą może być dobrej klasy łącze, aby można było bezpiecznie i bez trudu komunikować się z siecią w siedzibie firmy. Średnie i duże firmy mogą łączyć ze sobą setki jak nie tysiące komputerów w tym kilka budynków. Największe sieci to te o zasięgu globalnym, np. Internet.

Sieci można podzielić na podstawie: zasiegu, liczby podłączonych użytkowników, liczby i rodzaju dostępnych usług czy obszaru odpowiedzialności. Istnieją dwa rodzaje najczęściej spotykanych sieci: sieci lokalne (LAN) oraz sieci rozległe (WAN). Sieci lokalne obejmują co najwyżej obszar kilku budynków, gdzie sieci rozległe mogą łączyć ze sobą naprawdę odległe sieci lokalne.

Internet jest zbiorem połączonych ze sobą sieci LAN i WAN. LAN-y razej łączą się przez inne sieci WAN. Intenet nie należy do nikogo, chociaż są grupy takie jak ICANN oraz IETF, które zajmują się przestrzenią adresową czy rozwojem protokółów.

Intranet jest zbiorem LAN-ów oraz WAN-ów w obrębie jednej organizacji oznacza to również, że do tej sieci mają dostęp tylko określeni członkowie organizacji oraz inni, którzy mogą się zautoryzować. Firmy korzystają z ekstranetu aby zapewnić dostęp do wybranych zasobów ściśle określonym użytkownikom.

1.1.3. Połączenia z Internetem

Obecnie zwykli użytkownicy w domach oraz duże organizację mogą łączyć się z internetem w różny sposób. Każdy głównie korzysta ze sposobów na który pozwalają warunki technicze naszej lokalizacji oraz zasób naszego portfela.

Użytkownicy domowi wykorzystują takie łącza jak: kablówka/sieć osiedlowa, DSL, połączenia radiowe oraz połączenia sieci komórkowej.

Organizacje mają o wiele wieksze potrzeby oraz wymagania dotyczące łączności internetowej dlatego też wymagane jest dobre jakości stałe łącze dlatego też odpowiednimi dla nich łączami będzie biznesowa wersja DSL, łącze dzierżawcze oraz sieć miejska, która może skupiać najważniejsze ośrodki badawczo-przemysłowe w danym mieście.

Dziś internet staje się podobnie niezbędnym medium jak prąd czy woda. Obecnie rezygnuje się z telefonów czy telewizji na rzecz własnie internetu. Za pomocą właśnie internetu możemy prowadzić rozmowy telefoniczne czy oglądać telewizje. Takie zajwisko nazywane jest konwergencją sieci. Sieć telewizyjna oraz sieć telefonicza zostały połączone w jedną jak stał się internet.

Zadanie praktyczne - Packet Tracer

Reprezentacja sieci - scenariusz Reprezentacja sieci - zadanie

1.1.4. Niezawodność sieci

Architektura sieciowa odnosi się do technologii wspierających infrastrukturę, która przenosi dane przez sieć. Istnieją cztery podstawowe cechy charakterystyczne, które muszą być podwaliną każdej architektury sieciowej, aby móc spełnić oczekiwania użytkowników. Są nimi: odporność na błędy, skalowalność, QoS czy bezpieczeństwo.

Sieci z odpornością na błędy ograniczają wpływ problemu po przez zmniejszenie dotkniętych nim urządzeń. W sieciach taką tolerancją błędów, może być zapewnienie połączeń nadmiarowych. Oczwywiście wymaga to zastosowania bardziej zaawansowanych technologii.

Skalowalne sieci komputerowe, można w prosty i szybki sposób rozszerzyć bez wpływu na wydajność pozostałych użytkowników. Projektanci sieci projektują ją zgodnie ze standardami oraz powszechnie wykorzystywanymi protokołami, aby zapewnić jej skalowalność.

OoS - ang. Quality of Service jest podstawowym mechanizmem używanym do zapewnienia niezawodności dostarczenia danych do wszystkich użytkowników. Za pomocą zastosowanej polityki QoS routery mogą regulować przesył ruchu danych czy przesyłanie głosu.

Są dwa główne rodzaje bezepieczeństwa sieci jaki trzeba zapewnić: bezpieczeństwo infrastruktury sieciowej oraz bezpieczeństwo informacji. Na bezpiczeństwo sieci składa się fizyczne zabezpieczenie urządzeń sieciowych oraz ochronę przed nieuprawnionym dostępem do nich. Natomiast bezpieczeństwo informacji polega na zabepieczeniu informacji lub danych przesyłanych przez sieć. Są trzy podstawowe cele bezpieczeństwa sieci: poufność - tylko określeni odbiorcy mogą odczytać przesyłane dane, integralność - zapewnienie, że dane nie zostały zmienione podczas transmisji oraz dostępność - zapewnienie o niezawodnym dostępie do danych przez autoryzowanych użytkowników.

1.1.5. Trendy sieciowe

Role sieci wymagają ciągłych zmian, ciągłego dostosowania aby nądąrzyć za ciągle pojawiąjcymi się na rynku urządzeniami. Możemy wyróżnić kilka nowych trendów, majacych wpływ na organizację:

Bring Your Own Device (BYOD), ang. przynieś swoje urządzenie, pozwala użytkownikom używać ich własnych urządzenie co daje im więcej możliwości oraz większą elastyczność. BYOD pozwala użytkownikom końcowym na używanie ich własnych (ulubionych) narzędzi. BYOD oznacza dowolne urządzenie w posiadaniu rożnych osób, używane gdzie kolwiek.

Współpraca online pozwala wspólną pracę nad wieloma projektami z różnymi ludźmi na odległość z pośrednictwem sieci. Do tego celu często wykorzystywan są takie aplikacje jak MS Teams czy Cisco Webex. Takie podjeście swietnie odnajduje się biznesie czy edukacji.

Połączenia wideo mogą być wykonywane przez kogo kolwiek gdzie kolwiek jest są one poteżnym narzędziem do komunikacji z innymi. Konferencje wideo stały się wręcz wymogiem do efektywnej współpracy.

Przetwarzanie chmurowe pozwala na przechowywanie osobistych danych na na serwerach w internecie. Możliwe jest również dostarczanie zasobów komputerów (np. w celach wirtualizacji) jak i samych aplikacji. Przetwarzanie chmurowe jest obsługiwane najczęsciej przez ogromne korporacje takie jak Amazon czy Google. Mozemy wyróżnić cztery rodzaje chmur:

1.1.6. Bezpieczeństwo sieci

Bezpieczeństwo jest integralną częścią sieci, bez znaczenia na jej wielkość. Musi ono zostać zaimplentowane w taki sposób aby nie wpłyneło za bardzo na wymagania dotyczące łączności. Zabezpieczenie sieci angażuje wiele protokołów, technologii, urządzeń, narzędzi czy technik w celu zabepieczenia danych oraz złagodzenia zagrożeń, które mogą pochodzić jak najbardziej z zewnątrz ale ich źródło może być równie dobrze z wewnątrz organizacji.

Z pośród zagrożeń zewnętrznych możemy wymień takie jak:

Natomiast zagrożenia wewnętrzne to między innymi:

Zabepieczenia powinny obejmować wiele warstw, składać się z większej ilości rozwiązań. Dla małej sieci domowej, wystarczy dobrej jakości program antywirusowy zainstalowany na urządzeniach końcowych oraz firewall blokujący nieautoryzowanych dostęp do sieci.

Przy czym dla większych sieci stosuje się nieco bardziej wyrafinowane rozwiązania takie jak: dedykowany firewall, listy kontroli dostępu (ACL), systemy zapobiegania włamaniom (IPS), wirtualne sieci prywatne (VPN). Zrozumienie bezpieczeństa sieci rozpoczyna się od dobrego zrozumienie infrastruktury sieci, w tym przełączników oraz routerów.

Podsumowanie

Tym rozdziałem rozpoczynamy kurs. W ramach tego rodziału poznaliśmy współczene trendy sieciowe oraz to jak w obecnych czas istotne jest połączenie z Intenetem za pośrednictwem nawet najmniejszej sieci.

1.2. Podstawowa konfiguracja przełącznika oraz urządzenia końcowego

W tym rodzdziale nie bedziemy skupiać się na konfiguracji urządzenia końcowego, jakby tytuł sugerował. To wydaje mi się, że każdy potrafi, prawda? Skupimy się na zapoznaniu z system IOS, będącym oprogramowaniem urządzeń firmy Cisco oraz jak wyglądają takie podstawowe czynności, które należy wykonać na tym urządzeniu przed już bardziej ukierunkowaną na konkretne urządzenie konfiguracją.

1.2.1. Dostęp do systemu Cisco IOS

Słowem wstępu systemy komputerowe składają się z sprzętu oraz oprogramowania. Aby uruchamiać specyficzne oprogramowanie potrzebujemy platformy programowej zapewniającej wszystkie niezbędne składniki do uruchomienia wybranych programów. Tym jest właśnie system operacyjny. Systemy operacyjne składają się z jądra, przestrzeni użytkownika oraz powłoki. Powłoka z kolei jest to interfejs pozwalający na prowadzenie interakcji z systemem operacyjnym a co za tym idzie z naszym sprzętem komputerowym. Powłoką może być interfejs graficzny lub program dający dostęp do wiersza polecenia oraz interpretujący co zostało w nim zapisane. Systemami składającymi się z jadra oraz powłoki są najczęściej systemy wbudowane takie jak Cisco IOS.

Dostęp do IOS możemy uzyskać na 3 sposoby: połaczeniem konsolowym za pomocą kabli szeregowych połączanych do portu szeregowego komputera oraz do portu konsolowego urządzenia. Jeśli urządzenie jest przywrócone do ustawień fabrycznych to raczej może nie być innej możliwości. Połączenia szeregowe w przypadku urządzeń Cisco mogą być zestawione przy użyciu istniejącego okablowania sieciowego. Innym sposobem jest wykorzystanie połączeń przy użyciu protokołów SSH oraz Telnet. Przyczym warto mieć na uwadzę, że Telnet nie jest bezpiecznym protokołem, ponieważ przesyła on informacje za pomocą jawnego tekstu. Programów do połączenia się z urządzeniami Cisco jest kilka, najpopularniejszym z nich jest chyba program PuTTY, zapewnia on wspracie dla wszystkich wymienionych rodzajów połączeń.

1.2.2. Nawigacja po systemie IOS

Po połączeniu z naszym urządzeniem do dyspozycji będziemy mieć dwa tryby wykonywania poleceń tryb użytkownika EXEC znak zachęty może wyglądać wówczas tak:

Router>
Switch>

Tryb ten jest domyślnym uruchamiany zaraz po podłączeniu się do urządzenia o ile urządzenie nie wymaga logowania. Tryb ten zapewnia ograniczoną liczbę poleceń i pozwala na wydanie kilku poleceń monitorujących.

Innym trybem jest tryb uprzywilejowany EXEC, jest coś w rodzaju administratora urządzenia, ten tryb pozwala na zmianę trybów konfiguracji, w tym trybie znaki zachęty mogą wyglądać w ten sposób:

Router#
Switch#

W urządzeniach Cisco, mamy dostępny tryb konfiguracji globalnej, wykorzystywany do konfiguracji parametrów urządzenia. Ten tryb posiada dwa podtryby: tryb konfiguracji linii, za jego pomocą konfigurujemy dostęp do urządzenia. Drugin podtrybem jest tryb konfiguracji interfejsu.

Po podłączeniu się do urządzenia, automatycznie przechodzimy do trybu użytkownika EXEC, chcąc przejść do trybu uprzywilejowanego wydajemy polecenie enable. W tym trybie możemy już skonfigurować kilka opcji, jeśli jednak interesuje nas konfiguracja dostępu do urządzenia (a powinna), to żeby przjeść do trybu konfiguracji globalnej wydajemy polecenie configure terminal, z tego trybu możemy powrócić wydając polecenie exit. Przjście do konfiguracji dostępu wymaga polecenia line oraz podania trybu dostępu, który chcemy skonfigurować. Dla połączenia szeregowego podajemy console 0 dla połączeń zdalnych podajemy vty, czyli konsole wirtualną, następnie ilość jednoczesnych połączeń dla 5 podajemy 0 4.

Poszczególne tryby możemy opuścić za pomocą polecenia exit, wówczas powrócimy do trybu poprzedniego. Jeśli chcemy zakończyć konfigurację i powrócić do trybu uprzywilejowanego EXEC wydajemy polecenie end. Warto zwrócic uwagę na to, że wraz ze zmienymi trybami zmieniają się znaki zachęty, więc wiemy gdzie jesteśmy.

Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#line console 0
Switch(config-line)#exit
Switch(config)#int vlan1
Switch(config-if)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#

1.2.3. Struktura poleceń

Polecenia składają się z samego polecenia, często identyfikującego program, który będzie uruchamiany. Następnie występują słowa kluczowe oraz argumenty, często będące opcjami oraz modyfikatorami działania głównego polecenia (programu).

IOS posiada funkcje pomocy wywoływaną za pomocą znaku zapytania (?). Za jego pomocą możemy dostępne w danym trybie polecenia, lub sprawdzić dostępne argumenty dla podanych polecen.

Podczas wpisywanie poleceń możemy posłużyć się skrótami poleceń, podając tyle znaków, aby powłoka IOS mogła je jednoznacznie zidentyfikować.

Switch#con
% Ambiguous command: "con"
Switch#con?
configure  connect  
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#

IOS wprowadza również kilka skrótów klawiszowych. Dobrze odnajdą się tutaj użytkownicy powłoki BASH, gdyż IOS jest kompatybilny z GNU Readline. Pod Tab-em mamy dopełnianie poleceń. W przypadku stronicowania ("--More--") mamy do dyspozycji klawisz Enter, który pozwoli na wyświetlenie kolejnej linii stronicowanego tekstu lub Spacją kolejną stronę. Każde naciśniecie innego klawisza spowoduje zakończenie wyświetlania i przejście do trybu EXEC. Zakończenie wprowadzania konfiguracji możemy dokonąć albo za pomocą wyżej wymienionych poleceń, albo za pomocą skrótów takich Ctrl+z lub Ctrl+c. Do przerwania polecenia ping, traceroute czy odwzorowania nazw domenowych należy wykorzystać kombinację klawiszy Ctrl+Shift+6

Zadanie praktyczne - Packet Tracer

Nawigacja w IOS - scenariusz Nawigacja w IOS - zadanie

Laboratorium

Nawigacja w IOS za pomocą Tera Term przez konsolę

1.2.4. Podstawowa konfiguracja urządzeń

Jedno z podstawowych czynności jakie należy wykonać dokonując pierwszej konfiguracji urządzenia z system IOS jest zmiana jego nazwy. Dokonujemy tego za pomocą polecenia hostname, podają wybraną nazwę jako argument polecenia. Nazwy muszą zaczynać się od litery, nie zawierać spacji, muszą zakończyć się literą lub cyfrą, zawierać tylko litery, cyfry lub myślniki. Nazwa nie może przekraczać 64 znaków. Aby przywrócić domyślną nazwę należy użyć polecenia: no hostname.

Następną czynnością jest zabezpieczenie dostępu do urządzenia, przy użyciu hasła. Te czynności musimy wykonać w trybie konfiguracji linii za równo dla konsoli szeregowej jak i konsoli wirtualnych wykorzystywanych przez połączenia SSH oraz Telnet. W trybie konfiguracji globalnej (configure terminal), przechodzimy do konfiguracji linii połączenia szergowego (line console 0), teraz możemy ustawić hasło, pamiętając o zasadach bezpiecznych haseł. Ustawiamy hasło (password) oraz włączamy dostęp do trybu EXEC za pomocą polecenia login. Tę samą czynność powtarzamy dla konsoli wirtualnych, przyczym warto pamiętać, że IOS pozwala na 16 jednoczesnych połączeń więc do przejścia w tryb konfiguracji linii wykorzystujemy następujące polecenie line vty 0 15

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#line console 0
Switch(config-line)#password cisco
Switch(config-line)#login
Switch(config-line)#exit
Switch(config)#line vty 0 15
Switch(config-line)#password cisco
Switch(config-line)#login
Switch(config-line)#exit

Hasła, które widnieją na powyższym przykładnie do najtrudniejszych nie należą nie mniej jednak co z tego jeśli hasło będzie trudne. Jeśli są one przechowywane w postaci jawnego tekstu. Aby się o tym przekonać, możemy wyświetlić obecną konfigurację za pomocą polecenia show running-config, wydanego w uprzywilejowanym trybie EXEC.

...
line con 0
 password cisco
 login
!
line vty 0 4
 password cisco
 login
line vty 5 15
 password cisco
 login
...

Hasła te możemy zaszyfrować wydając w trybie konfiguracji globalnej polecenie service password-encryption.

Switch(config)#service password-enc
Switch(config)#service password-encryption
Switch(config)#exit
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#show running-config
...
!
line con 0
 password 7 0822455D0A16
 login
!
line vty 0 4
 password 7 0822455D0A16
 login
line vty 5 15
 password 7 0822455D0A16
 login
...

Kiedy dostęp do trybu użytkownika jest chroniony hasłem, możemy zabezpieczyć tryb uprzywilejowany wydając odpowiednie polecenie w trybie konfiguracji globalnej.

Switch(config)#enable secret class
Switch(config)#exit

Przy czym class jest własnie tym ustawionym hasłem. Ostatnią czynnością będzie ustawienie informacji na temat tego, że jeśli ktoś się podłączy do naszego urządzenia, to że nie życzymy sobie żadnego nieupoważnionego dostępu. Do tego celu wykorzystamy polecenie banner motd # wiadomość #, polecenie to wydajemy w trybie konfiguracji globalnej. Komunikat musi znajdować się między krzyżykami (#) i nie musi być to włącznie jedna linia (stąd znak początku i końca wiadamości).

Switch(config)#banner motd # Osobom nieupowaznionym, wstep wzbroniony! #
Switch(config)#exit

1.2.5. Zapisywanie konfiguracji

Już we wcześniejszych przykładach wyświetlaliśmy obecnie działającą konfigurację. Ta konfiguracja rezyduje w pamieci RAM, która jest pamięcią ulotną. Jeśli urządzenia straci zasilanie i ono powróci to utracimy całą tą konfigurację, dlatego też urządzenia Cisco mają pamięć NVRAM, która jest nie ulotna. Ale to w naszej gestii jest aby tę konfigurację zapisać, chyba że dojdzie do sytuacji, że nie będziemy chcieli jej zapisać. Nie mniej jednak, aby zapisać konfirgurację w NVRAM należy w trybie uprzywilejowanym EXEC wydać następujące polecenie:

Switch#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]
Switch#

Jeśli podejrzewamy, że obecna konfiguracja jest wadliwa możemy wrócić do konfiguracji startowej z NVRAM, wydając w trybie uprzywilejowanym EXEC polecenie:

Switch#reload
Proceed with reload? [confirm]

Przywrócenie urządzenia do ustawień fabrycznych dokonujemy za pomocą dwóch poleceń wydanych w trybie uprzywilejowanym EXEC.

Switch#erase startup-config 
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
%SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram
Switch#reload
Proceed with reload? [confirm]

Korzystając z programu PuTTY możemy rejestrować naszą sesję połączenia z urządzeniem do pliku. W ten sposób możemy zrzucić sobie konfigurację do pliku tekstowego. Ustawienia session/logging.

1.2.6. Konfiguracja adresacji IP

Z racji tego, że pomineliśmy konfigurację hostów z systemem Windows 10. Możemy przejść od razu do systemu IOS. W przypadku przełączników występuje coś takiego jak SVI - wirtualny interfejs przełącznika i to jemu nadajemy adres w przypadku tego urządzenia. W trybie konfiguracji globalnej przechodzimy do interfejsu vlan1 następnie za pomocą polecenia ip address 192.168.1.2 255.255.255.0 nadajemy mu adres IP, następnie musimy aktywować ten interfejs za pomocą polecenia no shutdown. Poniżej znajduje się przykład, pokazujący te czynności.

Switch(config)#int vlan1
Switch(config-if)#ip addr 192.168.1.2 255.255.255.0
Switch(config-if)#no shutdown

Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan1, changed state to up

Switch(config-if)#
Switch(config-if)#exit

Zadanie praktyczne - Packet Tracer

Konfiguracja ustawień początkowych przełączników - scenariusz Konfiguracja ustawień początkowych przełączników - zadanie Realizacja podstawowej łączności - scenariusz Realizacja podstawowej łączności - zadanie

Podsumowanie

W tym rozdziale zapoznaliśmy z system IOS firmy Cisco, poznaliśmy składnie poleceń, funkcję pomocy oraz przydatne skróty klawiszowe. Na koniec skonfigurowaliśmy przełącznik w podstawowym stopniu.

Zadanie praktyczne - Packet Tracer

Podstawowa konfiguracja przełącznika i urządzenia końcowego - scenariusz Podstawowa konfiguracja przełącznika i urządzenia końcowego - zadanie

Laboratorium

Podstawowa konfiguracja przełącznika i urządzenia końcowego

1.3. Protokoły i modele

Za pomocą protokół oraz modeli możemy wyjaśnić w jaki sposób urządzenia podłączone do sieci mogą uzyskać dostęp do jej zasobów.

1.3.1. Zasady

Sieci komputerowe mogą być rożne pod względem wielkości oraz złożoności. Nie jest wystarczające połączenie między nimi, potrzebne jest również ustalenie wspólnych metod komunikacji. W każdej komunikacji istnieją trzy elementy: źródło (nadawca), cel (odbiorca) oraz kanał (medium), który umożliwia komunikację między jej składnikami.

Większość komunikacji zarządzana jest za pomocą protokołów. Protokoły są zestawem zasad, które należy przestrzegać, aby komunikacja mogła dojść do skutku i te zasady mogą być rożne w zależności od protokołu, a strony komunikacji muszą je zaakceptować.

Protokoły chcąc brać udział w komunikacji sieciowej muszą spełnić takie wymagania jak: kodowanie wiadomości, jej formatowanie oraz enkapsulacja, wielkość wiadomości czy możliwości jej dostarczenia są istotnym czynnikiem tutaj może być to rozłożenie etapów komunikacji w czasie.

Kodowanie jest proces zmiany formy wiadomości do celów transmisji. Natomiast dekodowanie jest procesem odwrotnym do kodowania. Wiadomość powraca do pierwotnej formy w celu interpretacji.

Wysyłana wiadomość musi mieć odpowiednią formę lub strukture. Zależy to od medium przez jakie jest przesyłana. Wiadomości przesyłane przez sieci muszą zostać skonwertowane do postaci bitów. Bity te są poźniej zamieniane na impulsy świetlne, dźwięk czy impulsy elektryczne. Odbiorca musi ten proces odwrócić, aby móc odczytać wiadomość.

Jak wspomniano istotny w komunikacji może być czas, w tym takie zagadnienia jak kontrola przepływu, która zarządza prędkością transmisji. Definiuje jak dużo informacji można przesłać i z jaką prędkością może ona zostać dostarczona. Inną wartoscią jest czas odpowiedzi, który określa ile jedna ze stron może czekać na odpowiedź od drugiej. Kolejnym czynnikiem definiującym poniekąd czas jest dostęp do łącza, w którym określane jest kiedy można wysłać wiadomość. Zapobiega to tworzeniu kolizji - sytuacji kiedy dwóch nadawców zaczyna nadawać na tym samym kanale w tym samym czasie. Niektóre algorytmy dostępu do łącza wykrywają kolizje i organizują retransmisje uszkodzonych danych inne posiadają mechnizmy pozwalające na ich uniknięcie.

Istnieje kilka sposobów na dostarczenie wiadomości. Najprostszą z nich unikast, mamy jednego nadawcę oraz jednego odbiorcę. W inny przypadku wiadomość może trafić do wielu odbiorców będących częścią tej samej grupy - multikast. Ostatni rodzaj dostarczenia to wiadomość skierowana do wszystkich odbiorców - broadkast.

1.3.2. Protokoły

Protokoły sieciowe składają ze zbioru reguł. Mogą one określać zastosowania programowe oraz sprzetowe, jak i oba. Każdy protokół posiada własne funkcje, format czy zasady.

Urządzenia wykorzystują uzgodnione protokoły. Mogą mieć one takie funkcje jak: adresacja - pozwalająca na identyfikację nadawcy i odbiorcy; niezawodność - gwarancje dostarczenia danych; kontrolę przepływu - określającą optymalną prędkość dla przesyłanych danych; sekwencyjność - unikalne oznaczanie danych podczas transmisji; detekcję błędów - określenie czy jakieś dane nie zostały uszkodzone podczas transmisji oraz interfejs aplikacji - pozwalający na komunikację aplikacji z pośrednictwem tego protokołu.

W komunikacji sieciowej wymagane jest stosowanie kilku protokołów, Każdy znich posiada swój format danych. Takimi protokłami są Ethernet, Internet Protocol (IP), Transmission Control Protocol (TCP) czy Hypertext Transfer Protocol (HTTP)

1.3.3. Zestawy protokołów

Protokoły muszą być w stanie współpracować z innymi protokołami. Zestawy protokołów to grupa powiązanych ze sobą protokołów niezbędnych do komunikacji lub zbiór reguł współpracujących ze sobą w celu rozwiązania problemów. Protokoły są często postrzegane w kategoriach warstw: warstw wyższych czy niższych, które mają za zadanie przenieść dane oraz dostarczyć usługi warstwom wyższym.

Obecnie mamy kilka różnych zestawów protokołów. Najczęściej spotykany, zarzązany przez IETF - Internet Protocol Suite lub TCP/IP, Open Systems Interconnection protocols, rozwijany przez organizacje takie jak ISO wraz z ITU. Pozostałe takie Apple Talk czy Novell NetWare nie są już rozwijane ani stosowane w szerszej skali.

Protokoły TCP/IP operują na warstwie aplkacji, transportu, czy internetu. Protokołami dostępu do łącza, a zarazem najpopularniejszymi dla sieci LAN są Ethernet oraz WLAN (sieć bezprzewodowa).

Protokół TCP/IP jest stosem protokołów wykorzystywanym przez sieć Internet i zawierającą wiele protokołów. Jest to otwarty ogólnodostępny standard, który może zostać użyty przez dowolnego producenta. Jest on oparty na standardach przyjętych przez przedsiębiorstwa sieciowe oraz aktualizowany przez instytucje standaryzujące w celu zapewniania interoperatywności.

Proces komunikacji w stosie TCP/IP wygląda następująco, że przeglądarka internetowa enkapsuluje stronę (przy użyciu TCP/IP) i wysyła ją do klienta. Klient dekapsuluje przy użyciu stosu TCP/IP i przekazuje do przeglądarki.

3.4. Organizacje standaryzujące

Otwarte standardy zapewniają interoperacyjność, konkurencyjność i innowacyjność. Organizacje standaryzujące są niepowiązane z żadnym z producentów sprzętu, organizacjami non-profit. Powołane aby rozwijać koncepcje otwartych standardów.

Wśród organizacji pracujących nad standardami internetowymi możemy wyróżnić dwie podstawowe: Internet Engineering Task Force (IETF) czy Internet Engieering Research Task Force (IRTF) - zajmują się one rozwojem oraz utrzymaniem wielu kluczowych technologii internetowych w tym stosu TCP/IP. Innymi organizacjami zajmującymi się Internet jest Internet Corporation for Assigned Names and Numbers (ICANN) oraz Internet Assigned Numbers Authority (IANA), te organizacje zajmują się zarądzaniem różnego rodzaju numeracją, jak np. adresy IP, numery portów czy nazwami domenowymi.

Innym rodzajemy standardów są standardy elektroniczne czy komunikacjyne, Do najpopularniejszych należą:

Laboratorium

Badanie standardów sieciowych

1.3.5. Model odniesienia

Przez złożoność koncepcji wyjaśnienie oraz zrozumienie jak działa sieci, może być trudne. W tym celu posługujemy się modelem odniesienia, modelem warstwowym. Do tego celu można wykorzystać model ISO/OSI oraz model TCP/IP. Generalnie posługujemy się modelem TCP/IP, jeśli nie musimy zagłębić się zasady działania aplikacji. Warstwa SSL dla HTTP to ta sama warstwa modelu TCP/IP ale inna w modelu ISO/OSI. W nomenklatrzue rozwiązań firmy Cisco również używa się modelu ISO/OSI.

Model odniesienia pomaga w projektowaniu protokołów, umożliwia współpracę producentów urządzeń, chroni przed wpływem technologii z innych warstw na siebie, dostarcza wspólnego języka do opisu funkcji oraz możliwości sieci.

Model referencyjny OSI prezentuje się następująco:

Natomiast model TCP/IP jest podobobny. Nie skupia on sie za bardzo na protokołach i aplikacjach oraz na warstwie fizycznej. Dlatego też z 7 warstw zostały 4. Warstwy sesji, prezentacji oraz aplikacji zostały połączone w jedną warstwę aplikacji, natomiast warstwa fizyczna i łącza danych zostały połączone w jedną warstwę dostępu do łącza.

Zadanie praktyczne - Packet Tracer

Badanie modeli TCP/IP i OSI w działaniu - scenariusz Badanie modeli TCP/IP i OSI w działaniu - zadanie

1.3.6. Enkapsulacja danych

Segmentacja jest procesem rozbijania wiadmości na mniejsze jednostki. Multipleksacja jest procesem wysyłania wielu segmentów jednocześnie. Segmentacja ma dwie podstawowe zalety: zwiększa prędkość oraz zwiększa wydajność.

Sekwencyjnosć wiadomości jest procesem numeracji segmentów, zapewnia to możliwość dostarczenia wiadomości w takiej samej kolejności jak została wysłana.

Enkapsulacja to proces, w którym protokoły dodają swoje dane, na każdym etapie tego procesu, PDU - jednostka danych protokołu (ang. Protocol Data Unit) ma inną nazwę aby odwzorować jej funkcje. Nie ma jednej ogólnej nazwy dla PDU, chociaż stosuje w mowie potocznej określenie pakiet. Są one nazywane powiązane protokołami stosu TCP/IP, opuszczając stos PDU nazywane są kolejno:

  1. Dane (strumień danych)
  2. Segment
  3. Pakiet
  4. Ramka
  5. Bity

Enkapsulacja jest procesem, który jest przeprowadzany od z góry na dół. Górne poziomy przekazuje dane/PDU w dół do dolnych warstw, które obudowywują dane z góry w dane kontrolne PDU obecnej warstwy, aż do formy strumienia bitów.

Deenkapsulacja jest procesem odwrotnym, tutaj strumień bitów zamieniany jest do postacji ramki, kiedy dane wędrują w górę poszczególne warstwy dokonują przetwarzania swoich danych kontrolnych, a następnie usuwają swoje dane kontrolne i przekazują dane wyżej, aż do aplikacji.

1.3.7. Dostęp do danych

Obie warstwy: łacza danych oraz warstwa sieciowa, wykorzystują adresy aby dostaczyć dane od źródła do celu. Warstwa sieciowa wykorzystuje adresy IP do adresacji pakietów, w przypadku warstwy łącza danych wykorzystywane są adresy fizyczne kart sieciowych (adresy MAC).

Pakiet IP zawiera dwa adresy IP, adres źródłowy określający twórcę wiadomości oraz adres docelowy określający odbiorcę.

Adres protokół warstwy sieciowej dzielą się na dwie części: część sieciową (dla IPv4) lub prefiks (dla IPv6) oraz cześć hosta (dla IPv4) lub identyfikator interfejsu (IPv6). Urządzenia w tej samej sieci, mają takie same części sieciowe lub prefiksy.

Urządzenia w tej samej sieci Ethernet, do adresacji ramek wykorzystają już właściwe dla adresy MAC przypisane do fizycznych kart sieciowych. Jeśli odbiorca znajduje się w innej sieci, to wówczas adres MAC nadawcy ulegnie zmianie, na adres MAC routera, tak aby odbiorca wiedział gdzie ma odesłać odpowiedź.

Ciekawie jest przypadku warstwy sieciowej, to jeśli odbiorca pakietu nie należy do naszej sieci wówczas pakiet IP zostanie zaadresowany docelowym adresm IP odbiorcy, ale ramka zostanie zaadresowana adresem bramy domyślnej - routera, który zapewnia nam dostęp do innej sieci. Każdy z hostów zawiera informacje jak ma adresować pakiety IP i przez jakie interfejsy (karty sieciowe) je wysłać. Brama domyślna jest hostem do którego należy przesłać pakiety, kiedy host nie wie gdzie ma je przesłać. Jest to trasa ostatniej szansy. Router przekazując ten pakiet już do sieci docelowej lub na swoją bramę przepakuje go w nową ramkę, opatrzoną w adresy fizyczne nadawcy (swojego interfejsu WAN) oraz odbiorcy. Ten pakiet może przejść kilka takich etapów zanim trafi do odbiorcy. Podobnie jest z odpowiedzią.

Laboratorium

Instalacja programu Wireshark Wykorzystanie programu Wireshark do badania ruchu sieciowego

Podsumowanie

W tym rozdziale poznalismy w jaki sposób przebiega komunikacja i jakie warunki trzeba spełnić. Poznaliśmy protokoły, ich stosy oraz organizacje standaryzujące. Dowiedzielismy czym są modele odniesienia i doczego służą. Zapoznalismy się z enkapsulacją danych oraz jak faktycznie wygląda dostęp do danych.

Egzamin cząstkowy

Po omówieniu 3 rozdziału spotkamy się z przedsmakiem egzaminu końcowego mianowicie egzaminem cząstkowym obejmującym od 2 do 3 tematów. W większości przypadków będą to trzy tematy. Egzamin składa się z pytań jednokrotnego oraz 2 lub 3-krotnego wyboru oraz pytań polegających na przypasowaniu definicji do pojęcia - oczywiście jest to pojęcie względne, ponieważ nie zawsze definicje oraz pojęcia faktycznie nimi będą. Taki przypadek możemy spotkać na podstawie przypisania opisu do konkretnego adresu. Egzaminy cząstkowe łączą test teoretyczny z zadaniem praktycznym do wykonania w Packet Tracerze. Na całość mamy 60 minut. Liczba pytań wacha się od 30 do 35 pytań.

Wszystkie egzaminy zdajemy na platformie netacad.com>. Mamy możliwość jednego podejścia oraz jednej poprawki przy czym poprawkę musi umożliwić nam prowadzący kurs. Do wyboru są dwa języki: ojczysty oraz język angielski. Z językiem ojczystym jak jest każdy wie. Przy czym warto dodać, że końcowy egzamin praktyczny jest wyłącznie w języku angielskim.

1.4. Warstwa fizyczna

Warstwa fizyczna skupia w sobie wiele technologii związanych z fizycznym podłączeniem hostów oraz standardów tych połączeń.

1.4.1. Przeznaczenie wartstwy sieciowej

Aby w ogóle komunikacja sieciowa mogła zajść potrzebne są połączenia fizyczne między jej stronami. W zależości od konfiguracji sieci połączenia mogą być przewodowe lub bezprzewodowe. Podłączenie do sieci uzyskujemy za pomocą urządzeń kart sieciowych wbudowanych w nasze urządzenia, oczywiście nie wszystkiego rodzaju połaczenia fizyczne mają taka samą wydajność.

Warstwa fizyczna znajmuje się transportem bitów przez media sieciowe, odbiera ona ramkę z warstwy łącza danych koduje ją za pomocą serii sygnałów, które są następnie transmitowane za pomocą lokalnego medium. Warstwa fizyczna kodując i dekodując ramkę, kończy proces enkapsulacji lub rozpoczyna proces deenkapsulacji.

1.4.2. Charakterystyka warstwy fizycznej

Standardy zastosowane w sprzęcie sieciowym są zarządzane przez wiele organizacji takich jak: ISO, EIA/TIA, ITU-T, ANSI, IEEE.

Standardy warstwy fizycznej operują na dwóch płaszczyznach: kompnentów fizycznych, kodowania oraz sygnałów. Komponenty takie jak urządzenia sprzętowe, media czy różnego rodzaju wtyczki są odpowiedzialne z transmisję sygnału reprezentującego bity. Karty sieciowe, złacza, wtyczki czy same przewody są uwzględnione w standardach warstwy fizycznej.

Kodowanie ma celu dostosowanie strumienia bitów do formatu rozpoznawalnego przez następne urządzenia w sieci poprzez użycie przewidywalnych schematów, które mogą być przez nie rozpoznane. Kodowanie obejmuje takie metody jak: Manchester, 4B/5B czy 8B/10B.

Sygnały natomiast są sposobem reprezentacji bitów (wartości 1 oraz 0) w medium transmisyjnym. Metoda wybranej syganlizacji może być bardzo różna i często jest uzależniona oraz wykorzystywanego medium.

Szerokość pasma jest możliwością nośną pasma. Dla cyfrowych szerokości pasma mierzona jest na podstawie ilości danych, które mogą zostać przesłane z jednego miejsca w drugie w określonej ilości czasu. Jak dużo bitów można przesłać w przeciągu jednej sekundy (bps, bits per second). Właściwosci medium, wykorzystane technologie czy prawa fizyki mają wpływ na dostępną szerokość. Z szerokością pasma są związane pewne pojęcia.

1.4.2. Okablowanie miedziane

Okablowanie jest najczęściej stosowanym rodzajem okablowania w sieciach obecnie, jest ono tanie i łatwe do instalacji.

Posiada ono również swoje wady takie jak osłabienie sygnału wynikające z zadługiego pojedynczego odcinka przewodu oraz wrażliwość na róznego rodzaje zakłócenia elektromagnetycze w tym przesłuchy.

Ze względu na to, że okablowanie miedziane jest tak popularne pojawiły się rozwiązania powyższych problemów takich jak: wytyczne pojedynczego odcinka kabla, ekranowanie przewodów wraz uziemieniem skręcenie ze sobą poszczególnych przewodów w pary eliminując przesłuchy.

Rodzaje kabli miedzianych:

Kable UTP są najczęsciej spotykami przewodami sieciowymi, są one najczęściej zakończone za pomocą wtyku RJ-45, najczęściej łączą hosty z urządzeniami pośrednimi, jakimi jak przełączniki.

Kable UTP składają się z zewnętrznej izolacji chroniącej kabel przed uszkodzeniami zewnętrznymi oraz skręconych par przewódów (skręcenie ma zadanie zniwelować przesłuchy) w kolorowych izolacjach mających na celu identyfikację każdego z przewodów, każdej z żył.

Kable STP są rozszerzeniem kabli UTP o dodatkowe środki przeciwdziałające zakłóceniom, jak za folia aluminiowa otaczająca poszczególne pary czy siatka miedziana otaczająca wszystkie przewody.

Ostatnim rodzajem kabli miedzianych są kable koncentryczne wykorzystywane do antent sieci bezprzewodowych oraz kablowych technologiach dostęp do Internetu, takich jak DOCSIS. Taki table składa się z zewnętrznej grubszej izolacji, siatki miedzianej niewelującej zakłócenia, plastikowej elastycznej izolacji przewodnika oraz przewodnika.

1.4.3. Okablowanie UTP

Kabel UTP składa się z 4 par oznaczonych kolorami przewodów skrecony ze soba wewnątrz giętkiej plastikowej izolacji. Kable UTP nie posiadają żadnej dodatkowej ochrony przez zakłóceniami. Zastosowane w kablach UTP takie rozwiązania jak znoszenie, każdy przewód w parze ma inną polaryzację, przez co skręcone ze sobą skutecznie znoszą zakłócenia generowane przez siebie czy wariacja w w ilości skręceń na ok. 30cm zapobiera przesłuchą powodowany przez inne pary przewodów pomagają w niwelowaniu przesłuchów.

Kable UTP podlegają standaryzacji, którą zarządza organizacja EIA/TIA. Definiują ona standarad TIA/EIA-568 w którym znajdują się takie zagadnienia jak: Typ kabla, jego długość, rodzaje wykorzystywanych wtyczek, metody terminacji przewódu (w tym instalacji) sposoby testowania. Parametrami elektrycznimi kabli UTP zajęła się organizacja IEEE i do dyspozycji mamy takie kategorie jak: kategoria 3, kategoria 5 lub 5e czy kategoria 6.

Terminując kable, mamy dyspozycji dwa standardy oraz dwa rodzaje takiego zarobionego przewodu. Mianowicie standardy takie jak TIA/EIA T568B oraz T568A definiują ułożenie kolorowych przewodów we wtyczce. Obecnie standardem jest T568B, T568A wyszedł z użycia jednak przydaje się jego znajomość gdy musimy za pomocą sieci spiąć ze sobą dwa komputery. W wyżej wymienionych standardardach możemy ułożyć przewody w następujący sposób:

Dwie możliwości zrobienia wtyczek, dają nam dwa rodzaje kabli:

1.4.5. Okablowanie światłowodowe.

Okablowanie światłowodowe nie jest tak popularne jak UTP, ze względu na drogi osprzęt oraz trudności w instalacji. Jest wstanie przesyłać dane na długie dystanse oraz z dużą szybkością, całkowicie odporne na zakłócenia elektromagnetyczne. Światłowody służa przewodzenia implusów świetlnych pomiędzy dwoma ich końcami z minimalną utratą sygnału, są zrobione z cienkich włókien bardzo czystego szkła, do zakodowania bitów w impulsy światła wykorzystują diody laserowe lub diody led.

Światłowody dzielą sie na jedno i wielomodowe. W budowie różnią się w średnicy rdzenia, w światłowodzie jednomodowym jest on o wiele cieńszy, gdyż będzie on obsługiwać tylko jeden promień świetlny. Wykorzystanie światłowodów jednomodowych jest również dużo droższe, ale przesyłaja dane z ogromną prędkością na długi dystans. W światłowodach wielomodowych zachodzi zjawisko dyspersji, czyli rozpraszania się światła, dlatego też światłowody wielomodowe są stosowane na ograniczony dystans, ale dla wielu firm jest on zupełnie wystarczający.

Z okablowaniem światłowodowym możemy spotkać się kilku rożnych rodzajach firm:

Okablowanie światłowodowe jest wykorzystywane głównie jako sieć szkieletowa łączaca ze soba punkty dostępowe w wewnątrz budynku czy między budnkami na większym terenie.

1.4.6. Medium bezprzewodowe

Działanie sieci bezprzewodowych opiera się na nośności bitów danych z wykorzystaniem sygnałów elektromagnetycznych na częstotliwości radiowej lub mikrofalowej. Sieci tego typu zwiększają mobilność, jednak nie bez wad.

Głównymi problemami sieci bezprzewodowych jest zasięg, który może ograniczać nam dostęp za pośrednictwem tego medium. Kolejnym czynnikiem mogą być zakłócenia, które może powodować wiele urządzeń. Bezpieczeństwo jest również cechą decydującą, nawet jeśli nasza sieć działa na niewielkim obszarze, to napastnik może wyposażyć się w taki sprzęt który pozwoli mu zebranie kilku istotnych informacji. Dość istotną sprawą jest samo działanie sieci bezprzewodowej, urządzenia podłączone do takiej sieci współdzielą to samo łącze, więc jesli będzie ich stosunkowo dużo to przepustowość może spaśc dość znacząco.

Organizacja IEEE wraz z inną instytucją standaryzjąca sporządziła serię standardów dla sieci bezprzewodowych. Opisują one miedzy innymi: metody kodowania sygnałów, częstotliwość oraz moc nadawania, odbiór sygnału oraz dekodowanie transmisji czy wytyczne dotyczące anten. Takim standardami są:

Ogólnie to podłączenie sie do sieci WLAN może wymagać takich urzązeń jak punkt dostępowy, umożliwiający dostęp użytkownikom WLAN-u do sieci kablowej oraz karty sieciowe sieci bezprzewodowej. Przy zakupie sprzetu bezprzewodowego należy pamiętać aby ten sprzęt był kompatybilny ze sobą, często wystarczy zgodność obu wyżej wymienionych urządzeń z jednym ze standardów sieci bezprzewodowej.

Przy rozważaniu wdrożenia sieci bezprzewodowej, trzeba również uwzględnić dla niej odpowiednią politykę bezpieczeństwa.

Zadanie praktyczne - Packet Tracer

Łączenie przewodowych oraz bezprzewodowych sieci LAN - scenariusz Łączenie przewodowych oraz bezprzewodowych sieci LAN - zadanie

Laboratorium

Wyświetlanie informacji o przewodowych i bezprzewodowych kartach sieciowych

Podsumowanie

W tym rodziale rozpoczeliśmy analizowac model sieciowy ISO/OSI. Zapoznalismy się z funkcjami warstwy fizycznej. Scharakteryzowaliśmy każde medium jakie możemy spotkać w sieci.

1.5. Systemy liczbowe

Z systemami liczbowymi, spotykamy się na co dzień licząc lub wykorzystując jego cyfry. Ludzie naturalnie wykorzystują bowiem system dzięsiętny, które podstawą jest liczba 10 oraz znaki od 0-9. W przypadku komputerów, wykorzystywane jest ich znacznie więcej a takimi podstawowymi są: system binarny oraz system heksadecymalny oba te systemy znajdują swoje zastosowanie w sieci.

1.5.1. Binarny system liczbowy

Binarny system liczbowy składa się z 1 oraz 0 nazywanych bitami. Adresy protokołu IP zapisem poniękąd binarnym, adres składa się z ciągu 32-bitów podzielonych na cztery sekcje zwane oktetami. Każdy oktet składa się 8 bitów lub jednego 1 bajtu. Jednak ludzie w celu uproszczenia sobie nieco pracy wykorzysują zapis dziesiętny, konwertując poszczególne oktety. Dlatego też oktety adresów IP posiadają zakres wartości od 0 do 255.

Binarny system liczbowy podobnie do systemu dziesiętnego jest systemem pozycyjnym. Pozycyjność polega na tym, że cyfry reprezentują wartości na podstawie pozycji, na której się znajdują w sekwencji cyfr (liczbie). Spójrzmy na poniższy przykład, prostą liczbą dzięsiętną, którą możemy rozpatrzyć pod kątem pozyjności może być: 1234.

1 x 10^3 (1000) = 1000
  +
2 x 10^2 (100)  = 200
  +
3 x 10^1 (10)   = 30
  +
4 x 10^0 (1)    = 4

Podobnie jest z cyframi binarnymi, tak jak tutaj brano po uwagę potęgę wykładnika jakim jest liczba 2. Rozważmy sobie przykład liczby: 10110010.

1 x 2^7 (128) = 128
  +
0 x 2^6 (64)  = 0
  +
1 x 2^5 (32)  = 32
  +
1 x 2^4 (16)  = 16
  +
0 x 2^3 (8)   = 0
  +
0 x 2^2 (4)   = 0
  +
1 x 2^1 (2)   = 2
  +
0 x 2^0 (1)   = 0
              = 178

Analizując pozycyjność cyfr binarnych, przypadkiem dowiedzieliśmy się w jaki sposób możemy dokonąć konwersji wstecznej z cyfr binarnych na postać dziesiętną.

Konwersji liczb dziesiętnych możemy dokonać w na dwa sposóby. Jednym z nich może być metoda pisemna. Polega ona na dzieleniu liczby przez dwa do momentu uzyskania 0, przyczym wiemy, że nie wszystkie liczby dzielą się na dwie równe częsci. Ta pozostałosc to reszta z dzielenia i przeważnie w wyniku dzielnia przez dwa jej wartość nie będzie wynosić więcej niż 1. Dlatego też reszta z dzielenia albo będzie występować (wówczas, będzie wynosić 1) albo jej nie będzie ponieważ cyfra podzieli się równo. Czy ten schemat nam coś przypomina. Tak, reszta z dzielenia to nasza wartość binarna. Ale tutaj jest pewien haczyk.

178 / 2 = 89 | 0
89  / 2 = 44 | 1
44  / 2 = 22 | 0  /\
22  / 2 = 11 | 0  ||
11  / 2 = 5  | 1  ||
5   / 2 = 2  | 1  ||
2   / 2 = 1  | 0   
1   / 2 = 0  | 1

Otóż wartości reszty z dzielnia są odczytywane z dołu do góry. 178DEC = 10110010BIN.

Inny sposóbem jest próba oszacowania. Bierzemy na 178 i szukamy nawiększej potęgi dwójki mniejszej od naszej liczby w tym przypadku jest 128. Następnie sprawdzamy czy nasza liczba jest większa bądź równa 128. No tak. Zatem zapisujemy skranie po lewej stronie 1 i odejmujemy od naszej liczby bazowej 128 (178-128) pozostaje nam 50 itd. tak jak na przykładzie.

178 >= 128 = 1
178 - 128 = 50
50 >= 64 = 0
50 >= 32 = 1
50 - 32 = 18
18 >= 16 = 1
18 - 16 = 2
2 >= 8 = 0
2 >= 4 = 0
2 >= 2 = 1
2 - 2 = 0
0 >= 1 = 0

10110010

Postać binarna zamienianej liczby powstaje z wyników warunków logicznych jeśli przyjmiemy, że Tak to 1 a Nie to 0. Ta metoda pozwala na przeliczanie liczb w pamięci. Metodę odwrotnej konwersji już poznalismy przy poznawania pozycyjności.

1.5.2. System szesnastkowy

System heksadecymalny w przypadku sieci może przydzać się do zrozumienia IPv6. System ten wykorzysuje jako bazę 16 cyfr 0-9 oraz od A-F. Jedna cyfrę heksadecymalną możemy wyrazić za pomocą 4 binarnych bitów. System ten jest wykorzystywany tak jak wcześniej wspomniano do IPv6 oraz adresów fizycznych.

Chcąc skonwertować liczbę dziesiętna na heksadecymalną, możemy posłużyć się metodą pisemną tylko zamiast 2 użyć liczby 16. Raczej nie bedzie takie potrzeby aby to robić. Innym rodzajem konwersji możebyć przeliczenie z systemu binarnego na szesnastkowy. Tutaj nie trzeba nic przeliczać, wystarczy odwołać się do tabelki o poniżej.

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
1111 = F

Jeśli mamy przeliczyć cyfrę dziesiętna to możemy zrobić to bezpośrednio przez metodę pisemną lub pośrednio, zamienić ją na system binarny bo taki jest prosty do przeliczenia a następnie zgodnie z tablą powyżej zamienić 8 bitów binarnych na dwie cyfry heksadecymalne dające żądana liczbę. Pamiętamy że nasze 178 to 10110010 to chcąc zamienić tę liczbę na system szesnastkowy możey zrobić to tak:

178 = 1011 0010
       B     2
178 = B2

B = 1011
2 = 0010
B2 = 10110010 = 178

Podsumowanie

W tym jakże, krótkim rozdziale poznaliśmy dwa podstawowe system liczbowe wykorzystywane także w sieciach. Nauczyliśmy się konwersji z systemu 10 na binarny oraz z systemu binarnego na szesnastkowym i odwrotnie. Konwersja systemów a w szczególności z dziesiętnego na binarny będzie nam potrzebna do podziału sieci na podsieci oraz metody VLSM.

1.6. Warstwa łącza danych

Warstwa łącza danych jest pierwszą warstwą, w której możemy spotkać się jaką komunikacją logiczną. Sztandarowym protokołe tej warstwy jest Ethernet a podstawową jednostką przesyłanych danych jest ramka.

1.6.1. Przeznaczenie warstwy łącza danych

Warstwa łącza danych jest odpowiedzialna za komunikację pomiędzy kartami sieciowymi, pozwala warstwą wyższym na dostęp do medium fizycznego oraz enkapsuluje pakiety warstwy 3 w ramki warstwy drugiej oraz dokonuje detekcji błędów i odrzuca uszkodzone ramki.

Standardy IEEE 802 LAN/MAN określają typ sieci (Ethernet, WLAN, WPAN itd.). Warstwa łącza danych składa się z dwóch podwarstw: Logical Link Control (LLC) oraz Media Access Control (MAC). Podwarstwa LLC zapewnia komunikację pomiędzy oprogramowaniem sieciowym z warstw wyższych a sprzętem z warstwy niższej, natomiast podwastwa MAC odpowiedzialna jest za enkapsulację danych oraz dostęp do łącza fizycznego.

Pakiety wymieniane między hostami, mogą doświadaczać wielu zmian na poziomie warstw niższych, dla porównania jeśli router odbierze ramkę to musi ją za akceptować na swojej karcie sieciowej, następnie zdekapsulować aby uzyskać potrzebne mu dane. Po wykonaniu czynności pakiet jest enkapsulowany ponownie w nową ramkę i przekazany za pomocą medium transmisjnego do następnej sieci.

Protokoły warstw łacza danych zostały zdefiniowane przez takie organizacje inżynieryjne jak: Institute of Electrical and Electronic Engineers (IEEE), International Telecomunications Union (ITU), International Organizations for Standarization (ISO) American National Standards Institute (ANSI).

1.6.2. Topologie

Toplogia sieciowa jest układ między urządzenia sieci oraz połączeniami występującymi między nimi. Rozróżniamy dwa rodzaje topologi:

W sieciach rozległych możemy wyróżnić kilka topologi fizycznych takich jak:

Urządzenia końcowe takie jak komputery czy laptopy są podłączone do sieci lokalnych najczęsciej wykorzystujących topologię gwiazdy oraz topologię gwiazdy rozszerzonej (topologię hybrydową). Topologie tego typu są łatwe w instalacji oraz w rozwiązywaniu problemów, przy tym bardzo skalowalne. Na początkach instnienia sieci, były jeszcze dwie topologie: magistrali oraz pieścienia, ale nie odnalazływ sie one we współczesnych warunkach.

W sieciach komputerówych komunikacja jednoczesna komunikacja z drugą stroną może odbywać się albo na zasadzie half-duplex, gdzie w jednym czasie może nadawać lub odbierać tylko jeden host. Tego typu komunikacja zachodzi np. w sieciach bezprzewodowych, albo na zasadzie full-duplex, gdzie hosty mogą nadawać i odbierać informacje jednocześnie w tym samym czasie, tego typu transmisja zachodzi w sieciach Ethernet opartych na przełączniku.

Jeśli działamy w trybie half-duplex-u, to musimy określić metodę dostępu do łącza. W technologiach Ethernet istnieją dwa algorytmy, które badają dostęp do łącza są nimi CSMA/CD wykorzystywany w starym Ethernecie opartym na topologi magistrali, gdzie komputery łączył jeden wspólny kabel. Kolejnym mechanizmem stosowanym w sieciach bezprzewodowych jest modyfikacja wyżej wymienionego CSMA/CA.

Kiedy w starym algorytmie CSMA/CD, wykrywało się kolizje (moment, gdy dwie stacje nadają jednocześnie), to w przypadku sieci bezprzewodowych wprowadzono ich unikanie. Funkcja unikania kolizji, polega na tym, że jeśli stacja nadaje to nadaje jednocześnie informacje o tym ile czasu porzebuje na transmisje. Pozostałe hosty dostają te informacje i wstrzymują się z nadawaniem do upłynięcia zadeklarowanego czasu.

1.6.3. Ramka łącza danych

Dane enkapsulowane przez warstwę łącza danych wraz z nagłówkiem oraz stopką tworzą ramkę. Ramka składa się z nagłówka, danych oraz stopki, w zależności od użytego protokołu tej warstwy pola nagłówka oraz zawartość stopki może się różnić, podobnie może być ilością danych kontrolnych. Pola przeciętnej ramki prezentują się następująco:

W większość wyżej wymieniony pól znajduje się w nagłówku, ale detekcja błędów oraz koniec ramki znajdują się w stopce.

Adresy warstwy drugiej, nazwywane również fizycznymi, znajdują się wewnątrz nagłówka ramki i są wykorzystywane tylko i wyłącznie do dostarczenia jej lokalnie (w obrębie sieci lokalnej). Jeśli wymagane jest przezkazanie ramki dalej do inne sieci, to te adresy muszą zostać zmienione.

Topologie logiczne oraz fizyczne media często mają wpływ na wybór określonego protokołu warstwy wyższej. A jest z czego wybierać:

Każdy z tych protokołów posiada swoje mechnizmy kontroli dostepu do medium, dla określonych topologi logicznych.

Podsumowanie

W tym rozdziale poznaliśmy podstawowe zagadnienia związane z drugą warstwą - warstwą łącza danych. Ten rozdział również rozpoczyna jej bardziej szczegółowe omawianie oraz wstęp do technologi Ethernet i przełączników.

1.7. Przełączanie Ethernetu

W tym rozdziale zapoznamy się ze szczegółami technologii Ethernet, potrzebnymi do zrozumienia działania takiego urządzenia jak przełączniki. Poznamy również meteody przełączania jakie możemy spotkać w dostępnych na rynku przełącznikach.

1.7.1. Ramka Ethernet

Ethernet operuje w warstwie fizycznej oraz łącza danych, opisują go dwa standardy IEEE 802.2 oraz 802.3.

Standardy rodziny 802 wykorzystywane w sieciach LAN/MAN w tym i Ethernet wykorzystują dwie podwarstwy warstwy łącza danych. LLC, której zadaniem jest umieszczenie w ramce Ethernet informacji o wykorzystywanym protokole warstwy sieciowej dla tej ramki. Drugą podwarstwą jest MAC odpowiedzialna za enkapsulacje danych, kontrolę dostępu do łącza oraz adresacje w warstwie łącza danych.

Podwarstwa MAC jest odpowiedzialna za enkapsulację danych oraz dostęp do łącza danych. Jesli chodzi o samą enkapsulację to podwarstwa MAC zajmuje się ramką Ethernet - jej wewnętrzną strukturą; adresacją Ethernetu - ramki muszą zawierać adresy MAC źródła oraz hosta docelowego, aby dostarczyć je z jedenj karty sieciowej do drugiej; detekcją błędów Ethernetu ramki zawierają w stopce pole FCS Frame Check Sequence wykorzystywane do detekcji błedów.

W ramach kontroli dostępu do łącza Ethernet, podwarstwa MAC zawiera specyfikację dla różnych standardów komunikacyjnych Ethernetu przez różnego rodzaju łącza takie jakie okablowanie miedziane lub światłowody. Stary Ethernet wykorzystywał topologę magistrali lub koncentrator, które są współdzielonym medium działającym w trybie half-duplex. Ethernet przez tego typu łącza wymagał mechanizmów badania dostępności łącza oraz detekcji błędów. Temu służył algorytm CSMA/CD (ang. Carrier Sense Multiple Access/Colision Detection). Obecnie Ethernet wykorzystuje przełączniki przez co komunikacja może odbywać się w trybie full-duplex i nie ma potrzebny stosowania mechanizmu CSMA/CD ponieważ ta magistrala przy starym Ethernecie jest teraz jednym kablem łączącym kartę sieciową z portem przełącznika.

Jeśli chodzi o pola ramki Ethernet to najpierw warto sobie powiedzieć, że minimalną wielkością ramki mogą być 64B a maksymalną 1518B. Preambuła nie jest wliczana do ramki jeśli chodzi o jej wielkość. Wszelkie ramki mniejsze niż 64B są uważane za ramki uszkodzone i automatycznie odrzucane. Ramki przekraczające górną granice wielkości uważane są za ramki typu jumbo. Ramki przekraczające rozmiary lub mniejsze niż minimalny rozmiar, są zazwyczaj uznawane za rezulat kolizji lub niechciany sygnał. Przez odbiorców mogą być uznane za nieprawidłowe. Większe ramki są akceptowane do technologi FastEthernet w góre.

Laboratorium

Używanie programu Wireshark do badania ramek Ethernet

1.7.2. Adres MAC Ethernetu

Adres MAC składa się z 48 bitów zapisanych za pomocą 12 cyfr systemu heksadecymalnego, 6 par po 2 cyfry. Dwie cyfry heksadecymalne to 1 bajt. Poprzedzającje zera są również zapisywane, aby każda z grup miała te 8 bitów. Cyfry heksadecymalne mogą być czasem zapisywane z przedrostkiem 0x lub z przyrostkiem H/h.

Ethernet był projektowany z myślą o tym, że urządzenia sieciowe są podłączone do współdzielonego medium (magistrali) i adresacja MAC pozwala na identyfikacje takiego hosta. Ze tego powodu wszyskie adresu MAC muszą być unikatowa w obrębie całej sieci. W tym celu każdy z dostawców sprzętu działającego w sieci Ethernet muszą zarejestować się w IEEE aby uzyskać 6 cyfrowy (heksadecymalnych) kod nazwany unikalnym indentyfikatorem organizacji (OUI). Każdy adres MAC składa się z kodu OUI przypisanego do producenta sprzętu oraz pozostałych 6 cyfr przypisanych przez producenta do konkretnej sztuki produktu.

Przetwarzanie ramek ma swój początek już na komputerze źródłowym. Każda ramka zawiera adres źródłowy oraz adres docelowy. Kiedy karta sieciowa odbierze taką ramkę porówna jej adres docelowy MAC z z adresem swojej kartym, jeśli adres jest taki samy oznacza to, że ramka jest przeznaczona dla tego hosta. Ramka dekapsulowana i przekazana do warstw wyższych. Obecnie większość urządzeń wykorzystuje Ethernet, więc tego typu przetwarzanie danych jest podstawą wszlakiej komunikacji w sieci. Warto wspomnieć o tym, że karty sieciowe akceptują rownież ramki typu broadkast oraz multikast tych grup, do których ten host należy.

W Ethernecie różne adresy MAC są wykorzystywane do transmisji unikast, broadkast oraz multikast w warstwie drugiej. Adres MAC unikastowy jest wykorzystywany do transmisji między pojedynczymi hostami w sieci. Adresy MAC są powiązane z adresami warstwy sieciowej, są one uzyskiwane za pomocą protokołów ARP (dla IPv4) lub ND (IPv6). Przy tych wszystkich rodzajach adresów, a co za tym idzie rodzajach transmisji adresem źródłowym zawsze adres unikastowy.

Ramkę ethernetową transmisji broadkast odbierze każdy host znajdujący się w tej samej sieci Ethernet LAN. Broadkastowy adres MAC składa się wyłącznie z samych cyfr F. Przez przełączniki jest on przekazywany na wszystkie porty poza tym z którego ta ramka została przysłana. Oczywiście transmisja broadkast w Ethernecie zawiera w sobie pakiet IP z tym samym rodzajem transmisji, oznacza to, że dane zawarte w tej transmisji zostaną przetworzone przez wszystkie host w tej sieci lokalnej (domenie rozgłoszeniowej), które ten pakiet otrzymają.

Przypadek transmisji multikast w Ethernet jest trochę bardziej skomplikowany. Taką ramkę odbiorą hosty, które należą do tej samej grupy. Transmisja multikast w Ethernet jest powiązana z rodzajem tego typu transmisji w protokole IP, dla wersji 4 mamy adres (początek): 01-00-5E, a dla wersji 6 33-33. Innym rodzajem multikastu w Ethernecie jest protokół STP, nie jest on protokołem warstwy 3, a drugiej i zawiera swój adres docelowy typu multikast. Transmisje multikast opuszczają przełącznik w ten sam sposób co transmisja broadkast, chyba że urządzenie skonfigurowano inaczej (mechanizm multicast snooping), transmisja ta nie jest przekazywana przez router, chyba że został poinstuowany aby trasować pakiety multikast. Ze względu na to, że adresy multikast reprezentują grupe hostów, mogą zostac użyte tylko i wyłącznie jako adres docelowy, adresem źródłowym musi być adres unikast. Tak jak w przypadku transmisji unikast oraz broadkast, transmisja multikast wymaga odpowiadających adresom Ethernet, adresów IP.

Laboratorium

Odczytywanie adresów MAC urządzeń sieciowych

1.7.3. Tablica adresów MAC

Ethernetowy przełącznik warstwy drugiej dokonuje swoich decyzji o przełączaniu na podstawie adresu MAC, który jest zapisany w tablicy adresów MAC przełącznika, na podstawie informacji tam zapisanych przełącznik wie na jaki port należy przesłać dane, adresowane do komputera o takim adresie MAC. W momecie włączenia urządzenia jego tablica nie zawiera żadnych wpisów i musi się ich nauczyć. Tablica MAC często nazwyana jest CAM (ang. content addressable memory table).

Nauka adresów MAC przez przełącznik, czy też uzupełnienie tablicy polega na badaniu każdej przychodzącej do urządzenia, ramki w celu uzyskania nowych informacji. Badany jest przede wszystkim adres źródłowy oraz port, na którym te dane dotarły do przełącznika, następnie te informacje są konfrontowane z tabelą jeśli taki adres MAC pod takim portem nie występuje wówczas te dane są dopisywane lub poprawiane w zależności od tego czy w przeciągu czasu ważności wpisów w tablicy MAC ruch sieciowych przechodził przez ten port. W przeciwnym wypadku wpis jest odświerzany co powowduje, że jego czas jego ważności został zresetowany. W przypadku większości przełączników czas wazności wpisów w tablicy to 5 minut. W przypadku przepięcia hosta do innego portu, w tablicy we wpisie z adresem zostanie zamieniony port, pod którym ten MAC może występować.

W przypadku przekazywania ramek, działa to w sposób analogiczny, tylko przełącznik zamiast zapisywać odczytuje informacje z tablicy MAC. Jeśli adres docelowy jest unikastowy, to jest on sprawdzany w tablicy, w celu ustalenia portu docelowego przełącznika dla docelowego hosta. Jeśli wpis zostanie odnaleziony, to ramka zostaje przezkazna na ten port. W przeciwnym wypadku zostanie on przekazany na wszystkie porty poza tym źródłowym (z którego trafił do przełącznika). Podobnie przełącznik zachowuje się w przypadku transmisji broadkast oraz multikast.

Laboratorium

Przeglądanie tablicy adresów MAC przełącznika

1.7.4. Przepustowość przełącznika oraz metody przekazywania.

Przełączniki używają jednej z poniższych metod przełączania danych danych między portami.

Zaletą metody store-and-forward jest możliwosc wykrycia błędów zanim ramką zostanie przekazana dalej. Jeśli błąd zostanie wykryty przełącznik odrzuci ramkę. Odrzucanie uszkodzonych ramek pozwala zredukować żużycie przepustowści na przesyłanie uszkodzonych ramek. Metoda store-and-forward jest również wymaga przez metody priorytetyzacji ruchu takie jak QoS.

Metoda przełączania cut-through przełącza dane zanim w całości dotrą do przełącznika, jego bufor jest na tyle duży, że może odczytać docelowy adres MAC i na podstawie tego dokonuja przełącznia. Ta metoda występuje w dwóch wariantach:

Wspominając o sposobach przełączania, warto również omówić pamięć bufora w przełączniku. Bufor jest wykorzystywany gdy port docelowy może być zbyt zajęty, żeby przyjmować kolejne ramki, do dyspozycji mamy:

Buforowanie w pamięci współdzielonej pozwala na transmisję większych ramek z mniejszymi stratami. Jest ważne dla przełączania asymetrycznego, które pozwala na różne prędkości danych na różnych portach. Dzięki czemu większa przepustowość może zostać przypisana do niektórych portów, np. porty serwerów.

Dwoma najbardziej podstawowymi ustawieniami przełącznika są przepustowość (przełączniki mogą działać w standardach wstecznych Eternetu) oraz duplex (możliwość nadawania i odbierania danych w tym samym momencie). Do dyspozycji mam full-duplex - oba urządzenia końcowe mogą nadwać i odbierać dane jednocześnie lub half-duplex - tylko jedna ze stron może nadawać w tym czasie.

Prawdopodobnie nie będzie trzeba konfigurować tych ustawień. Tym zajmuje się mechnizm autonegocjacji, urządzenia miedzy sobą ustalają najlepsze ustawienia dla warunków fizycznych. Gigabitowy Ethernet do działania wymaga full-duplex-u.

Nie pasujący duplex jest przyczną większości problemów z z wydajnościa w sieciach Ethernetowyc 10/100Mbps. Przyczyna tych problemów może być ustawienie portu przełącznika w half-duplex natomiast druga strona ma ustawiony full-duplex, dzieje się tak gdy połączenie między tymi stronami zostanie zresetowane a autonegocjacja nie będzie wstanie ustalić takie samej konfiguracji dla obu stron lub gdy zmienimy konfigurację na jednym urządzeniu i zapomnimy to zrobić na drugim urządzeniu. Najlepszą praktyką to albo włączyć na obu autonegocjację, albo na obu wyłączyć. Można również ustawić na portach przełącznika na stałe full-duplex.

Połaczenia między urządzeniami mogą wymagać różnego rodzaju połączeń. mowa tutaj o kablach prostych oraz o kablach skrosowanych. Zazwyczaj połączenia między routerami wymagają kabli skrosowanych jak połączenia bezpośrednie między dwiema stacjami. Obecnie mało kto pamiętam o tym ponieważ mamy do dyspozycji funkcję Auto-MDIX, która mimo połączenia urządzeń za pomocą prostych przewodów, dokona skrosowania już wewnatrz interfejsu. W sprzętach marki Cisco, a szczególnie w przełącznikach ta funkcja jest raczej włączona, ale to może być różnie (w zależności jak stare jest to urządzenie). Więc warto zawsze używać wymaganych przewodów lub też możemy spróbować włączyć tę funkcję za pomocą polecenia: mdix auto w trybie konfiguracji interfejsu.

Podsumowanie

W tym rodziale przybliżliśmy sobie szczegóły technologii Ethernet, poznaliśmy adres MAC oraz tablice MAC przełączników. Dowiedzieliśmy też jakie są metody przełączania oraz podstawowe ustawienia przełącznika.

1.8. Wartstwa sieciowa

Warstwa sieciowa dostarcza usługi pozwalające na wymianę danych między hostami. Podstawowym jej protokołem jest protokół IP zarówno w wersji 4 jak i 6. Warstwa sieciowa odpowiada adresacje urządzeń końcowych, enkapsulację, routing oraz deenkapsulacje.

1.8.1. Charakterystyki warstwy sieciowej

Protokół IP enkapsuluje segmenty z wartstwy transportowej, nie ma znaczenia czy użyjemy wersji 4 czy 6 protokołu IP, na ten segment nie będzie to miało wpływu. Pakiet IP będzie analizowany przez wszystkie urządzenia warstwy 3 (lub mogące w niej działać) na swojej drodze do punktu docelowego. Generalnie to adres protokołu IP nie powinny się zmienić na drodze między hostem źródłowym a hostem docelowym, wyjątkiem od tej reguły jest mechanizm NAT. Protokół IP opisywany jest jako bezpołączeniowy, niezależny od medium transmisyjnego oraz najlepszej możliwości.

Protokół IP jest bezpołączeniowy. IP nie ustanawia żadnego połączenia ze stroną docelową przed wysłaniem pakietu, nie potrzeba żadnych informacji kontrolnych. Host docelowy otrzyma pakiet kiedy on nadejdzie, nie ma żadnych wcześniejsych powiadomień. Jeśli wymagane jest połączenie, wówczas jest to powierzane warstwie wyższej, warstwie transportowej, a konkretnie protokołowi TCP.

Protokół IP jest uznawana za protokół najlepszej możliwości porzez zmniejszenie narzutu spowodowanego brakiem mechnizmów retransmisji, nie ma potwierdzeń o tym, że pakiet dotarł. IP nawet na nie, nie oczekuje. Protokół również nie ma informacji na temat czy host w ogóle funkcjonuje i otrzymuje wysłane do niego pakiety.

Ze względu na to, że protokół IP jest protokołem najlepszej możliwości uznawany jest za nierzetelny. Jednak te funkcje nie sprawdzają się w każdym możliwym przypadku, dlatego też brak ich w protokole IP, który w obenych czasach musi obsłużyć 99% ruchu w sieci. Protokół IP jest protokołem niezależnym od medium transmisjynego oznacza to, że może on przesyłać dane przez dowolne połączenie między dwoma hostami. Przyczym wprowadza on pojęcie MTU (Maximum Transmission Unit). Ten protokół utrzymuje informacje o tym jakie MTU ma ustawić od warstwy łącza danych. Innym mechanizmem protokołu IP jest fragmentacja, pozwala ona dzielić pakiety na mniejsze części, na przykład gdy nasza technologia WAN ma mniejsze MTU.

1.8.2. Pakiet IPv4

Protokół IP wersji 4 jest podstawowym protokołe komunikacyjnym w warstwie sieciowej, a sam nagłówek jest dość istotny w całej transmisji. Zapewnia, że pakiet zostanie wysłany do właściwego odbiorcy, zawiera w swoich polach wiele informacji ważnych dla przetwarzania pakietów. Informacje z nagłówka wykorzystują wszystkie urządzenia mogące przetwarzać dane z warstwy sieciowej. W nagłówku IP mimo wszystko najważniejszą informacją są pola a zawierające adresy, dość ciekawy polem tutaj jest pole Protocol, gdyż może mieć więcej niż jedną funkcję. Poniżej znajduje się bardziej szczegółowy opis poszczególnych pól:

1.8.3. Pakiet IPv6

Protokół IPv4 posiada swoje ograniczenia. Pierwszym z nich jest wyczerpanie się adresów IP w swojejwersji, inna przeszkodą może być brak bezpośrednich połaczeń, obecnie łączymy się z pośrednictwem adresów prywatnych oraz NAT-u, a użycie mechnizmu NAT powoduje potrzebę zmiany nagłówków, co może powodować opóźnienia oraz zwiększać złożoność sieci.

Remedium na powyższe ograniczenia jest globalne wdrożenie IPv6. IPv6 zwiększa długość adresu z 32-bitów do 128 przez co ich ilość zwiększa o bardzo duża liczbę (340 x 10^36), gdzie adresów IPv4 mamy lekko powyżej 4 miliardy. Zmniejsza się również nagłówek pakietu, zostaje pozbawiony kilku pól. Ze względu na ilość operowalnych adresów nie ma potrzeby stosowania NAT-u.

Sam nagłówek IPv6 został uproszczony, ale nie zmniejszony. Nagłówek IPv6 ma długość 40B, wiele z pól zostało zostało usuniętych aby zwiększyć wydajność. Ponizej znajduje się opis poszczególnych pól nagłówka IPv6.

Dodatkowo pakiety IPv6 mogą zawierać rozszerzenie nagłówka, które może zawierać dodatkowe informacji warstwy sieciowej takie jak fragmentacja, informacje odnośnie bezpieczeństwa czy wsparcie dla mobilności. To rozszerzenie jest opcjonalne i umiesczone jest między danymi a nagłówkiem. W przeciwieństwie do IPv4 routery IPv6 nie fragmentują pakietów.

1.8.4. W jaki sposób host przesyła pakiety

Każdy host posiada w swojej konfiguracji TCP/IP tablicę routingu. Pakiety przez niego wygenerowane mogą być wysłane do siebie po przez adres pętli zwrotnej: 127.0.0.1 (IPv4), ::1 (IPv6); do hostów lokalnych znajdujących się w tej samej sieci czy też do hostów zdalnych znajdujących się poza naszą siecią lokalną.

To host źródłowy decyduje o tym czy adres docelowy jest adresem lokalnym czy też pochodzącym z poza sieci. W zależności od wersji protokołu są dwie metody. Host konfrontuje swój adres oraz maskę obliczając adresy sieciowe (adres sieci i broadcast) z adresem docelowym w przypadku IP w wersji 4. W przypadku IP w wersji 6, host wykorzystuje adres sieci oraz prefix przedstawiony mu przez najbliższy router. Ruch lokalny opuszcza kartę sieciową hosta i jest przetwarzany przez urządzenia pośredenie, takie jak przełączniki. Jeśli ruch jest ewidentnie adresowany na zewnątrz, jest on kierowany do prosto do bramy oczywiści z pośrednictwem urządzeń po drodze do routera.

Urządzenia warstwy 3, takie jak routery lub przełączniki L3 mogą być domyślną bramą dla hostów w sieci lokalnej. Cechami domyślnej bramy są na pewno: adres IP urządzenia/interfejsu musi znajdować się w tej samej sieci lokalnej, urządzenia tego typu przyjmują ruch z sieci lokalnej i kierują ją po za nią, mogą trasować ruch do innych sieci. Jeśli hosty w sieci nie posiadają skonfigurowanej bramy lub jej adres adres jest niepoprawny nie będą wstanie przesyłać danych poza sieć.

Host adres bramy może mieć zapisany w swojej konfiguracji statycznie lub otrzymać go wraz z dzierżawą adres IP z serwera DHCP, w przypadku protokołu IPv6 adres bramy może zostać otrzymany z komunikatów router advertisement (RA) lub skonfigurowany ręcznie.

Za pomocą poleceń netstat -r dla (systemy MS Windows) czy ip route (dystrybucje Linuksa). Możemy wyświetlić tablicę routingu zapisaną na systemie hosta.

󱩊 xf0r3m@laptop-026253a/ ~/󰯆 ip route
default via 192.168.8.1 dev enp0s31f6 proto dhcp src 192.168.8.133 metric 100 
192.168.8.0/24 dev enp0s31f6 proto kernel scope link src 192.168.8.133 metric 100 

1.8.5. Wprowadzenie do routingu

Załóż czysto hipotetycznie, że chcemy przesłać pakiet do sieci obok, co sie stanie? Taki pakiet jeśli osiągnie router, ponieważ nasz host wysłał tę ramkę do bramy domyślnej, to router sprawdzi adres docelowy i wzależności czy posiada trasę do tego hosta, to wyśle go na pierwszy router w tej trasie, lub jeśli sieć docelowa jest wpięta do tego samego routera zostanie przekazana na interfejs obsługjący tę sieć. Router dokonuje tych decyzji opierając się o zapisaną w swojej pamięci tablicę routingu.

W routerach możemy spotkać trzy rodzaje tras w ich tablicach.

Cechami tras statycznych są: potrzeba ręcznej konfiguracji, potrzeba ręcznego dostosowania do zmienającej się topologii sieci. Trasy statyczne mogą być dobrym wyborem dla małych sieci. Za pomocą tras statycznych mimo wykorzystywania protokołów dynamicznych ustala się bramy domyślne dla routerów.

W przypadku routingu dynamicznego, routery same odnajdują sieci, aktualizują informacje, wybierają najlepsze ścieżki czy dostosowują się do topologii. Dynamiczny routing może być wykorzystywany do współdzielnia statycznej trasy bramy domyślnej.

W systemach Cisco IOS, szczególnie na routerach możemy zobaczyć dość obszerną informacje podobną do tej przedstawionej na poniższym przykładzie. Nie będzie ona tak obszerna jak w tym przypadku. Nie mniej warto się jednak zapoznać z oznaczeniami poszczególnych tras.

route-views>show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 128.223.51.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 128.223.51.1
      1.0.0.0/8 is variably subnetted, 3781 subnets, 17 masks
B        1.0.0.0/24 [20/0] via 12.0.1.63, 12:59:24
B        1.0.4.0/22 [20/0] via 114.31.199.16, 12:59:24
B        1.0.5.0/24 [20/0] via 114.31.199.16, 12:59:24
...

Zatem:

Chcąc przypasować te oznaczenia do wspomniany wcześniej rodzajów wpisów w tablicy routingu routera to:

Podsumowanie

Tym rozdziałem rozpoczeliśmy omawianie warstwy sieciowej. Poznaliśmy jej główny protokół jakim jest protokół IP oraz nagłówki pakietów zarówno dla wersji 4 jak i 6. Dowiedzieliśmy się jak działa trasowanie oraz jakie są jego rodzaje oraz charakterystyki metody statycznej oraz dynamicznej.

1.9. Rozwiązywanie adresów

Chcąc wysłać jakieś informacje przez sieć, nasz komputer musi w jakiś sposób zaadresować jakoś te pakiety z danymi. Pierwszą warstwą jaka będzie wymgać adresu jest warstwa sieciowa, tam potrzeba adresu IP, który może zostać uzyskany za pomocą system DNS. Następna warstwą jak wymaga adresu jest wartstwa fizyczna/łącza danych oraz rozpowszechniony na większość sieci protokół Ethernet, który wymaga adresów MAC (adresów fizycznych), kiedy pakiet IP jest enkapsulowany w ramkę Ethernet wymagana jest zamiana adresów IP na adresy MAC i temu służą dwa tematy tego rozdziału: ARP oraz IPv6 Neighbor Discovery.

Zadanie praktyczne - Packet Tracer

Identyfikacja adresów MAC i IP - scenariusz Identyfikacja adresów MAC i IP - zadanie

1.9.1. Protokół ARP

Protokół ARP jest wykorzystywany do określenia adresu MAC dla adresów IP lokalnych urządzeń w sieci. Protokół ten ma dwie zasadnicze funkcje zmianę adresów IPv4 na adresy MAC oraz utrzymania mapowań adresów w tabeli.

Kiedy host musi wysłać ramkę przeszukuje swoją tablicę ARP w poszukiwaniu pasującego adres MAC do docelowego adresu IPv4, jeśli host docelowy znajduej się w tej samej sieci. Jeśli znajduje się w innej wówczas host będzie szukać w tablicy ARP adresu bramy. Pasujący adres zostanie użyty jako adres docelowy w ramce Ethernet. Jeśli nie uda się odnaleźć adresu MAC, to wówczas host wyśle zapytanie ARP.

Wpisy w tabeli ARP znajdują się tam tylko przez określony czas, po jego upłynięciu wpis zostaje wymazany. Ilość tego czasu zależy od systemu operacyjnego, mimo to administrator ma możliwość ręcznego usunięcia wpisu z tablicy ARP.

Na urządzeniach z systemami IOS tablice ARP możemy sprawdzić za pomocą polecenia: show ip arp. Na natomiast w urządzeniach z system MS Windows tablice ARP możemy wyświetlić za pomocą polecenia arp -a.

Pakiety ARP są przesyłane przez hosty nie mal przez wszystkie hosty w sieci, a wiele transmisji ARP na raz może powodować spadki wydajności całej sieci. Warto też wspomnieć, że odpowiedzi ARP mogą być fałszowane przez atakującego przeprowadzającego atak zatruwanie tablicy ARP, jednak przełączniki klasy Enterprise zawierają funkcję ochronne przed tego typu atakami.

Zadanie praktyczne - Packet Tracer

Badanie tablicy ARP - scenaiusz Badanie tablicy ARP - zadanie

1.9.2. Protokół IPv6 Neighbor Discovery

Protokół IPv6 Neighbor Discovery dostarcza nam takich funkcji jak rozwiązywanie adresów, znajdowanie routerów oraz usługi przekierowań. Cały ten protokół jest częścią protokołu ICMPv6 i wykorzystuje jego konkretne rodzaje komunikatów takie jak Neighbor Solicitation (NS) i Neigbor Advertisement (NA) wykorzystywane do wymiany informacji między urządzeniami, np. takich jak rozwiązywanie adresów. Innymi komunikatmi są Router Solicitation (RS) oraz Router Advertisement (RA) służące do wymiany informacji pomiędzy hosta a routerami te komunikaty biorą udział w zapytaniach o adres routera oraz o rozgłoszeniu informacji o istniejącym w sieci routerze. Pozostałymi komunikatami są informacje o przekierowaniach, są one używane przez routery do wyboru lepszego następnęgo skoku.

Wykorzystujące IPv6 urządzenia wykorzystują komunikaty ND w celu uzyskania adresów MAC dla znanych adresów IPv6. W odpowiedzi uzyskują adres MAC żądanego urządzenia, przyczym odpowiedzi wysyłane są na specjalny adres Ethernetowy oraz adres multikastowy IPv6.

Zadanie praktyczne - Packet Tracer

Wykrywanie sąsiadów IPv6 - scenariusz Wykrywanie sąsiadów IPv6 - zadanie

Podsumowanie

W tym jakże krótkim rodziale poznaliśmy w jaki sposób rozwiązywane są adresy IPv4 jak i IPv6 na adresy warstwy niższej - adresy MAC.

1.10. Podstawowa konfiguracja routera

Kontynuując poznawanie warstwy sieciowej pora poznać kilka poleceń, a ze względu, że to warstwa 3 czy to modelu OSI czy TCP/IP, to będzie to router - urządzenie, które w tej warswie poniękąd rezyduje.

1.10.1. Konfiguracja podstawowych ustawień routera

Prze rozpoczęciem właściwej konfiguracji interfejsów sieciowych czy routing warto pochylić się na takimi rzeczami jak określenie jego nazwy, wybór ewentualnej metody dostępu zdalnego do jego konsoli oraz zabepieczenie dostępu do niego hasłem. Zaczniemy od czynności, którą wykonuje się bardzo łatwo a może mieć dość duże znaczenie. Mianowicie od konfiguracji, nazwy urządzenia.

Do zmiany urządzenia służy polecenie hostname, polecenie to wydajemy w trybie globalnej konfiguracji:

Router(config)#hostname R1
R1(config)#

Następnym ważnym elementem jest zablokowanie możliwości przejścia w tryb uprzywilejowany przez osoby do tego nieupoważnione, dokonujemy tego za pomocą polecenia enable secret hasło w trybie konfiguracji globalnej:

R1(config)#enable secret 2up3r74jn3Has!0
R1(config)#

Teraz zabezpieczymy dostęp do trybu EXEC użytkownika, dokonamy tego za pomocą kilku poleceń, na początku musimy przejść do konfiguracji połączenia konsolowego, dokonujemy tego w trybie konfigracji globalnej za pomocą poniższego polecenia: line console 0, następnie ustawiamy hasło dostępu za pomocą polecenia password hasło oraz wymuszamy logowanie za pomocą polecenia login

R1(config)#line console 0
R1(config-line)#password 1234User!
R1(config-line)#login
R1(config-line)#end

Jeśli zabezpieczyliśmy konsole to warto zabezpieczyć, również dostęp zdalny (na tym etapie, zrobimy to w podstawowym stopniu, w rozdziale poświęconym bezpieczeństwu, zrobimy to tak jak należy). Konfigurację rozpoczynamy od przejścia w trybie konfiguracji globalnej do trybu konfiguracji konsoli wirtualnych, w tym poleceniu należy wskazać również ile jest możliwych jednoczesnych połączeń, do konfiguracji konsoli wirtualnych, przechodzimy za pomocą poniższego polecenia: line vty 0 4, następnie identycznie jak w przypadku połączenia konsolowego ustawiamy hasło: password hasło oraz wymuszamy logowanie: login Dodatkowym polecenie jakie należy wydać jest wybranie protokołu zdalnego dostępu, do dyspozycji mamy Telnet oraz SSH. Wybór raczej jest prosty, a dokonujemy go za pomocą poniższego: transport input ssh

R1(config)#line vty 0 4
R1(config-line)#password 1234User!
R1(config-line)#login
R1(config-line)#transport input ssh
R1(config-line)#end

Odnośnie tej ilość jednoczesnych połączeń to odpowiadają za to te cyfry w pierwszym wierszu przykładu, w tym przypadku pozwoliśmy na 5 jednoczesnych połączeń.

Wpisane przez nas hasła za pomocą polecenia password, są niestety przechowyane czystym tekstem, jeśli wyświetlimy sobie obecną konfigurację. Jednak za pomocą polecenia: service password-encryption wydanego w trybie konfiguracji globalnej możemy włączyć szyfrowanie haseł.

R1(config)#service password-encryption 
R1(config)#

Ostatnią czynnością, jaką należy wykonać na tym etapie jest ustawienie informacji, tzw. baneru informującego o głównie o tym nieautoryzowany dostęp jest zabroniony. Dokonać tego możemy za pomocą polecenia: banner motd następnie umieszczając między krzyżykami (#) rzeczoną informacje. Polecenie to wydajemy w trybie konfiguracji globalnej.

R1(config)#banner motd # Nieautoryzowany dostep jest zabroniony! #
R1(config)#

Teraz przed logowaniem każdy zobaczy taki napis i to nieważne czy przez konsole czy SSH. Na chwile obecną konfiguracja naszego urządzenia znajduje się w pamięci RAM. A wiemy jako to jest z pamięcią RAM, tak więc aby zapisać nasza konfigurację do NVRAM-u. Musimy wydać poniższe polecenie: copy running-config startup-config w trybie uprzywilejowanym EXEC.

R1(config)#end
R1#copy running-config startup-config 
Destination filename [startup-config]? 
Building configuration...
[OK]
R1#

Zadanie praktyczne - Packet Tracer

Konfiguracja ustawień początkowych routera - scenariusz Konfiguracja ustawień początkowych routera - zadanie

1.10.2. Konfiguracja interfejsów i polecenia podgladu

Mając zapisaną początkową konfigurację routera w pamięci NVRAM możemy przejść do konfiguracji interfejsów routera, na początku zanim jednak skonfigurujemy jakiś interfejs musimy dowiedzieć się jakie są dostępne na urządzeniu. Do tego może nam posłużyć polecenie: show ip interface brief w trybie uprzywilejowanym EXEC.

R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol 
FastEthernet0/0        unassigned      YES unset  administratively down down 
FastEthernet0/1        unassigned      YES unset  administratively down down 
Vlan1                  unassigned      YES unset  administratively down down
R1#

Przy okazji tego narzędzia warto wspomnieć dlaczego są dwie kolumny z napisem administratively down oraz down. Pierwsza kolumna Status mówi nam jaki jest status faktyczny interfejsu, jeśli wartość tego pola jest jak na przykładzie oznacza to interfejs jest wyłączony przez administatora. W przypadku kolumny Protocol oznacza, że protokół warstwy niższej nie odpowiada - po drugiej stronie nic nie ma.

Więcej szczegółów na temat interfejsów możemy uzyskać za pomocą polecenia: show interfaces interfejs

R1#show interfaces FastEthernet0/0
FastEthernet0/0 is administratively down, line protocol is down (disabled)
  Hardware is Lance, address is 0060.472c.e901 (bia 0060.472c.e901)
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Full-duplex, 100Mb/s, media type is RJ45
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0 (size/max/drops); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
 --More-- 

Warto pamiętać o tym poleceniu, powieważ zwraca kilka przydatnych statystyk. Po odświerzeniu informacji, jak wyświetlać informacje o interfejsach, możemy przejść do ich konfiguracji. Konfiguracja nie będzie szczególnie różnić się od konfiguracja wirtualnego interfejsu Vlan1 znanego z konfiguracji przełącznika. Dodamy jedynie polecenie konfigurjące adres IPv6.

A więc jeśli chcemy skonfigurować dajmy na to interfejs FastEthernet0/0 to w trybie konfiguracji globalnej wydajemy polecenie: interface FastEthernet0/0, wówczas nasz znak zachęty powinien pokazać nam, że zmieniliśmy tryb. Następnie należy dodać opis dlatego interfejsu, za pomocą polecenia: desc. Teraz możemy dodawać nasze adresy IP, kolejno dla IPv4 poleceniem: ip addr adres maska-dziesietnie oraz dla IPv6 poleceniem: ipv6 addr adres/prefix na koniec podnosimy (uruchamiamy) ten interfejs poleceniem: no shutdown.

R1(config)#interface FastEthernet0/0
R1(config-if)#desc WAN
R1(config-if)#ip addr 209.165.200.225 255.255.255.252
R1(config-if)#ipv6 addr 2001:db8:acad:10::1/128
R1(config-if)#no shutdown

R1(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

Po wydaniu polecenia no shutdown, otrzymaliśmy na konsoli informacje o tym, że interfejs się uruchomił. Aby sprawdzić nasze ustawienia możemy wydać ponownie polecenia show ip interface brief, show ip interface FastEthernet0/0 oraz dla IPv6 show ipv6 interface FastEthernet0/0.

R1(config-if)#end
R1#
R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol 
FastEthernet0/0        209.165.200.225 YES manual up                    down 
FastEthernet0/1        unassigned      YES unset  administratively down down 
Vlan1                  unassigned      YES unset  administratively down down
R1#
R1#show interfaces FastEthernet0/0
FastEthernet0/0 is up, line protocol is down (disabled)
  Hardware is Lance, address is 0060.472c.e901 (bia 0060.472c.e901)
  Description: WAN
  Internet address is 209.165.200.225/30
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Full-duplex, 100Mb/s, media type is RJ45
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0 (size/max/drops); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     0 input packets with dribble condition detected
     0 packets output, 0 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
 --More--
R1#
R1#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is down
  IPv6 is tentative, link-local address is FE80::260:47FF:FE2C:E901 [TEN]
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:DB8:ACAD:10::1, subnet is 2001:DB8:ACAD:10::1/128 [TEN]
  Joined group address(es):
    FF02::1
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds

Zanim przejdziemy dalej, warto omówić sobie oznaczenia interfejsów w nomenklaturze Cisco, oprócz natywnego protokołu używanego przez ten interfejs typu FastEthernet itd. mamy takie cyferki odzielone ukośnikami FastEthernet0/0. W urządzeniach Cisco można dodawać interfejsy na specjalnych kartach, te karty umieszcza się w slotach urządzenia i ten slot to może być jedna z cyfr. Następną cyfrą może być moduł, póki co do głowy przychodzą mi tylko wkładki SFP, gdzie może być więcej modułów w slocie, lub też moduł przełącznika może być podzielon na dwa podmoduły - kiedy druga wartość może by inna niż 0. Ostatnią cyfrą jest numer portu. Tak więc maksymalnie mogą być trzy cyfry w oznaczeniu interfejsu np. GigabitEthernet0/1/0.

Innym przydatnym przydatnym poleceniem przy konfiguracji router może być wyświetlenie tablicy routingu za równo dla IPv4 jak IPv6.

R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

     209.165.200.0/30 is subnetted, 1 subnets
C       209.165.200.224 is directly connected, FastEthernet0/0

R1#
R1#show ipv6 route
IPv6 Routing Table - 2 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
C   2001:DB8:ACAD:10::1/128 [0/0]
     via ::, FastEthernet0/0
L   FF00::/8 [0/0]
     via ::, Null0
R1#

1.10.3. Konfiguracja bramy domyślnej na routerze

Kiedy wysyłamy pakiet do sieci, której nasz router nie obsługuje wysyła on ten pakiet dalej do swojej bramy domyślnej. Identycznie robią nasze domowe routery. Bez adresu bramy domyślnej dostęp do Internetu byłby niemożliwy. Aby skonfigurować bramę na routerze Cisco w trybie konfiguracji globalnej wydajemy polecenie: ip default-gateway adres bramy

R1(config)#ip default-gateway 209.165.200.254
R1(config)#

Zadanie praktyczne - Packet Tracer

Podłączanie routera do sieci LAN Rozwiązywanie problemów z bramą domyślną - scenariusz Rozwiązywanie problemów z bramą domyślną - zadanie

Podsumowanie

W tym rozdziale poznalismy podstawową konfigurację routera Cisco w tym: początkowe ustawienia, konfigurację interfejsów oraz wyświetlenie ich stanu ze szczegółami i konfigurację domyślnej bramy.

Zadanie praktyczne - Packet Tracer

Podstawowa konfiguracja urządzenia - scenariusz Podstawowa konfiguracja urządzenia - zadanie

Laboratorium

Budowanie sieci w oparciu o przełącznik i router

1.11. Adresacja IPv4

Protokół IPv4 ten ma tyle lat, że chyba każdy powinien znać podstawy jego działania. Dla nas w tej wartstwie może i najważniejszą rzeczą jest adres IPv4 potocznie nazywany poprostu adresem IP. Adres ten jest unikalny i jednoznacznie wskazuje na hosta w sieci. W tym rozdziale zapoznamy się tym adresem i dowiemy się jak liczy się takie adresy oraz dzieli ich pulę na podsieci.

1.11.1. Struktura adresów IPv4

Adres IPv4 jest długości 32-bitów oraz ma hierarchiczną budowę, na którą składa się część sieciowa oraz część hostów. Przy określaniu tych części warto przyjrzeć się temu adresowi w postaci binarnej. Ważna również jest w tym przypadku maska podsieci.

Chcąc poznać poszczególne części adresu IP należy skonfrontować jego zapis binarny z maską, wówczas występujące na masce 1, oznaczają część sieciową, a 0 oznaczają część hosta. Taki proces nazywa się ANDing-iem.

Prefiksem możemy nazwać maskę zapisaną za pomoca liczby występującej na niej bitów o wartości 1. Taki prefiks zapisujemy za przy użyciu ukośnika (/, notacji ukośnika).

Adres sieci, czyli adres wskazujący na początek zakresu naszego adresów możemy uzyskać za pomocą przeprowadzenia logicznej operacji AND (mnożenia, mnożymy bity adresu IP hosta, przez bity maski.

   192    .    168    .     10    .     10
1100 0000 | 1010 1000 | 0000 1010 | 0000 1010
   255    .    255    .    255    .     0
1111 1111 | 1111 1111 | 1111 1111 | 0000 0000
---------------------------------------------- AND
1100 0000 | 1010 1000 | 0000 1010 | 0000 0000
   192    .    168    .     10    .     0

Na każdą sieci przypada przypadają adresy dwa adresy, których nie można użyć do adresowania hostów. Jeden z nich adres sieci poznalismy przed chwilą. Drugim jest adres broadcast, adres ten reprezentuje wszystkie hosty w danej podsieci, wskazuje on także koniec puli adresowej. W zapisie binarnym wyróznia się on tym, że w części hostowej ma on same jedynki.

1.11.2. Adresy IPv4 Unicast, Broadcast oraz Multicast

Adresem unikastowym IPv4 możemy nazwać dowolny adres hosta w sieci IP, w przypadku adresów unikastowych transmisja odbywa się od jednego nadawcy do jednego odbiorcy. Przy czym transmisja Broadcast polega na przesłaniu wiadomości z jednego źródła do wszystkich hostów w sieci Adres broadcast dla IPv4 jest 255.255.255.255. Transmisja może odbyć do wybranej grupy hostów, do tego służą adresy multikast, adresem, zarezerwowany do tworzenia grup multikastowych, jest zakres adresów od 224.0.0.0 do 239.255.255.255. Adresy te służą tylko temu celowi i nie powinny być wykorzystywane w innych celach.

1.11.3. Rodzaje adresów IPv4

Adresy IP można podzielić na publiczne, które mogą być trasowane pomiędzy różnymi sieciami łącząc je ze sobą. Są również adresy prywatne, które są wyłącznie do użytku wewnątrz sieci i nie są one routowalne. To za pomocą adresów prywatnych, adresujemy nasze hosty w sieci. Do dyspozycji mamy trzy klasy w zależności od wielkości naszej sieci.

Aby hosty zaadresowane adresami z klas prywatnych mogły uzyskać dostęp do internetu, potrzebna jest zamiana tych adresów na adresy publiczne. Za to odpowiada funkcja NAT - Network Address Translation. Ta funkcja najcześciej załączona jest na routerze brzegowym podłączonym do Internetu.

Protokół IP w wersji 4 wyróżnia kilka zakresów adresów specjalnych jednym z nich są adresy pętli zwrotnej - pozwalają na komunikację ze samym sobą oraz sprawdzenie poprawności działania stosu TCP/IP. Zakres tych adresów to 127.0.0.0/8 (127.0.0.1 - 127.255.255.254), zazwyczaj będziemy spotykać tylko jeden adres tego typu - 127.0.0.1. Drugą grupą są adresy typu Link-local, 169.254.0.0/16 (169.254.0.1 - 169.254.255.254), te adresy są wykorzystywane przez automatyczną adresację adresów IP prywatnych (tzw. APIPA), jest mechanizm pozwalający na adresowanie interfejsów sieciowych w przypadku gdy serwer DHCP jest niedostępny.

Cała przestrzeń adresowa IP w wersji 4 jest podzielona na klasy, które zawierają poszczególne zakresy adresów, zatem mamy:

Klasowy podział został zastąpiony poprzez adresowanie bezklasowe, przez co zakresy w klasach A, B i C mogą okazać się już nie aktualne.

Podziałem adresów IP zajmuje się organizacja IANA, podzieliła ona bloki adresów na 5 oddziałów regionalnych. Te oddziały regionalne są odpowiedzialne przydzielanie adresów do ISP oraz do innych organizacji. Za Polskę oraz Europę odpowiada organizacja RIPE ncc.

1.11.4. Segmentacja sieci

Wiele protokołów wykorzystuje transmisje broadkast oraz multikast. Przełączniki rozporowadzają transmisje broadkast na wszystkie swoje interfejsy po za tym, z którego ten ruch został otrzymany. Routery zatrzymuje te transmisje i nie propagują ich dalej. Routery dzielą sieci na domeny rozgłoszeniowe ograniczając wymienione wcześniej transmisje tylko do określonych domen.

Duże domeny rozgłoszeniowe mogą być problematyczne ponieważ wiele hostów, może generować wiele transmisji broadkastowych, co wpływa negatywnie na sieć. Rozwiązaniem tego problemu może być podzielenie duzych sieci na mniejsze podsieci z wykorzystaniem routerów.

Podział dużej sieci na mniejsze podsieci, obniża wielkość nadmiarowego ruchu i poprawia wydajnosć sieci. Pozwala na zastosowanie odbrębnych polityk bezpieczeństwa dla odrębnych podsieci. Podsieci zmniejszają liczbę urządzeń, które mogą generować dużo transmisji broadkast lub multikast.

1.11.5. Podsieci protokołu IPv4

Sieci IP jesteśmy w wstanie bez trudu podzielić na mniejsze podsieci wykorzystując do tego oktety. Adres IP ma długość 32-bitów i jest podzielony na 4 oktety, których zakres jest od 0 do 255. W postaci binarnej te wartości można zapisać za pomocą 8 bitów. W zależności od tego jak dużej sieci potrzebujemy możem przesuwać tę granicę między częścią sieciowa a częścią hostową w lewo lub w prawo. Nieznając innych metod najprościej jest przesunąć tę granicę o całe 8-bitów. Przez co możemy podzielić taki zakres adresów IP: 172.16.0.0/16 na 256 podsieci po 254 hosty. Przesuwając maskę o 8 bitów w prawo.

172.16.0.0/16:
1. /24 172.16.0.0 - 172.16.0.255: 172.16.0.1 - 172.16.0.254
2. /24 172.16.1.0 - 172.16.1.255: 172.16.1.1 - 172.16.1.254
3. /24 172.16.2.0 - 172.16.2.255: 172.16.2.1 - 172.16.2.254
4. /24 172.16.3.0 - 172.16.3.255: 172.16.3.1 - 172.16.3.254
5. /24 172.16.4.0 - 172.16.4.255: 172.16.4.1 - 172.16.4.254
6. /24 172.16.5.0 - 172.16.5.255: 172.16.5.1 - 172.16.5.254
...

Oczywiście sieć z maską 24-bitową, można dzielić dalej, aby jak najlepiej wykorzystać ilość przydzielonych nam adresów. Dzieląc tą podsieć na mniejsze fragmenty. Poniżej znajdują się table, które mogą pomóc nam podzielić czy to sieci 24-bitową czy 16.

tabela-s27

tabela-s32

Przy podziale podsieci, niekoniecznie o całe 8 bitów, warto sobie wziąć pod uwagę zasadę, że ile bitów zabieramy (przekazujemy je na część sieciową) - X to mamy 2^X podsieci. Jeśli mamy ilość podsieci to należy podzielić ilość hostów z wyjściowej klasy przez ilość podsieci. Te rozważania mogą nam być potrzebne do rozważań na temat adresacji oraz w przypadku VLSM.

Zadanie praktyczne - Packet Tracer

Podział sieci IPv4 na podsieci - scenariusz Podział sieci IPv4 na podsieci - zadanie

1.11.7. Podział na podsieci a wymagania

W przedsiębiorstwach możemy spotkać różne wymagania. Jednym z nich może być to że firma posiada dwie podsieci, jedna z nich jest siecią lokalną natomast druga to DMZ (wydzielona sieć dla serwerów, w tej sieci urządzenia mogą wykorzystywać adresy publiczne). To wówczas dla tej sieci lokalnej możemy wykorzystać pule adresów prywatnych a DMZ, niech korzysta z adresów publicznych.

Sprawa zaczyna się komplikować, gdy dostajemy już jakieś wytyczne. Posiadamy klasę adresów 172.16.0.0/22, co daje 1022 hosty. Firma posiada 5 lokalizacji, każda z nich ma mieć dostep do Internetu. Największa sieć w tych pięciu lokalizacji będzie miała nie więcej niż 40 hostów. Potrzebne jest zatem 10 podsieci, o wielkości nie mniejszej niż 40 hostów, dla naszych potrzeb wystarczy maska o długości 26-bitów da to po 62 hosty na sieć, a na każdą z lokalizacji będziemy co najmniej dwie podsieci. Jedna podsieci będzie adresować hosty natomiast druga połaczenie do ISP. Mamy zatem

Lokalizacja 1:
Do ISP: 172.16.0.0/26
LAN: 172.16.0.64/26

Lokalizacja 2:
Do ISP: 172.16.0.128/26
LAN: 172.16.0.192/26
#Tutaj wyczerpują się 254 hosty dla 172.16.0, dlatego trzeba przejść o jeden
#dalej na 172.16.1.

Lokalizacja 3:
Do ISP: 172.16.1.0/26
LAN: 172.16.1.64/26

Lokalizacja 4:
Do ISP: 172.16.1.128/26
LAN: 172.16.1.192/26

Lokalizacja 5:
Do ISP: 172.16.2.0/26
LAN: 172.16.2.64/26

Wmiarę prosty sposób połączyliśmy te lokalizacje, tylko jest jednen mały szczegół. Trochę szkoda adresów na połączenie do ISP, 62 adresy na połaczenie dwóch hostów.

Laboratorium

Obliczanie podsieci IPv4

1.11.7. VLSM

W podanej topologii wymagane jest 7 podsieci (cztery LAN-y oraz 3 WAN-y), Największą siecią jest sieć w budynku D ma 28 hostów. Do tego celu wybieramy maskę /27, ona da 8 podsieci po 30 hostów IP. Jednak w ogólnym rozrachunku, zmarnujemy 84 adresy. Tak więc tradycjne podejście nie jest zbyt wydajne. Rozwiązaniem może być VLSM, który pozwoli nam na podział już podzielonej podsieci. Dzięki VLSM możemy dla tych trzech WAN-ów zastosować maskę /30, co da nam tylko dwa hosty w tej podsieci, reszta pozostanie do wykorzystania. Takie krótkie sieci warto wydzielać od końca, np. żeby adres broadcast całej puli był np. adresem broadcast tej podsieci i te mniejsze wydzielać, kolejno cofając się po puli.

1.11.8. Projekt strukturalny

Planowanie sieci IP jest istotnym elementem opracowywania skalowalnego rozwiązania dla sieci przedsiębiorstwa. W celu określenia schematu adresacji musimy zdobyć wiedzę na temat tego ile potrzebujemy podsieci oraz określenie ilości hostów w każdej z nich. Trzeba równiez przestudiować zapotrzebowanie na ruch sieciowych organizacji oraz określić w jaki sposób te podsieci będą mieć strukturę. Trzeba pod uwagę wziąć segmentaryzacje sieci oraz zapotrzebowanie na adresy IP dla różnych urządzeń (jak np. serwery lub urządzenia sieciowe) oraz pule VLAN-ów.

Zadanie praktyczne - Packet Tracer

Praktyka projektowania i wdrażania VLSM - scenariusz Praktyka projektowania i wdrażania VLSM - zadanie

Podsumowanie

W tym rozdziale poznaliśmy strukturę adresów IP, ich rodzaje oraz czym jest broadcast, unicast oraz multicast. Poznaliśmy zakresy adresów publicznych, prywatnych oraz tych specjalnych. Dowiedzieliśmy się jakie dzielić domeny rozgłoszeniowe oraz zakresy adresów IP na podsieci. Na koniec nauczyliśmy się jak korzystać VLSM, aby oszczędzać adresy podczas podziału.

Zadanie praktyczne - Packet Tracer

Projektowanie i stosowanie adresacji VLSM - scenariusz Projektowanie i stosowanie adresacji VLSM - zadanie

Laboratorium

Projektowanie i wdrażanie schematu adresacji VLSM

1.12. Adresacja IPv6

Obecnie sieci komputerowe opierają się na podwójnym stosie. Nasze komputery są konfigurowane zarówno przy użyciu IPv4 oraz IPv6. IPv6 nie jest nowym wynalazkiem, ma już kilka lat. Jedną z przeszkód dlaczego używamy IPv4 zamiast IPv6 jest fakt, że protokół IP ma już coś około 40 lat. Pakiet mknąc przez przestrzeń może napotkać naprawdę różny sprzęt i dostosowanie się usługodawców internetowych do IPv6 jest tak główną przeszkodą do odejścia od IPv4 i zmiany głównego protkołu internetowego. W tym rozdziale spróbujemy przybliżyć sobie jak wygląda adresacja IPv6. Odpowiemy również na pytanie czy ja muszę rzeczywiście pisać te wszystkie cyfry?

1.12.1. Problemy IPv4

Adresy IPv4 są nawyczerpaniu. IPv6 jest następcą IPv4. IPv6 ma o wiele większą przestrzeń adresową niż IPv4. Implementacja IPv6 posiada wiele ulepszeń i znosi wiele ograniczeń IPv4. Pula adresowa przeznaczona dla krajów europejskich wyczerpała się we wrześniu 2012 roku. Wszystkie obecnie nowoprzydzielane pule są zaporzyczeniami z puli przeznaczonej dla kontynentu afrykańskiego.

Organizacja IETF stworzyła wiele protokołów oraz narzędzi mających pomóc administratorom w migracji ich sieci na IPv6. Opracowane techniki migracji można opisać za pomocą trzech kategorii:

Warto dodać, że tunelowanie powinno być wykorzystywane tylko tam gdzie jest to niezbędne. Naszym celem powinno być zapewnienie domyślnej komunikacji z pośrednictwem protokołu IPv6.

1.12.2. Reprezentacja IPv6

Adres IPv6 mają długość 128-bitów, zapisywane są za pomocą liczb systemu heksadecymalnego (szesnastkowego). Zapis adresu nie jest wrażliwy na wielkość znaków, cyfry reprezentujące liczby od 10 (A) do 15 (F), można zapisać małymi lub wielkimi literami. Preferowanym formatem zapisu jest x:x:x:x:x:x:x:x, gdzie każdy x jest czterema cyframi heksadecymalnymi, jeden taki x jest również nazywany nieoficjalnie hekstetem. Poniżej znajdują się przykładowe adresu IPv6.

2001:0db8:0000:1111:0000:0000:0000:0200
2001:0db8:0000:00a3:abcd:0000:0000:1234

Powyższy zapis jest niewygodny, wymaga więcej czasu na jego zapisanie na stacji roboczej. Dlatego też wymyślono dwie zasady za pomocą, których możemy skracać zapis tego typu adresów. Zasady operają się na cyfrze 0. Pierwszą z nich jest ponięcie wiodącego zera

Zatem jeśli mamy na początku hekstetu cyfrę 0, to możemy ją pominąć, a hosty same ją poźniej uzupełnią, tak aby każdy hekstet mam 4 znaki. Po zastosowaniu tej metody powyższe przykłady wygłądały by nastepująco.

2001:db8:0:1111:0:0:0:200
2001:db8:0:a3:abcd:0:0:1234

Zapis jest już krótszy i w pełni poprawny. Drugą zasadą jest wykorzystanie podwójnego dwukropka (::). Ta zasada mówi, że możemy zastąpić następujące po sobie hekstety zer, podwójnym dwukropkiem. Ta zasada ma jednak ograniczenia, otóż może zostać w jednym adresie użyta tylko raz. Tak więc nasze adresy możemy zapisać

2001:db8:0:1111::200
2001:db8:0:a3:abcd::1234
#lub jeśli zmodyfikujemy 4 hekstet z 00a3 na 0000, to wówczas taki adres
#możemy zapisać tak:
2001:db8:0:0:abcd::1234
#albo
2001:db8::abcd:0:0:1234

1.12.3 Typy adresów IPv6

Istnieją trzy kategorie adresów IPv6, są to m. in.:

W przeciwieństwie do IPv4 w IPv6 nie ma czegoś takiego jak adres broadcast, jednak że istnie adres multikastowy kierowanych do wszystkich hostów, co w rezultacie daje takie same efekty.

Prefiks oraz jego długość wykorzystywane są do wskazywania sieciowej części adresu IPv6. Przedstawiany jest jak maska IPv4 w notacji CIDR. Prefiks może mieć długośc od 0 do 128. Jednak rekomendowaną długością prefiksu dla sieci LAN oraz innych są 64-bity (/64). Jest to wręcz standard, ze względu na ty, że metoda SLAAC (będzie opisana poźniej), wykorzystuje pozostałe 64-bity na identyfikator interfejsu użytkownika. Użycie takie prefiksu, łatwia podział na podsieci oraz poźniejsze nimi zarządzanie.

W przeciwieństwie do IPv4, urządzenia korzystające z IPv6 mają po dwa adresy przypisane do interfejsów. Pierwszym z nich jest Global Unicast Address (GUA) - adres ten jest podobny do publicznego adresu IPv4, jest unikalny w skali świata oraz osiągalny z Internetu. Drugim adresem jest Link-local Address (LLA) - jest on wymagany przez wszystkie urządzenia, które korzystają z IPv6 i sa wykorzystywane do komunikacji tylko w sieci lokalnej przez co są nie routowalne.

IPv6 posiada unikalne adresy lokalne (zakres od fc00::/7 do fdff::/7), (Unique Local Adress) które posiadają pewne podobnieństwa do adresów prywatnych IPv4, ale również istnieje znaczące różnice. Tego rodzaju adresy sa używane do adresacji wewnątrz organizacji lub pomiędzy ograniczoną ich liczbą. Urządzenia wykorzystujące te adresy nigdy nie będą mieć dostępu do innych sieci za ich pośrednictwem. Unikalne adresy lokalne nie są ani routowalne, ani zamieniane na adresy globalne IPv6.

Niektóre organizacje korzystały sieci prywatnych IPv4, aby ukryć swoje sieci przed zagrożeniami z Internetu, jednak to nigdy nie było motywacją do stoswania adresów ULA w IPv6.

Adresami unikastowmi o zasiągu globalnym są tzw. adresy Global Unicasts Address - GUA. Tego typu adresy są swojego rodzaju adresy publiczne osiagne z Internetu. Obecnie przypisane są tylko adresy GUA rozpoczynające sie od 2000::/3, przydzielone (zarezerowane) zostały tylko trzy bity. Przy tych trzech bitach można rozpisać tylko 2 cyfry 2 oraz 3. Zatem obecny zakres GUA rozpoczyna się od 2000 a kończy 3fff.

Adresy GUA posiadają określoną strukturę. Składa się on z globalnego prefiksu routing, który może być prefiksem, siecią lub pulą adresów. Ten prefiks routingu jest przydzielny organizcjom lub klientom przez ISP. Następną cześcią adresu jest identyfikator podsieci, znajduje się między globalnym prefiksem a identyfikatorem interfejsu. Identyfikator podsieci wykorzystywany identyfikacji podsieci wewnątrz organizacji. Ostatnią cześcią adresu jest identyfikator interfejsu, jest to część adresu odpowiedzialna za identyfikację hosta. Identyfikator hosta ma długość 64-bitów, dlatego też rekomendowane jest aby stosować 64-bitowe prefiksy.

IPv6 pozwala na przypisanie hostom adresów składajacych się z samych 0 lub z samych 1, jednakże adres składajacy się z samych 0 jest zarezwowany jako adres anycast Subnet-Router i powinnien być przypisany tylko do routera.

Ostatnim typem adresu IPv6 jest Link-local address - LLA. Ten pozwala na komunikację wewnątrz tej samej podsieci. Pakiet zaadresowane przez LLA nie są routowalne. Każdy interfejs sieciowy działający przy użyciu IPv6 musi mieć skonfigurowane LLA, jesli nie jest przypisane, urządzenie przypisze je sobie samo, automatycznie. Prefiksem dla adresów LLA jest fe80::/10

1.12.4. Statyczna konfiguracj GUA oraz LLa

Chcąc skonfigurować ręcznie adres IPv6 GUA, w systemie IOS po przejściu do konfiguracji wybranego intefejsu wydajemy poniższe polecenie:

Router(config-if)# ipv6 address 2001:db8:acad:1::1/64

Następnie podnośimy interfejs za pomocą polecnia no shutdown. Gotowe.

W przypadku konfiguracji stacji roboczych, to konfiguracja wygląda podobnie do konfiguracji IPv4, tylko zamiast "Protokoł Internetowy w wersji 4" wybieramy "Protokoł Internetowy w wersji 6". Jeśli podajemy adres bramy, to najlepszą praktyką jest ustawienie adresu LLA routera.

Konfigurując LLA na jednym z interfejsów w systemie IOS korzystamy z tego samego polecenia. Nie podajemy przy tego rodzaju adresie prefiksu. To specjalny adres, który go nie wymaga. Dodajemy również specjalne słowo kluczowe: link-local.

Router(config-if)# ipv6 address fe80::1:1 link-local

Konfigurując LLA dla każdego z interfejsów routera warto pamiętać o tym aby były one unikalne (wymagane jest aby były unikalne w obrębie jednej podsieci).

1.12.5. Dynamiczne adresowanie GUA w IPv6

Urządzenia mogą uzyskąć adres GUA dynamicznie wykorzystując do tego komunikaty ICMP w wersji 6. Host może wysłać zapytanie o router (komunikat RS Router Solicitation). W informacji zwrotnej w postaci (komunikatu RA Router Advertisment) od routera, host dowiaduje się w jaki sposób może uzyskać GUA oraz otrzymuje kilka dodatkowych informacji takich jak:

Komunikat RA dostarcza trzy metody dla konfiguracji GUA:

Metoda SLAAC pozwala na skonfigurowanie GUA bez usługi DHCPv6. Urządzenia uzyskują informacje do konfiguracji GUA z komunikatów RA protokołu ICMP. Prefix również znajdujący się w komunikatach RA jest również używany do generowania identyfikatora interfejsu czy to w przypadku metody EUI-64 lub metody losowej.

W przypadku metody SLAAC i bezstanowego serwera DHCPv6, komunikat RA instruuje klientów aby wykorzystali mechnizm SLAAC to utworzenia GUA. LLA routera, które jest adresem źródłowym pakiety RA zostaje zapisany jako adres bramy. Używa się bezstanowego serwera DHCPv6 do uzyskania takich informacji jak adres DNS oraz nazwę domenową.

Ostatnią metodą jest poinstruowanie przez pakiet RA do użycia stanowego serwera DHCPv6. Stanowe DHCPv6 jest podobne do DHCP dla IPv4. Urządzenie automatycznie otrzymuje GUA, długość prefiksu oraz adresy serwerów DNS z serwera DHCPv6. Komunikat RA sugeruje aby urządzenia użyły adresu źródłowego komunikatu RA, którym jest LLA jako adresu bramy oraz serwera DHCPv6 do uzyskania innych informacji

Nie zależnie czy w RA będzie sugerowane SLAAC czy SLAAC z uzyciem bezstanowego DHCPv6, klient musi wygenerować identyfikator interfejsu. Taki identyfikator jest tworzony za pomocą metody EUI-64 lub za pomocą wygenerowanych losowo 64-bit liczb.

Instytucja IEEE określa EUI (Extended Unique Identifier) lub jego zmodyfikowaną wersję EUI-64, która polega na utworzeniu identyfikatora umieszczając 16-bitową wartość heksadecymalną fffe w środku adresu MAC interfejsu, korzystającego z tej metody, oraz odwróceniu w siódmego bitu adresu MAC z wartości binarnej 0 na 1.

Alternatywną metodą jest wygenerowanie 64-bitów liczb heksadecymalnych zamiast generowania identyfikatora za pomocą metody EUI-64. Tak dzieje się w wszystkich współczesnych systemach MS Windows.

Aby zapewnić unikalnosć adresów, hosty mogą użyć mechanizmu DAD (Duplicate Address Detection). Jest to podobne do protokołu ARP, żądanie o swój adres. Jeśli odpowiedź nie nadejdzie to oznacza, że adres jest unikatowy.

1.12.6. Dynamiczna adresacja LLA w IPv6

Wszystkie interfejsy IPv6 muszą mieć przypisane LLA (Link-local Address). Podobnie do GUA, LLA może zostać przypisane dynamicznie. Jak pamiętamy LLA składa się z prefiksu fe80::/10, pozostałe bity są dopełniane zerami. Następnie występuje identyfikator interfejsu (zazwyczaj jest 64-bity liczb heksadecylmanych).

Systemy operacyjne z rodziny Windows do konfiguracji IPv6 domyślnie wykorzysują utworzone przez SLAAC GUA oraz dynamicznie przydzielone LLA. W przypadku systemów IOS LLA jest generowane nawet wtedy gdy adres GUA nie jest skonfigurowany. Adres LLA w systemach firmy Cisco jest generowany przy użyciu EUI-64.

Zadanie praktyczne - Packet Tracer

Konfiguracja adresacji IPv6 - scenariusz Konfiguracja adresacji IPv6 - zadanie

1.12.7. Adresy typu multicast IPv6

Multikastowe adresy IPv6 posiadają prefiks ff00::/8. Istnieją dwa rodzaje adresów multikastowych:

Warto zwrócić na to uwagę, że adresy multikastowe mogą być jedynie używane jako adresy docelowe, a nie źródłowe.

Adresy Well-known są adresami już przypisanymi i zarezerowanymi dla predefiniowanych grup urządzeń. Istnieje dwie powszechne grupy przypisanych adresów multikastowych:

Adres multikastowy dla solicited-node jest podobny do adresu all-nodes. Adres solicited-node jest mapowany do specjalnego adresu multikastowego Ethernet. Przez to karty sieci Ethernet są wstanie odfiltrować taki pakiet sprawdzając adres docelowy zanim trafi do przetwarzania przez IPv6 w celu ustalenia czy host, do którego ten pakiet trafił jest hostem dla niego docelowym.

Laboratorium

Identyfikacja adresów IPv6

1.12.8. Podsieci protokołu IPv6

Protokół IPv6 posiada już zaprojektowaną możliwość podziału większych sieci na podsieci. Adres GUA posiada wydzielone pole na identyfikator podsieci (subnet ID) wykorzystywane przy tworzeniu podsieci. Identyfikator podsieci znajduje się między globalnym prefiksem routingu, a identyfikatorem interfejsu.

Załóżmy, że otrzymaliśmy globalny prefiks routingu o wartości: 2001:db8:acad::/48, wraz 16-bitami identyfikatora podsieci to daje nam 65,535 podsieci. Globalny prefiks pozostaje dla wszystkich tych podsieci, inkrementacji natomiast będzie ulegać jedynie kolejny po nim hekstet.

2001:db8:acad:0000::/64
2001:db8:acad:0001::/64
2001:db8:acad:0002::/64
2001:db8:acad:0003::/64
2001:db8:acad:0004::/64
2001:db8:acad:0005::/64
2001:db8:acad:0006::/64
2001:db8:acad:0007::/64
2001:db8:acad:0008::/64
2001:db8:acad:0009::/64
2001:db8:acad:000a::/64
2001:db8:acad:000b::/64
2001:db8:acad:000c::/64
...
2001:db8:acad:ffff::/64

Posieciami IPv6 w praktyce operujemy tak samo jak w przypadku podsieci IPv4. Dla każde z nich potrzebujemy osobnego interfejsu na routerze.

Zadanie praktyczne - Packet Tracer

Implementacja schematu adresowania podsieci IPv6 - scenariusz Implementacja schematu adresowania podsieci IPv6 - zadanie

Posumowanie

W tym rodziale zostaliśmy zaznajomieni z protokołe IPv6 zobaczyliśmy jak wygląda taki adres IPv6 i w jaki sposób można go zapisać. Poznaliśmy rodzaje adresów tego protokołu oraz nauczyliśmy się konfigurować statyczne adresy GUA oraz LLA. Przedstawiono nam techiniki dynamicznego uzyskiwania adresu GUA oraz LLA. Na koniec dowiedziliśmy się jakie są adresy multikastowe dla IPv6 oraz zapoznaliśmy się z podziełem sieci IPv6 na podsieci.

Laboratorium

Konfiguracja adresów IPv6 urządzeń sieciowych

1.13. Protokół ICMP

Protokół ICMP jest protokołem diagnostyczno-kontrolnym, wspomagający protokoł IP. Przez użytkowników może zostać wykorzystany do sprawdzenia połączenia z siecią oraz weryfikacji trasy wysyłanych pakietów.

1.13.1. Komunikaty protokołu ICMP

Protokoł ICMP dostarcza informacji o problemach związanych z przetwarzaniem pakietów IP w określonych warunkach.

ICMP w wersji 4 posiada głównie funkcjonalność sygnalizacyjną na IPv4. Natomast w przypadku IPv6 funkcjonalność protokołu ICMPv6 rozszerzono o dodatkowe role.

Oczywiśćie ICMP dla IPv6 dalej pozostaje protokołem sygnalizacyjnym. Obie wersje protokółu wspierają podstawowe komunikaty takie jak:

Warto zaznaczyć, że nie ze wszystkich sieci otrzymamy odpowiedź, ponieważ w wielu z nich protokół ICMP jest blokowany przy użyciu zapory, ze względów bezpieczeństwa.

Do badania osiągalności hosta, można wykorzystać komunikat ICMP Echo. Jeden z hostów wysyła do drugiego żądanie Echo (request), jeśli ten drugi host jest osiągalny to odpowie przy użyciu komunikatu odpowiedzi Echo (reply)

W przypadku mierzenia osiagalności celów oraz usług sprawa trochę bardziej skomplikowana. Komunikat ICMP może zawierać specjalny kod, który wskaże nam dlaczego pakiety nie mogą dotrzeć.

Dla IPv4 są to kolejno:

Natomiast dla IPv6 są to kolejno:

Innym rodzajem komunikatu jest upłynięcie czasu. Jak możemy pamiętać z budowy nagłówka pakietu IPv4, to zawiera on pole TTL, każde przejście pakietu przez router obniża tą wartość o 1, aż do jej wyzerowania. W momecie wyzerowania pola TTL, dla np. naszego żądania Echo, możemy otrzymać komunikat o tym, że pole TTL zostało wyzerowane w trakcie przesyłu pakietu

Protokół ICMP dla IPv6 został zaktualizowany, a jego funkcjonalność została rozszerzona na 4 nowe rodzaje komunikatów jako część protokołu Neighbor Discover Protocol.

Nowe komunikaty dzielą się na wymieniane między hostem a routerem, to jest:

Jak i na te wymienie między hostami, to jest:

ICMPv6 zawiera jeszcze inne komunikaty, ale są one np. podobne do komunikatu przekierowania (redirect) wykorzystywanego IPv4.

Komunikaty RA w IPv6 są wysyłane przez router co 200 sekund, aby dostarczyć informacje do wszystkich obsługujących IPv6 urządzeń. Poza adresami routera przekazywany jest prefix i jego długość, adresy DNS czy nazwa domenowa. Komunikaty RA są wykorzystywane do konfiguracji bramy domyślnej dla hostów, które są ustawione na samodzielną konfigurację.

Routery odpowiedzą za pomocą komunikatu RA na otrzymany komunikat RS. Hosty wysyłają RS w celu określenia informacji na temat adresacji protokołu IPv6.

Urządzenia, które mają skonfigurowane IPv6 pod GUA lub Local-Link, mogą używać mechanizmu DAD (Duplicate Adress Detection) w celu upewnienia się o unikalności adresu. W celu sprawdzenia unikalności swojego adresu host wysyła komunikat NS, ustawiając swój adres jako adres docelowy. Jeśli jeden z hostów będzie mieć taki adres, wówczas odpowie na tem pakiet komunikatem (NA).

W przypadku IPv6 protokół ICMP w wersji 6, przejął rozwiązywanie adresów IP na adresy MAC. Host, który potrzebuje adresu MAC innego hosta wysła do niego komunikat NS. W odpowiedzi host odpowiada komunikatem NA zawierającym adres MAC stacji, która go wysłała.

1.13.2. Testy ping oraz traceroute

Polecenie ping jest narzędziem testowym zarówno dla IPv4 i IPv6. Polega ono na wysłaniu kilku komunikatów echo requests i oczekiwaniu na echo reply wyswietlając każdą odpowiedź. Na koniec zwracane jest podsumowanie zawierające m. in. uśredniony czas wszystkich odpowiedzi. Polecenia ping mogą wyglądać różnie w zależności od systemu.

#MS Windows:
C:\Users\xf0r3m\Desktop>ping 192.168.8.1

Pinging 192.168.8.1 with 32 bytes of data:
Reply from 192.168.8.1: bytes=32 time<1ms TTL=64
Reply from 192.168.8.1: bytes=32 time<1ms TTL=64
Reply from 192.168.8.1: bytes=32 time<1ms TTL=64
Reply from 192.168.8.1: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.8.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

#Dystrybucja Linuksa - immudex:
󱩊 xf0r3m@laptop-45f33b2/ ~/󰯆 ping 192.168.8.1
PING 192.168.8.1 (192.168.8.1) 56(84) bytes of data.
64 bytes from 192.168.8.1: icmp_seq=1 ttl=64 time=0.591 ms
64 bytes from 192.168.8.1: icmp_seq=2 ttl=64 time=0.643 ms
64 bytes from 192.168.8.1: icmp_seq=3 ttl=64 time=0.524 ms
64 bytes from 192.168.8.1: icmp_seq=4 ttl=64 time=0.793 ms
^C
--- 192.168.8.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3078ms
rtt min/avg/max/mdev = 0.524/0.637/0.793/0.099 ms

#Cisco IOS - przełącznik (ver. 15.2):
Switch#ping 192.168.8.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.8.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms

Polecenie ping możemy zastosować kilku scenariuszach aby uzyskać kilka odpowiedzi. Jeśli chcemy sprawdzić czy nasz stos sieciowy działa poprawnie możemy zpingować swój adres pętli zwrotnej: ping 127.0.0.1. Pozytywna odpowiedź oznacza, że nasz host może funkcjonować we wszystkich współczesnych sieciach. Drugim testem jaki możemy wykonać jest ping na adres bramy domyślnej, pozwoli nam to ustalić czy nasz konfiguracja IP jest prawidłowa. Szczególnie przydatne, gdy konfigurowaliśmy nasz interfejs ręcznie bez użycia serwera DHCP. Jeśli odpowiedź na ten test będzie pozytywna to oznacza, to że nasz host ma możliwość komunikacji w sieci, do której jest podpięty. Ostatnim trzecim testem jest sprawdzenie dostępności jakiegoś hosta w Internecie lub w drugiej sieci. Takie działania może mieć na celu upewnienie się, że mamy dostęp Internetu oraz, że nasz router jest skonfigurowany jeśli obsługuje on więcej niż dwie sieci.

Innym z narzędzi pozwalających nam testować możliwości połączenia. Jest traceroute w systematch takich jak Windows może nosić nazwę tracert. Nie koniecznie może być przedatne zwykłym użytkownikom, ale jeśli administrator ma kilka routerów, to za pomocą tego narzędzia sprawdzić możliwości komunikacji miedzy odległymi sieciami. Działa ono w oparciu o komunikat Time exceeded manipulując wartością TTL. Na początku nadawca wysyła pakiet IP z zawartością ICMP do docelowego hosta ustawia TTL na jeden i przesyła do bramy. Brama zmniejsza TTL i odsyła do klienta komunikata time exceeded, nam na ekranie pojawia się pierwszy skok. Następnie nadawca zwiększa TTL o 1 i wysyła ponownie i tak dalej, aż osiągnie cel podany podczas wydawania polecenia lub liczba skoków osiągnie 30. Zamiast nazw hostów (routerów) lub ich adresów IP zobaczymy gwiazdki (*), wówczas oznaczna to, że wysłany pakiet został utracony lub host nie jest w stanie (np. ze względów bezpieczeństwa) opowiedzieć za pomoca komunikatu time exceeded.

W przypadku nagłówków pakietów IPv6 nie mamy doczynienia z polem TTL, a z polem Hop Limit.

Zadanie praktyczne - Packet Tracer

Weryfikacja adresacji IPv4 i IPv6 - scenariusz Weryfikacja adresacji IPv4 i IPv6 - zadanie Stosowanie komendy ping oraz traceroute do testowania połączeń w sieci - scenariusz Stosowanie komendy ping oraz traceroute do testowania połączeń w sieci - zadanie

Podsumowanie

Ten rozdział zamyka warstwę trzecią. Poznaliśmy w nim protokoł ICMP, podstawowe komunikaty oraz ich rodzaje. Dowiedzieliśmy się jaką ważną rolę będzie pełnić ten protokół w sieciach opartych na IPv6. Na koniec omówiliśmy sobie sposób działania narzędzi takich jak ping czy traceroute oraz w jaki sposób wykorzystują do swojego działania komunikaty protokołu ICMP.

Zadanie praktyczne - Packet Tracer

Używanie ICMP do testowania i korygowania łączności - scenariusz Używanie ICMP do testowania i korygowania łączności - zadanie

Laboratorium

Stosowanie komendy ping oraz traceroute do testowania połączeń w sieci

1.14. Warstwa transportowa

Warstwa transportowa jest odpowiedzialna za komunikację pomiędzy aplikacjami uruchomionymi na różnych komputerach. Wraz z niższymi warstwami odpowiedzialna jest za komunikację sieciową.

1.14.1. Dostarczanie danych

Warstwa transportowa jest odpowiedzialna za takie czynności jak:

Warstwa IP nie ma możliwość bezpośredniego dostarczenia danych w docelowe miejsce. Określają to protokoły warstwy transportowej są one odpowiedzialne za sposób wymiany danych między hostami oraz za spełnienie wymagań wykorzystywanych połączeń. Protokołami warstwy transportowej są TCP oraz UDP.

Protokoł TCP wybierany jest przez aplikacje wymagające niezawodnego połączenia. Funkcjonalnością warstwy transportowej, za które odpowiada protokół TCP to:

Protokoł UDP dostacza bardzo podstawowywch funkcji dostarczania danych między określonymi aplikacjiami, przy minimalnym obciążeniu oraz weryfikacji poprawności przesyłanych danych. Cechami, które wyróżniają ten protokoł jest:

Protokół UDP jest również wykorzystywany dla aplikacji działajacej na zasadzie żądanie-odpowiedź, gdzie ilość danych jest niewielka, nie ma tam również retransmisji, przez co taka wymiana informacji może zostać bardzo szybko zrealizowana. Przykład: transmisja głosu (VoIP), komunikacja z DNS. Wymagane cechy:

Inne aplikacje, którym bardziej zależy na jakość przesyłanych danych wybiorą transmisję opartą na protokole TCP. Przykład: Poczta elektroniczna (protokoły IMAP/SMTP) czy przeglądanie sieci WWW (HTTP). Wymagane cechy:

1.14.2. Nagłówek TCP

Podczas ekapsulacji dane z warstwy aplikacji trafiają do wartstwy transportowej. Tutaj surowe dane z aplikacji są zamieniane w segmenty po dodaniu nagłówka wykorzystywane do transmisji protokołu warstwy transportowej. Poniżej znajduje się obraz przedstawiający nagłówek TCP.

tcp-header

1.14.3. Nagłowek UDP

Segmenty UDP rownież posiadają nagłówki, jednak nie tak rozbudowne jak w przypadku TCP. Dla porównania nagłówek UDP zawiera tylko 4 pola.

udp-header

1.14.4. Numery portów

Protokoły TCP oraz UDP wykorzystują numery portów do zarządzania działająch w tym samym czasie połączeń. Port źródłowy wskazuje aplikację źródłową na lokalnym hoście natomast port docelowy aplikację docelową na hoście zdalnym.

Porty znajdują się wewnątrz segmentów warstwy transportowej, Segmenty natomiast są enkapsulowane w pakiety IP. Kombinacja adresu IP oraz numeru portu nie ważne, z której strony w transmisji nazwany jest gniazdem. Gniazda umożliwiają klientom wielkrotne połączenia z tym samym serwerem, czy tą samą usługą.

Portów ze względu na rozmiar pola portu docelowego i źródłego ma długość 16-bitów, to bez modyfikacji nagłówków porty mają zakres od 0 do 65535. Większość portów jest już przydzielona i mozna je podzielić na trzy mniejsze zakresy,

Nie będę wypisywał tutaj jakiś list. Wszystko jest dostępne w Internecie lub w dystrybucjach Linuksa w pliku /etc/services.

Warto odczasu do czasu zwrócić uwagę na to jakie połaczenia są realizowane w naszym systemie w zależności od systemu możemy wykorzystać do tego albo polecenie netstat dla MS Windows lub ss dla dystrybucji Linuksa.

1.14.5. Procesy komunikacji TCP

Każdy proces aplikacji serwera jest skonfigurowany w taki sposób, aby korzystać z portów. Dwie aplikacje na tym samym serwerze nie mogą mieć przypisanych tych samych portów. Aktywna aplikacja z przypisanym portem uznaje się za otwarą, oznacza to mniej więcej tyle, że jej proces przyjmie dane przekazane do tego portu. Oznacza to również, że każde żądanie od klientów jest akceptowane i dane przekazywane są do procesu aplikacji.

Klient nawiązuje połączenie w tzw. schemacie Three-Way-Handshake. W wygląda to mniej więcej w taki sposób

  1. Klient incjalizuje połaczenie w modelu klient-serwer z serwerem wysyłając do niego segment z ustawioną flagą SYN.
  2. Serwer odpowiada na próbę inicjalizacji połączenia odsyłając do klienta segment z ustawionymi flagami SYN, ACK.
  3. Klient przesyła odpowiedź do serwera z ustawiona flagą ACK i w ten połączenie zostaje nawiązane.

Zamykanie połączeń odbywa się podobny sposób. Jeśli nie ma więcej danych do przesłania, klient wysyła segment z ustawioną flaga FIN. Następnie serwer wysyła dwa segementy jeden z odpowiedzią na wysłaną flage FIN oraz drugi segment z ustawioną flagą FIN wysłaną do klienta. Kiedy klient odbierze taki segment, potwierdza za pomocą flagi ACK, jego odebranie i połącznie zostaje zakończone.

Flagi kontrone wykorzystywane do zarządzania połączeniami TCP:

1.14.6. Niezawodność i kontrola przepływu transmisji TCP

W przypadku transmisji sieciowej może dojść do zgubienia części danych (pakietu) z róznych przyczny, rownie istotna może być ścieżka jaką poruszają się pakiety do miejsca docelowego, pakiety z tego samego źródła wysłane inną ścieżką mogą dotrzeć do celu poźniej niż inne. Wówczas warstwa transportowa otrzymała dane nie pokolei. Podobnie jest w przypadku utracenia danych, ponieważ muszą one zostać retransmitowane. Jednak zawarty w nagłówkach numer sekwencji pozwoli mechnizmom zawartym w protokole TCP złożyć widomość, tak aby nie różniła się niczym od tej wysłanej przez nadawcę.

Ciekawym mechnizmem może być SACK. Załóżmy taki przypadek, że mamy ustawione okno na odpowiedź po 10 segemencie, ale protokoł TCP uznał, że 3 i 4 segment są uszkodzone i wymagana jest ich retransmisja. To w normalnym przypadku nadawca dowiedział by się o tym fakcie dopiero po przesłaniu 10 segmentu. No dobrze troche by to opóźniło transmisje, ale mamy już nasz 3 i 4 segment, a to nie koniec ponieważ okno ustawione na 10 segment, to otrzymamy także segmenty od 5 do 10. To jeśli uda się ustalić w SACK czyli odpowiedź selektywna. W momecie gdy nadawca dowiaduje, że potrzebna jest retransmisja w dodatkowym polu w segemencie potwierdzenia zwracany jest numer sekwencyjny segmentu, który wymaga retransmisji ale w dodatkowym polu SACK znajdują się te numery sekwencyjne, które odbiorca już ma i uznał je za poprawne.

Kontrola przepływu polega na dostosowaniu ilości wysyłanych danych do możliwości odbiorcy. W przypadku protokołu TCP, kontrola przepływu pomoga utrzymać stabliność i niezawodność tego protokołu. W jedym z takich parametrów jest MSS, który określa wielkość danych niesionych w pakietach. Standardowo dla Etherenetu jest 1460B. Maksymalne MTU dla Ethernetu to 1500B, od tego musimy odjąć 20B dla nagłówka IP oraz 20B dla nagłówka TCP. Wiec pozostaje 1460B na dane z warstwy aplikacji.

Protokół TCP ma również dodatkowe mechanizmy dzięki, którym mocno obciażona stacja robocza, nie zostanie zalana segmentami w momencie kiedy nie jest wstanie odpowiedzieć, tym mechnizmem zarządza nadawca i nazywają sie Congestion Avoidance - unikanie zatorów.

1.14.7. Komunikacja z wykorzystaniem protokołu UDP

Protokół UDP nie zestawia połączenia. Ma on również mały narzut, ponieważ jego nagłówek jest mniejszy i nie zarządza on ruchem.

UDP nie korzysta z numerów sekwencji tak jak robi to TCP, przez co nie możliwości uprządkowania pakietów w takiej samej kolejności w jakiej zostały wysłane.

Serwery korzystające z transmisji UDP wykorzystują dobrze znane lub zarejestrowane porty. Kiedy datagram UDP dotrze do komputera docelowego jest on przekazywany do aplikacji na podstawie przypisanego jej numery portu.

Klienci transmisji UDP przypisują sobie porty dynamicznie, przeważnie z tej ostatniej grupy. Następnie ten port oraz port docelowy są używane w nagłówkach datagramów.

Zadanie praktyczne - Packet Tracer

Komunikacja z użyciem protokołów TCP i UDP - scenariusz Komunikacja z użyciem protokołów TCP i UDP - zadanie

Podsumowanie

W tym rodziale dowiedzieliśmy za co jest odpowiedzialna warstwa transportowa oraz jakie są jej funkcje. Poznaliśmy dwa protokoły tej warstwy - TCP oraz UDP, scharakteryzowaliśmy ich nagłówki. Następnie skupiliśmy się na opisaniu funkcjonalności protokołu TCP, na koniec krótko został przedstawiony protokół UDP.

1.15. Warstwa aplikacji

W warstwie aplikacji znajdują się elementy komunikacji sieciowej, z którymi użytkownik ma styczność podczas korzystania z zasobów Internetu. Na warstwę aplikacji składają się nie tylko aplikacje jakby sama nazwa miała wskazywać, ale także stojące za nimi protokoły, czy też metody prezentacji treści audio czy wideo, ale także utrzymanie połączenia między aplikacjami. W materiałach Cisco jak pamiętamy posługujemy się siedmiowarstowym modelem ISO/OSI, tak więc tutaj warstwa aplikacji, jaką możemy znać z modelu TCP/IP jest przedstawiona w postaci trzech mniejszych warstw.

1.15.1. Warstwy aplikacji, prezentacji i sesji

Warstwa aplikacji dostarcza interfejsu wykorzystywanego przez aplikacje do komunikacji oraz umożliwia korzystanie z sieci do przesyłania wiadomości między nimi.

W tej warstwie rezydują znane wszystkim protokoły takie jak HTTP, DNS, FTP, IMAP, SMTP, ale także taki protokoł jak DHCP.

Niższa wartswa prezentacji odpowiedzialna jest za formatowanie i prezentacje pozwalając dostosować dane źródłowe do postaci kompatybilnej z urządzeniem końcowym. Metody kompresji pozwalające na przyspieszenie ładowania zasosbu oraz ewentualną oszczędność miejsca jeśli taki zasób miał by zostać przechowany na naszych urządzeniach również rezydują w tej warstwie. Ostatnią cechą warstwy prezentacji jest zabzpieczenie transmisji przy użyciu metod szyfrowania, takich jak dobrze nam znany TLS.

Warstwa sesji jest natomiast odpowiedzialna za utrzymaniem wirtualnego dialogu pomiędzy aplikacjiami, tzw. sesji. Warstwa ta zajmuje się umożliwieniem jej inicjalizacji celem wymiany informacji pomiędzy aplikacjami, jej utrzymaniem oraz ewentualnym restartem jeśl będą ku temu przesłanki.

W warstwie aplikacji znajdują się protokoły określające standardy w wiekszości komunikacji sieciowej. Te protokoły muszą być stosowane przez obie strony i ich implementacje powinny być ze sobą kompatybilne, aby komunikacja mogła dość do skutku.

1.15.2. Komunikacja peer-to-peer

Obecny model komunikacji w Internecie opiera się o model klient-serwer, jego działanie opiera się na żądaniu przez klienta zasobów, które udostępnia serwer. Procesy zarówno klienta jak i serwera znajdują się w warstwie klienta. Format żądań i odpowiedzi klienta i serwera jest określany przez protokoły warstwy aplikacji.

W modelu P2P dwoje lub więcej komputerów może współdzielić zasoby takie jak pliki czy drukarki bez dedykowanego serwera. W tym modelu każdy jest serwerem oraz klientem, dla jednego połączenia dany host może być serwerem a w miedzy czasie przy użyciu innego połączenia pobierać plik z innego hosta. Popularnymi programami działającymi w trybie peer-to-peer jest klienci sieci BitTorrent, czy usługa Freenet.

1.15.3. Protokół HTTP oraz protokoły pocztowe.

Wpisująć w pasek adresu przeglądarki adres URL żądanej strony, przeglądarka nawiąże połączenie z serwerem WWW stojącym za żądaną stroną i pobierze ją. Połączenia między przeglądarką a serwerem strony zostaną zrealizowane za pomocą protokołu HTTP lub jego szyfrowanej wersji jaką jest HTTPS. Jak pamiętamy protokoły określają sposób komunikacji. W przypadku protokołu HTTP, jest on dosyć prosty więc warto sobie go opisać.

  1. Po wpisaniu adresu do przeglądarki np. https://www.cisco.com/index.html zostanie on zinterpretowany i podzielony na konkretne sekcje określające: protokoł (https), nazwę hosta, który udostępnia tą witrynę (www.cisco.com) oraz żądany pliki (index.html).
  2. Na drugim etapie przeglądarka wysła do hosta żądanie wskazanego w adresie pliku. Wcześniej określając adres IP poprzez wykorzystanie protokołu DNS. Tego typu żądanie określa się mianem żądania GET. W ten sposób sesja protokołu HTTP zostaje rozpoczęta.
  3. W odpowiedzi serwer wysła żądaną stronę. W tym momencie możemy uznać sesję HTTP uznać za zakończoną.
  4. Przeglądarką interpretuje otrzymaną stronę i wyświetla wynik użytkownikowi.

W drugim kroku wspomniano, że żądanie strony można określić jako GET, GET jest jednym z faktycznych komunikatów protokołu HTTP. Jest on używany w momencie gdy klient chce pobrać zasób z serwera, wówczas taki zasób jest mu udostępniany po przez wysłanie go do klienta. Po za klasycznym GET-em mamy do dyspozycji komunikat typu POST, jego zadaniem jest wysłanie osobnych danych na serwer lub do aplikacji, na przykład za pomocą formularza na stronie. Innym rodzajem komuniktów jest PUT, które zadaniem jest przysłanie plików na serwer WWW.

Obecnie poza sieciami lokalnymi, nie spotkamy transmisji z użyciem protokołu HTTP, ale przy użyciu protkołu HTTPS - bezpieczniejszej wersji. Oczywiście mogą zdarzyć się wyjątki, gdzie takie strony jak np. ta, kompletnie nie potrzebują HTTPS

Nieco innym rodzajem transmisji jest korzystanie z poczty elektronicznej. W dużym skrócie, przy poczcie elektronicznej wykorzystywane są trzy protokoły, jeden dla wysyłania oraz dwa do odbierania poczty. Obecnie nikt nie korzysta z gołych protokółów, choć w przypadku poczty jest jak najbardziej możliwe, to na co dzień wykorzystuje się programy pocztowe, będące klientami a ich zadaniem jest ułatwienie użytkownikowi korzystanie z poczty elektronicznej. Uruchamiając taki program, to jeśli posiadamy konfigurację konta pocztowego, to z serwera zostanie pobrana poczta ponieważ program połączy się albo z IMAP-em po porcie TCP/993 dla transmisji szyfrowanej lub po porcie TCP/143 dla transmisji nieszyfrowanej lub też z protokołem POP3 po porcie TCP/995 dla transmisji szyfrowanej oraz TCP/110 dla transmisji nieszyfrowanej. Rożnica w tych protokołach polega na tym, że protokół POP3 pobiera zawartość naszej skrzynki na serwerze, bez pozostawienia jej kopii na nim (chociaż w ustawieniach mozna wymuść, aby kopia pozostała na serwerze), z kolei działanie protokołu IMAP opiera się na synchronizacji, do klienta trafia ją szczątkowe informacje o poczcie na serwerze, w momencie gdy użytkownik kliknie w wiadomość zostanie ona pobrana z serwera i wyświetlona.

Inaczej jest w przypadku gdy chcemy wysłać wiadomość. W momencie gdy użytkownik zdecyduje się na kliknięcie przycisku wyśli zostanie on połączony z z serwerem SMTP TCP/465 dla transmisji szyfrowanej oraz TCP/25 dla transmisji nieszyfrowanej, wskazanym w konfiguracji konta. Wiadomość zostanie przekazana do serwera wraz ze wszystkimi danymi takimi jak odbiorca czy temat. Na podstawie odbiorcy nasz serwer SMTP prześle wiadomość do odpowiedniego dla odbiorcy serwera SMTP, z tam tąd odbiorca pobierze ją za pomocą jednego z wyżej opisanych protokołów.

1.15.4. Usługi adresacji IP

W obecnych czasach ciężko było by się poruszać po Internecie, przy użyciu adresów IP. Dlatego też wynaleziono specjalny rodzaj usługi, jaką jest DNS. Zadaniem tego protokołu jest rozwiązywanie nazw domenowych na adresy IP, DNS wykorzystuje tutaj transmisję UDP po porcie 53. Serwery DNS przechowują dane w postaci rekordów, rekordy te mają określony typ. Tak więc, rekordy typu:

System DNS używa tych samych formatów wiadomości między serwerami (uwaga, serwery DNS wymieniają informacje wykorzystując transmisję TCP na porcie 53, a UDP jak w przypadku wymiany informacji z klientami). Ten format zawiera takie informacje jak kolejno:

  1. Zapytanie - zapytanie do serwera DNS
  2. Odpowiedź - opowiedź od serwera DNS
  3. Autorytatywność - wskazanie serwera autorytatywnego dla zapytania.
  4. Dodatkowe - przechowuje dodatkowe informacje

Klient szukając adresu IP dla nazwy domenowej hosta na początku odpyta serwer DNS, który ma ustawiony w swoim systemie. Jeśli nie będzie on posiadać odpowiedzi, to wówczas rozpocznie się odpytywanie hierarchiczne.

Otóż system DNS ma budowę hierarchiczną i cała hierarchia jest zapisana w adresie URL strony. Za przykład weźmy naszą wcześniejszą witrynę jaką jest www.cisco.com. Jeśli odczytamy ją od prawej do lewej, wówczas będziemy mieć rozeznanie w hierarchi DNS. W tym przypadku najważniejszą domeną jest .com i serwer tej domeny zawiera adres serwera DNS dla subdomeny cisco, a ten z kolei zawiera adres hosta www. Tak własnie wygląda rozwiązywanie nazw, gdy nasz najbliżej położony DNS, nie posiada odpowiedzi na zadane mu pytanie. Warto dodać, że serwery trzymają taką odpowiedź (nieautorytatywną, hosta z innej domeny) w pamięci podręcznej, wrazie gdyby inny z hostów w sieci pytał o tego hosta.

Pomocnym narzędziem, które pozwoli nam odpytać system DNS jest polecenie nslookup. Polecenie to pozwala na odpytanie serwera DNS z pominięciem pamięci podręcznej urządzenia. Dostępne jest ono w każdym system operacyjnym.

Kolejnym przykładem protokołu, który pracuje wraz z adresacją IP jest DHCP. Jego zadaniem jest automatyczna konfiguracja interfejsów sieciowych hostów. Przypisanie im adresów IP oraz pozostałych parametrów pozwalających na komunikację w sieci. Konfiguracja hosta wykonana przez serwer DHCP uznawana jest za dynamiczną z racji tego, że może się zmienić, po określonym czasie. W sieci z włączonym DHCP uzyskamy dzierżawę (adresy IP z serwera DHCP uzyskuje się na konkretny, zapisany w konfiguracji serwera czas) adres IP z puli (zakresu adresów, przydzielonych do tego zadania). W wielu sieciach stosuje się mieszane podejście do konfiguracji adresów IP, niektóre urządzenia takie jak serwery czy urządzenia pośredniczące w komunikacji sieciowej, np. przełączniki posiadają statycznie (ręcznie) skonfigurowane adresy IP. Można równiez statycznie skonfigurować adresy urządzeń wykorzystując DHCP (rezerwacje adresów).

W przypadku adresów IPv6, również może działać serwer DHCP. Z tą różnicą, że nie konfiguruje on adresu bramy domyślnej, ten parametr jest pobierany z komunikatów Router Advertisement rozgłaszanych przez router.

Wymiana komunikatów między nowymi hostami w sieci serwerem DHCP wygląda następująco:

Dla IPv6 proces wygląd podobnie, różnicą są nazwy komunikatów. W DHCPv6 mamy SOLICIT, ADVERTISE, INFORMATION REQUEST oraz REPLY.

Laboratorium

Obserwacja procesu odwzorowania nazw DNS

1.15.5. Usługi współdzielenia plików

Jednym z protokołów, które możemy wykorzystać do współdzielenia plików jest protokół FTP. FTP jako jedna z nielicznych usług posiada dwa porty TCP/21 oraz TCP/20. Pierwszy z nich służy do nawiązania nawiązania połączenia z serwerem i przesyłania do niego poleceń protokoł FTP. Jeśli zdecydujemy się na wysłanie lub pobranie danych z serwera, wówczas pomiędzy naszymi komputerami zostanie otwarte nowe połączenie na portcie TCP/20. Warto pamiętać o tym, że w przypadku protokołu FTP możliwe jest przesyłanie danych w obu kierunkach. Klient może pobierać dane lub ładowanie je na serwer.

Innym protokołem jaki możemy wykorzystać udostępniania plików jest protokół SMB (Server Message Block), działanie tego protokołu opiera się na żądaniach i odpowiedziach. Trzema głównymi funkcjami komunikatów SMB jest:

W przeciwieństwie do protokołu FTP połączenie SMB jest długoterminowe, a użytkownicy mogą korzystać z zasobów udostępnianych przez SMB, jakby były ich lokalnymi zasobami.

Podsumowanie

Ten rozdział związany był z warstwą aplikacji. Poznaliśmy definicje oraz funkcje warstw prezentacji oraz sesji modelu OSI. Dowiedzieliśmy się w jaki sposób funkcjonują najważniejsze protokoły wykorzystywane zarówno w sieciach lokalnych jak i w internecie.

1.16. Wprowadzenie do bezpieczeństwa sięci

Jak możemy sobie zdawać sprawę lub też nie zadaniem sieci w ujęciu teleinformatycznym jest umożliwienie komunikacji między jednym a drugim węzłem tej sieci. A jak wszystko na świecie, każdy kij ma dwa końce, przez co posiadanie możliwości komunikacji, może mieć negatyny wpływ na nasze urządzenia, poufne dane a co za tym idzie na nas samych. Oczywiście możemy kontragrumentować tę tezę przedstawiając przypadek połączeń między zaufanymi węzłami, jednak i one mogą w wyniku zaniedbań, ludzkiej omylności lub też celowego działania mogą zostać wykorzystane przeciwko nam, nasze zaufanie tylko ułatwi to zadanie. W tym rozdziale spróbujemy zapoznać się z rodzajami zagrożeń z jakimi możemy się spotkać.

1.16.1. Zagrożenia i podatności.

Zagrozenia mogą wynikać z wielu aspektów. Atakujący mogą wykorzystywać podatności w oprogramowaniu czy sprzęcie, jednak nie wszystkie ich działania są tak wyrafinowane. Często udaję się odgadnąć czyjeś dane logwania. Osoby wykorzystujące luki w oprogramowaniu lub w jaki kolwiek sposób będące w stanie zmodyfikować oprogramowanie aby uzyskać dostęp do systemu są nazwywane w nomenklaturze Cisco podmiotem zagrożenia.

Można natomiast określić cztery rodzaje zagrożeń na jakie mogą być narażeni użytkownicy sieci w momencie, gdy podmiot zagrożenia uzyska do niej dostęp:

Podatnością możemy nazwać słaby punkt czy to w urządzeniu czy też w oprogramowaniu. Podaności na uzyskanie nieautoryzowanego dostępu może posiadać każde urządzeń, które podłączamy do sieci. Podaności można uprządkować bazując na genezie jej powstania (pominiemy podatności związane, z błędami lub niedociągnięciami programistycznymi, chociaż pierwsze dwa rodzaje w niższych wartstwach też je obejmują):

Inna bardzo często pomijaną kwestią związaną z bezpieczeństwem sieci, jest bezpieczeństwo fizyczne zarówno serwerownii jak i pomieszczeń biurowych, w których może być przeprowadzany krytyczny dla organizacji proces technologiczny lub przetważane są istotne dane. Nie mniej jednak tutaj raczej skupimy się na tzw. czynnikach środowiskowych

Możemy określić cztery klasy zagrożeń fizycznych, które np. mogą prowadzić do zagrożenia przerwania dostępności usług.

1.16.2. Ataki sieciowe

Najczęściej zadaniem ataku sieciowego jest uzyskanie nieautoryzowanego dostepu do określonego i chronionego zasobu. Można wróżnić kilka podstawowych rodzajów ataków sieciowych, które mogą wpasowywać się w zagrożenia opisane na początku tego rozdziału.

Laboratorium

Badanie zagrożeń bezpieczeństwa sieci

1.16.3. Zabezpieczanie sieci

Aby zabezpieczyć się przez opisanymi w tym rozdziale atakami należy wdrożyć odpowiednie rozwiązania. Przed zakupem nie wiadomo jak drogiego komercyjnego systemu warto na początku zadbać o zabezpieczenie takich urządzeń jak serwery, routery, switche oraz urządzenia użytkowników końcowych. Po zabezpieczeniu tych urządzeń można wówczas pomyśleć o wdrożeniu systemów IPS/IDS, systemów AAA (sic) czy filtrów treści. Warto dodać, aby przy wyborze rozwiązań jednym z kluczowych składników było to aby jedne rozwiązania mogły współpracować z pozostałymi elementami systemu bezpieczeństwa, ale także rozwiązanimi już obecnie działającymi w naszej sieci.

Jedną z tych podstawowych czynności, jakie możemy podjąć czyniąc naszą infrastrukturę teleinformatyczną bardziej bezpieczną jest zapewnienie kopii zapasowej istotnych dla organizacji danych. Podczas rozważań na temat kopii zapasowej należy wziąć pod uwagę cztery poniższe zagadnienia:

Jedną z najprostszych rzeczy jakie możemy wykonać na urządzeniach użytkowników jest sprawdzenie poprawności konfiguracji automatycznych aktulizacji. I jeśli brakuje poprawek w systemach to należy je niezwłocznie zainstalować. To samo tyczy się programów antywirusowych, program ten może aktualizować swoje bazy kilka razy w ciągu dnia. Dystrybucje Linuksa posiadają takie rozwiązania jak unattended-upgrades, które instalują automatycznie pakiety z takich gałezi repozytoriów jak security.

Istotne podczas zabepieczenia sieci jest również kontrola użytkownika który ma z niej korzystać i nie musi się to tyczyć wyłącznie komputerów ale jeśli jest taka możliwość to i urządzeń sieciowych i taką usługą może być serwer AAA. Najprostszą a zarazem jedną z lepszych jest protokół LDAP, zarówno jak i w wolnej implementacji Samba AD czy własnościowej MS Windows Active Directory.

Urządzenie, które powinno znaleźć się w każdej sieci to zapora. Jej zadaniem jest monitorowanie i zarządzanie ruchem na podstawie zdefiniowanych przez administratora reguł. Zapory mogą tworzyć specjalny rodzaj sieci tzw. strefę zdemilitaryzowaną - DMZ. W tej sieci umiesczane są serwery usług, które mają być osiągalne z poziomu sieci Internet. DMZ-ty najczęsciej konfigurowane są w taki sposób, że użytkownicy sieci lokalnych w organizacji mogą się łączyć bezproblemu z tymi serwerami, jednak te same serwery nie są w stanie inicjować połączeń z hostami w sieciach lokalnych. Kiedy jeden z tych serwerów zostanie przejęty przez napastnika, zostanie on ograniczony tylko do DMZ (oczywiście, nie należy takiego włamania lekceważyć) i nie będzie w stanie narobić wiecej szkód w innych sieciach. Same zapory najczęsciej są skonfigurowane tak aby blokować cały ruch pochodzący z Internetu, chyba, że przekierowano porty. Wówczas ruch na tych wybranych portach jest możliwy. Dostępnych jest kilka różnych metod filtrowania ruchu przez zapory o to cztery z nich

1.16.4. Bezpieczeństwo urządzeń

Poza serwera i urządzeniam użytkowników końcowych, do zabezpieczenia pozostały nam jeszcze urządzenia sieciowe takie jak routery czy switche.

W przypadku routerów Cisco mamy dyspozycji narzędzie Cisco AutoSecure, które pomoże nam przeprowadzić proces zabezpieczania urządzenia. Mimo to czynności podejmowane w celu zabezpieczenia urządzenia sieciowego nie za bardzo różnią się od procesu zabepieczania np. serwera, zaraz po zainstalowaniu na nim systemu operacyjnego.

Oczywiście na tym poziomie do uzyskania dostępu do urządzenia sieciowego będziemy wykorzystywać hasła. Warto zatem mieć na uwadzę kilka reguł dotyczących tworzenia bezpiecznych haseł:

Jeśli chcemy stosować spację na urządzenia Cisco, to musimy podać ją jako drugi lub kolejny znak. IOS ignoruje początkowe spacje.

Teraz znając zasady dotyczące haseł możemy wygenerować hasła i następnie ustawić je na naszych urządzeniach do dając przy tym kilka dodatkowych ustawień zapisanych poniżej (pierwsze trzy opcje, ustawiamy w trybie konfiguracji globalnej):

Teraz wiedząc jak bezpiczenie ustawić dostęp oparty o hasło do urządzeń sieciowych Cisco. Możemy uruchomić bezpiecznych dostęp przez SSH. Poniżej polecenie, które trzeba wykonać (cztery pierwsze opcje są wykonywane w trybie konfiguracji globalnej):

Po zapewnieniu prawidłowego dostępu zdalnego możemy wykonać ostatnią czynność jaką jest wyłączenie zbędnych usług. Tutaj istotna może być wersja IOS, jaką posiadamy na swoich urządzeniach. W starszych urządzeniach (z przed IOS-XE) możemy podejrzeć listę otwartych portów za pomocą polecenia:
show control-plane host open-ports. Natomiast w nowszych wersjach (od IOS-XE) używa się nieco krótszego polecenia:
show ip ports all Te polecenia wydajemy w trybie uprzywilejowanym EXEC bez konfiguracji. Chcąc wyłączyć usługę powiedzmy http, musimy przejść do trybu konfiguracji globalnej i następnie wydać polecenie:
no ip http server

Zadanie praktyczne - Packet Tracer

Konfiguracja bezpiecznych haseł i SSH - scenariusz Konfiguracja bezpiecznych haseł i SSH - zadanie

Laboratorium

Konfiguracja urządzeń sieciowych za pomocą SSH

Podsumowanie

W tym module zapoznaliśmy się z podstawami sieci. Poznaliśmy zagrożenia oraz genezę wielu podatności. Dowiedzieliśmy się jakie są podstawowe ataki oraz jak niewiele potrzeba, aby utrudnić atakującym dostęp do naszych urządzeń. Na koniec podnieślismy poziom bezpieczeństwa haseł na naszych urządzeniach Cisco oraz w bezpieczny sposób uruchomiliśmy usługę SSH. Poniżej znajdują się ćwiczenia praktyczne do wykonania w programie Cisco Packet Tracer oraz bardziej zaawansowane zadanie w postaci laboratorium.

Zadanie praktyczne - Packet Tracer

Zabezpieczanie urządzeń sieciowych - scenariusz Zabezpieczanie urządzeń sieciowych - zadanie

Laboratorium

Zabezpieczenie urządzeń sieciowych

1.17. Budowanie małej sieci

Ostatni rozdział pierwszego modułu kursu, ma skłonić nas do refleksji na temat: Co gdyby trzeba było zbudować taką małą sieć? Oczywiście pierwsze pytanie jak się nasuwa: co to znaczy mała? czasmi może okazać się, że do budowy takiej sieci wystarczy router klasy SOHO i dostęp do ISP. A czasami do małej sieci może zaliczać się nawet kilka segmentów.

1.17.1. Projektowanie małej sieci

W tym podrozdziale zastanowimy się nad kilkoma aspektami, które trzeba rozważyć podczas projektowania małej sieci.

Pierwszym z nich jest topologia. Małe sieci są zazwyczaj proste, zasięgiem obejmują jeden poziom lub jeden nieduży budynek. Takie sieci posiadają zazwyczaj jedno połączenie do ISP, mogą posiadać łącze zapasowe w postaci połączenia np. z siecią komórkową, jednak przełączanie między tymi sieciami może odbywać się w sposób ręczny. Takie sieci są zarządzane zazwyczaj przez osoby z zewnątrz, lub co może być rzadkością posiadają oni własnego administratora IT.

Jeśli już decydujemy się, że będziemy budować sieć komputerową to należy zastanowić się nad doborem urządzeń. Istnieją cztery postawowe czynnki, które należy wziąć pod uwagę podczas wybierania urządzeń dla naszej sieci:

Tworząc projekt sieci, nie można zapomnieć o adresacji IP i jej ewentualnym podziale. Jeśli już będziemy dzielić adresy klasy prywatnej na mniejsze podsieci, to warto oprzeć się na klasach urządzeń i ich połączeniach. Dla przykładu powinniśmy wydzielić osobną klasę dla serwerów i urządzeń sieciowych, ale tutaj ciekawą opcją mogą być komputery użytkowników, często są to laptopy, którą mogą mieć więcej niż jedno połączenie. Warto mieć to na uwadze zastanawiając się nad podziałem adresów IP.

Jeśli opieramy swoją sieć o połączenia kablowe, raczej będzie to kabel UTP, ponieważ jest prostszy w obsłudze, to warto pomyśleć o nadmiarowości połaczeń, na przykład na jednego użytkownika przypadały dwa gniazda sieciowe. Warto również mieć w zanadrzu zapasowy przełącznik oraz router.

Ostatnim zagadnieniem jest zarządzanie ruchem, w przypadku małej sieci nie jest to może priorytetowy temat do czasu, aż ktoś nie zacznie nam wysycać łącza np. pobierając duży plik z Internetu. Wówczas najlepszym sposobem jest inwestycja w przełączniki, którymi możemy zarządzać, tam jest możliwość nie tyle wdrożenia QoS oczywiście jest to możliwe co przypisania konkretnej przepustowości dla danego hosta w obu kierunkach.

Nie mniej jednak przełączniki i routery powinny być skonfigurowane w taki sposób aby priorytetyzować ruch zgodnie z zapotrzebowaniem wykorzystywanych w tej sieci protokół, tak więc dobrze skonfigurowane sieci posiadają wdrożony QoS (Quality of Service - priorytetyzację ruchu) (sic).

1.17.2. Protokoły wykorzystywane w małych sieciach

Najczęsciej wykorzystywanymi protokołami w małej sieci będzie na pewno protokoł HTTP lub HTTPS w bezpieczniejszej wersji. Protokoły pocztowe również mogą mieć miejsce, jak i protokoły SMB w celu wymiany plików z innymi współużytkownikami sieci. Do administracji mogą być wykorzystywane protokoły HTTPS jak i SSH. Protokoły takie DHCP oraz DNS muszą działać inaczej sieć może być trudna w użytkowaniu. Najczęściej są one zapewniane przez takie urządzenia jak routery, przynajmniej te klasy SOHO. Warto wspomnieć, że wiele usług może wykorzystywać jeden ten sam serwer fizyczny.

Inna kwestią jest wdrożenie w sieci usług głosowych oraz video czatu. Tutaj musimy się zastanowić czy nasza infrastruktura jest w obsłużyć tego typu ruch oraz musimy wybrać jedną z trzech technologii:

1.17.3. Rozbudowa małej sieci

Może zajść taka potrzeba, że małą sieć będzie trzeba rozbudować i warto mieć to na uwadze już podczas projektowania małej sieci. Po co? Aby wyrobić w na przykład nawyk prowadzenia dokumentacji sieci zarówno topologii logicznej, jak i fizycznej, w której można znaleźć opisy połączeń oraz lokalizacje gdzie można znaleźć router i przełączniki. Jak i prowadzenie spisu posiadanych urządzeń, które działają w sieci.

Dośc istotnym czynnikiem związanym z rozbudową sieci jest to jakim budżetem dysponujemy, być może będziemy musieli z czegoś zrezygnować lub wręcz przeciwnie będzimy mogli wdrożyć więcej przydatnych innowacji. Ważnym czynnikiem determinującym rozbudowę może być analiza ruchu przy użyciu ogólnodostępnych narzędzi takicj jak np. Wireshark.

Aby analiza ruchu była miarodajna musi zostać przeprowadzona w odpowiedni sposób. Poniżej znajduje się kilka reguł w jaki sposób zbierać pakiety, tak aby dały jak najlepszy obraz tego co się dzieje w sieci podczas normalnego dnia pracy, kiedy użytkownicy korzystają z jej zasobów:

Analiza dokonana przy zastosowaniu powyższych metod może dać nam dobrą wskazówkę w jaki sposób tym ruchem możemy zarządzać.

1.17.4. Weryfikacja łączności

Weryfikację łączności możemy stosować w momencie budowania sieci, kiedy jesteśmy pewni, że wszelakie okablowanie jest podłączone. Weryfikacja łączności na wczesnym etapie budowy sieci, może przyspieszyć uruchomienie jej w całości.

Najprostszym narzędziem jest polecenie ping, opiera się ono protokół ICMP i jest dostępne w wiekszości systemów operacyjnych podłączonych do sieci. W przypadku systemów Cisco IOS, również jest ono dostępne ma ono nieco inną formę odpowiedzi niż standardowe narzędzia znane z dystrybucji Linuksa czy systemów MS Windows. Wysyłane jest komuników i na każde z nich możemy otrzymać albo kropkę (.) w przypadku braku odpowiedzi lub też wykrzyknik (!) jeśli taka odpowiedź zostanie otrzymana. Możemy rownież uzyskać dużą literę U, która oznacza, że sieć hosta, do którego wysłaliśmy to zapytanie jest nie osiągalna (równoznaczne z destination unreachable). Polecenie ping jest uruchamiane z adresem docelowego hosta jako pierwszym argumentem. W przypadku IOS jest tak samo, ale jeśli uruchomimy to polecenie bez argumentu, to wówczas przejdzie ono do trybu rozszerzenego, w którym to będziemy mogli skonfigurować więcej parameterów poza samym podaniem adresu docelowego, np. źródłowy interfejs.

Innym poleceniem które może być przydatne podczas weryfikacji łączności w IOS jest traceroute, nazwa ta obowiązuje również w Uniksach, w przypadku systemu MS Windows jest tracert. Zadaniem tego polecenia jest przeanalizowanie trasy do hosta docelowego. Narzędzia te mogą posłużyć do analizy czy wina w braku łączności z Internetem leży po stronie naszej konfiguracji czy naszego usługodawcy.

Jeśli korzystamy z powyższych poleceń na zwykłym PC-cie, to warto pamiętać, że te polecenia posiadają komunikaty pomocy nie zależnie od systemu. W Uniksach dodatkowo istnieje nieco bardziej obszerny plik pomocy tzw. strona podręcznika.

1.17.5. Polecenia wyświetlania konfiguracji sieciowej

Podczas budowania małej sieci, gdziej pod koniec prac nad nią przyjdzie nam zacząć podłączać do niej hosty, wówczas możemy potrzebować sposóbów na sprawdzenie ich konfiguracji sieciowej.

Najczęsciej podłączanym przez nas hostem będzie MS Windows 10 i w ustawieniach karty sieciowej w aplecie "Centrum udostępniania i sieci" możemy sprawdzić parametry konfiguracji sieciowej takie jak adres IP, maska, adres bramy czy adresy serwerów DNS. Możemy również wyświetlić te informacje w wierszu polecenia, za pomoca polecenia ipconfig. Polecenie posiada kilka przydatnych opcji takich jak:

Może tak się zdarzyć, że chcąc wdrożyć pewne usługi w sieci organizacji będziemy mieć stycznosć z dystrybucjami Linuksa. Tutaj do wyświetlenia adresu IP używa się polecenia ip a do wyświetlania bramy wykorzystujemy polecenie ip route adres bramy będzie wówczas widnieć we wpisie dla sieci (pierwsza kolumna) 0.0.0.0. Natomiast adresy serwerów DNS możemy zobaczyć, poprzez wyświetlenie zawartości pliku /etc/resolv.conf.

W systemach MacOS na komputerach firmy Apple, listę dostępnych interfejsów możemy wyświetlić w terminalu za pomocą polecenia networksetup -listallnetworkservices. Po ustaleniu interfejsu wydajemy polecenie networksetup -getinfo nazwa interfejsu.

Innym przydatnym narzędziem może być sprawdzenie tablicy ARP. Tablica ARP ma to do siebie, że komputer w sieci nie odpowiada na ping, ponieważ może być tak skonfigurowany za pomocą pakietu programu antywirusowego, aby nie odpowiadał na te żądania. To jeśli adres IP hosta ma dowiązany MAC w naszej tablicy ARP, to znaczy, że jest on poprawnie skonfigurowany tylko nie odpowiada na ping. Tablicę ARP możemy wyświetlić za pomoca polecenia arp -a w przypadku systemów MS Windows, w przypadku dystrybucji Linuksa jest ip neighbor. Tablice ARP możemy wyczyścić w systemach MS Windows za pomocą polecenia netsh interface ip delete arpcache. To polecenie może wymagać uprawnień administratora.

W systemie Cisco IOS ze względu, że są to urządzenia sieciowe, mamy do dyspozycji kilka różnych poleceń poniżej (są one dostępne w trybie uprzywilejowanym EXEC):

Innym wartym uwagi narzędziem jest protokół Cisco CDP, z jego pomocą możemy z identyfikować inne urządzenia Cisco podłączone do tego, na którym wydajemy polecenia tego protokołu. Ten protokół jest nieroutowalny, tak więc zobaczymy urządzenia zajdujące się w tej samej domenie rozgłoszeniowej. Aby sprawdzić z jakie są inne urządzenia Cisco w naszej sieci należy wydać polecnie: show cdp neighbors lub show cdp neighbors detail.

W przypadku polecenia show ip interface możemy dodać na końcu jeszcze słowo kluczowe brief aby uzyskać więcej informacji.

Zadanie praktyczne - Packet Tracer

Interpretacja wyjścia polecenia show - scenariusz Interpretacja wyjścia polecenia show - zadanie

1.17.6. Metodologia rozwiązywania problemów

Czasami może tak się zdarzyć, że coś nie będzie działać lub coś przestanie działać. Naszym zadaniem jest znalezienie usterki oraz jej usunięcie. Czasami nie jest takie proste jakby się mogło wydawać, i niektóre problemy mogą być bardziej lub mniej złożone, wiadome jest, że ile jest usterek to tyle samo może być sposób na ich usunięcie. Poniżej jednak znajduje się lista kroków, które wprowadzają nieco organizacji w metodologię rozwiązywania problemów i to nie tylko sieciowych.

  1. Zidentyfikuj problem - Tutaj możemy użyć wszelkich możliwych środków, które mogą przybliżyć nas do natury problemu. Istotna może być rozmowa z innymi użytkownikami.
  2. Określenie możliwych przyczyn problemu - po zidentyfikowaniu problemu, powinniśmy ustalić możliwe przyczyny jego powstania, co mogło i kiedy się stać, że ten problem wystąpił.
  3. Spróbuj potwierdzić swoje ustalenia - tutaj musimy ustalić, które z naszych przypuszeń powstania problemów, jest tą prawdziwą genezą usterki.
  4. Określ plan rozwiązania problemu oraz ustal właściwe rozwiązanie - skoro wiemy co spowodowało usterkę, to należy opracować rozwiązanie problemu oraz sposób w jaki to zrobimy, aby jeszcze nie pogorszyć sytuacji.
  5. Zweryfikuj poprawność wprowadzonych rozwiązań, wdróż rozwiązania zardcze - Po hipotetycznym pozbyciu się problemu musimy ustalić, czy naszy rozwiązanie działa i czy przypadkiem nie ma wpływu na inne rozwiązania. Warto również skonfrontować się z przyczyną problemu i wdrożyć odpowiednie środki zaracze, aby problem się nie powtarzał.
  6. Udokumentuj to - warto prowadzić bazę wiedzy lub chociaż notatki, wrazi gdyby podobny problem wystąpił gdzieś indziej.

Oczywiście zdaję sobie sprawę z tego, że nie zawsze uda się trzymać tego planu. Warto jednak moim zdaniem wziąć sobie do serca ostatnią zasadę. Właśnie dzięki niej ta strona w ogole powstała i dlatego też dalej ją prowadzę.

Drugą sprawą jest fakt, że pewnych problemów nie uda nam się rozwiązać, z różnych przyczyn. Warto mieć to na uwadze i poinformować o tym przełożonych oraz innych pracowników. Oszczędzimy sobie setek pytań o...

Cisco IOS posiada narzędzie, które może pomóc nam znaleźć problem lub jego przyczynę, jednak należy traktować go jako ostatateczność. Do dyspozycji mamy polecenie debug. Wprowadza ono urządzenie w stan debugowania, przez co każdy pakiet jest analizowany, a rozszerzeone komunikaty diagnostyczne o przychodzących pakietach jakie zostały przetworzone przez te urządzenie mogą pojawiać się na konsoli. Jednak warto mieć to na uwadzę, że uruchomienie tego trybu spowoduje znaczne spowolnienie transmisji przez nie, ponieważ przez większość czasu będzie ono zajęte analizowaniem pakietów. Tryb debugowania włączamy polecenie debug w trybie uprzywilejowanym EXEC, a wyłączamy za pomocą polecenia no debug.

1.17.7. Rozwiązania typowych problemów

Poniżej znalazły się rozwiązania typowych problemów jakie możemy napotkać nie tylko konfigurując małą sieć. Takie problemy mogą się pojawić zawsze gdy konfigurujemy czy urządzenie końcowe czy też urządzenie pośredniczące w komunikacji sieciowej.

Pierwszym z nich mogą być problemy z autonegocjacją interfejsów sieciowych oraz błedne przyjęte uzgodnie odnośnie kierunku transmisji (duplex). Tutaj najczęściej przyczną może być fatalnej jakość medium transmisjne, np. kabel UTP, źle zarobione końcówki RJ-45 lub uszkodzone urządzenie, które chcemy podłączyć. Urządzenia Cisco mogą wyłączać również porty, jeśli dochodzi na do błędów.

Następnym przypadkiem jest przypadek błędnej adresacji interfejsów. Do rozwiązania tego problemu możemy wykorzystać poznane wcześniej polecenia jak show ip interface brief.

Problem z brakiem łączności z internetem można powiązać z brakiem lub błędnym przypisaniem adresu bramy do hosta. Za pomocą poleceń ipconfig lub show ip route w przypadku urządzeń sieciowych. Warto również sprawdzić czy serwer DHCP dobrze ustawia ten parametr.

Problemy z rozwiązywaniem nazw również mogą powodować błędnę adresy w konfiguracji hostów. Tak jak we wcześniejszym przypadku serwer DHCP może przydzielć adres serwera DNS, który już nie istnieje. W przypadku systemów MS Windows, aby sprawdzić adres serwera DNS należy wydać polecenie ipconfig /all do dyspozycji mamy również takie narzędzie jak nslookup

Laboratorium

Rozwiązywanie problemów z łącznością Projektowanie i budowanie sieci małej firmy

Zadanie praktyczne - Packet Tracer

Rozwiązywanie problemów z łącznością - scenariusz Rozwiązywanie problemów z łącznością_- zadanie Wyzwanie dotyczące rozwiązywania problemów - scenariusz Wyzwanie dotyczące rozwiązywania problemów - zadanie

Podsumowanie

W tym rodziale dowiedzieliśmy się w jaki sposób projektować małe sieci czy weryfikować konfigurację sieciową hostów znajdujących się nie tylko w małych sieciach, ale podłączonych do sieci ogólnie. Poznalismy również zasady jakim należy kierować się podczas chęci rozbudowy takiej małej sieci. Na koniec usystematyzowaliśmy swoją wiedze na temat metodologi rozwiązywania problemów oraz poznaliśmy scenariusze typowych błędów jakie możemy napotkać. Ten rozdział zamyka pierwszy moduł kursu Cisco CCNA.

Zadanie praktyczne - Packet Tracer

Zadanie podsumowujące umiejętności - scenariusz Zadanie podsumowujące umiejętności - zadanie

1. Egzamin próbny - ITN

Przed przystąpieniem do egzaminu finałowego, będziemy mogli a wręcz musieli podejść do egzaminu próbnego. Egzamin próbny jest bardzo podobny do egzaminy finalnego, gdyż jego zakres obejmuje całość przerobionego na kursie materiału. Wynikiem tego egzaminu jest wartość procentowa poprawnych odpowiedzi ze wszystkich 55 pytań, poniżej rozpisane zostały również wartości procentowe ze wszystkich działów, dzięki temu kursant wie co musi sobie powtórzyć przed przystąpieniem do finala. Egzamin ten niepodlega ocenie, to znaczy że nie dostaniemy informacji zwrotnej, z pokazanymi odpowiedziami, na które odpowiedziliśmy źle z zaznaczonymi odpowiedziami oraz jego wyniki nie jest brany do kryterium ukończenia modułu.

1. Egzamin finałowy - ITN

Egzamin finałowy może składać z testu, w którym do wyboru możemy mieć pytania jednokrotnego lub wielokrotnego wyboru wymagające 2 lub 3 odpowiedzi. Mogą również zdarzyć się zadania polegające na przyporządkowaniu słów kluczowych, terminów, a nawet adresów do poszczególnych pól, jakimś opisem. W przypadku adresów możemy mieć rownież polecenie, gdzie będzie trzeba przyporządkować do adresów opis w stylu adres broadcast podsieci 1. Mając podane adres np. hostów oraz maskę w notacji CIDR.

W pytanich wielkrotnego wyboru, istnieje pewnego rodzaju haczyk. Czy też zmuszenie zdającego do posiadania podstaw do zazanaczenia takich odpowiedzi (w postaci wiedzy), że jeśli zaznaczym jedną dobrą odpowiedź i jedną złą, to wówczas za całe to zadanie mamy 0 punktów. Dlatego też, jeśli niemamy pewności do pozostałych, a jednej jesteśmy pewnii to lepiej zaznaczyć tę jedną i iść dalej. Taki mechanizm, żeby nie zgadywać.

Ilość pytań na egzaminie wacha się między 50, a 60 pytaniami, na zdanie których mamy 2 i pół godziny. W tym egzaminie nie uświadczymy zadań praktycznych wykonywanych w Packet Tracerze, tak jak to miało miejsce w egzaminach cząstkowych.

Czy są szanse na zdanie egzaminu, bazując tylko na tym materiale? Jeśli czytelnik, nie posiada żadnej wiedzy na temat sieci to raczej w to wątpie. Materiał ten ma za zadanie jedynie odświeżenie wiedzy zdobytej podczas kursu. Coś na zasadzie intensywnego powtórzenia. Problemy również mogą mieć osoby posiadające już jakąś wiedzę oraz doświadczenie w praktycznej konfiguracji sieci. Wymaga się od zdającego, zmiany sposobu myślenia na rozumienia pewnych pojęć tak jak sobie życzy tego Cisco. Z jednej strony przygotowuje nas to pracy z konkretną technologią, jednak nie od dziś wiadomo, że raczej z jedną nie będziemy zawsze i wszędzie pracować. Dlatego też zapoznanie się z materiałamia dostępnymi na kursie może być wymagane.

1. Finałowy egzamin praktyczny - Packet Tracer - ITN

Egzamin praktyczy jest podobny do ćwiczeń, które wykonywaliśmy w trakcie tego kursu. W przypadku tegorocznego zdania możemy dostać podłączoną już sieć która wymaga konfiguracji. Ale zanim do niej przejdziemy dostajemy na początku zadanie z określeniem odpowiedniej adresacji. Na przykład 192.168.1.0/24 i wytyczne mówią, aby podzielić tę pulę na podsieci o X ilości hostów przy jak najmniejszym zmarnowaniu adresów. Np. 30 hostów w sieci i dla sieci powiedzmy administracji mamy wykorzystać 4-tą podsieć z tego podziału. Następnie od 5-tej podsieci, podzielić pule na jescze mniejsze zawierające 12 czy 14 hostów i dla sieci działu IT wykorzystać podsieć 7 czy 8. Z tych podsieci mogą być również wytyczne, aby wykorzystać ostatni adres dla interfejsu routera, następny, przedostatni dla przełącznika i na koniec dowolne, inne dla hostów w tej sieci. Tak wygląda adresacja IPv4 w przypadku IPv6, adresy są już przypisane w tabeli. Tabele należy uzupełnić, aby nie pogubić się podczas konfiguracji urządzeń. Nie uzupełniamy jej w zadaniu. Nie ma takiej możliwości. Tak się kończy krok pierwszy.

Krok drugi polega na skonfigurowaniu interfejsów hostów w sieciach. Dla IPv4 oraz IPv6. Nie jest on zbyt wymagających.

Krok trzeci polega na konfiguracji routera. Do konfiguracji możemy mieć:

Krok czwarty (prawdopodobnie ostatni) polega na konfiguracji przełącznika i przy czym ta konfiguracja jest banalna. Musimy skonfigurować go do dostępu za pomocą protokołu Telnet z możliwością połączenia się z nim z innej sieci (tej drugiej) niż lokalna.

Ostatnią rzeczą jaką należy wykonać przed złożeniem zadania, jest sprawdzenia łączności oraz czy faktycznie mamy możliwość połączenia się z przełącznikiem po przez Telnet z sieci zdalnej.

W trakcie egzaminy praktycznego mamy zablokowane zakładki CLI lub w ogóle dostęp do urządzeń z poziomu osobnego okna Packet Tracera. Z urządzeniami należy łączyć się poprzez dowolnego hosta korzystając z połaczenia szeregowego oraz terminala. Egzamin ten oraz jego scenariusz jest tylko i wyłącznie w języku angielskim.

Koniec modułu pierwszego

Słowem wstępu

Po zdaniu egzaminu, kontunuacja w takiej jak dotychczas formie kursu Cisco CCNA, zawisła na włosku. No i z niego spadła. Z grupy wypisały 3 osoby, a rektor wydziału nie pozwolił wykładowcy na kontynuację kursu. Zostalismy bowiem z jednym modułem...

Nie mniej jednak dwa dni poźniej jeden z kolegów z kursu, znalazł kurs CISCO CCNA w innym mieście. Taniej, ale jednak trzeba dojechać. Pomijając inne aspekty. Kurs będzie kontynuowany, w innym miejscu i ja już wiem, że trochę z innym podejściem. Co na minus, ale tutaj liczy się dostęp do materiałów oraz możliwość zaliczenia kolejnych semestrów (modułów).

2. Moduł 2: Podstawy przełaczania, routingu oraz sieci bezprzewodowych - SRWE

Moduł drugi czyli podstawy przełączania, routingu oraz sieci bezprzewodowych. Na tym etapie zapozanymy się z takimi technikami sieciowymi jak VLAN-y, agregacja łącza, podstawy łączności bezprzewodowej oraz statyczny routing. Tematy te już są bardziej zaawansowane niż to co mogliśmy spotkać w poprzednim module. Pierwsze dwa tematy będą przypomnieniem sobie kilku zagadnień z poprzedniego modułu.

2.1. Podstawowa konfiguracją urządzenia

Każde dostaczone urządzenie zawiera już jakąś konfigurację. Bez tego nie mogło by działać. Oczywiście ta konfiguracja ma z zadanie przygotować urządzenie do pracy i umożliwić dostosowanie go do obecnych potrzeb. Przy okazji przypominy sobie część poleceń jakie do tej pory poznaliśmy. Rozszerzymy wiedzę zawartą w podstawowej konfigurację przełącznika oraz routera o kilka nowych informacji.

Wiekszość urządzeń techniki komputerowej, niezależnie od tego jak prymitywne one nie są i jakie realizują zadania, oparto o schemat działania ówczesnych komputerów. Podobnie w przypadku przełączników firmy Cisco, są one prymitywnymi komputerami zawierającymy duże ilości kart sieciowych (mniej więcej).

Przełączniki nie posiadają nawet włącznika. Startuje zaraz podaniu zasilania. Zamysł takiego projektu przełącznika opiera się na tym, że ten sprzęt powinien zostać zasilony i działać do momentu swoje żywota.

  1. Po podłączeniu zasialania przełącznik przeprowadza procedurę POST, w której oprócz podstawowych komponentów takich jak CPU czy RAM sprawdzany jest także stan systemu plików, w który zawiera system operacyjny przełącznika.
  2. Przełącznik ładuje z pamięci ROM program ładujący (bootloader), uruchamiany jest on w momencie pozytywnego przejścia procedury POST.
  3. Program ładujący przy urzyciu procesora przygotowuje pamięc.
  4. Bootloader montuje system plików znajdujący się dysku flash w przełączniku.
  5. Na końcu bootloader, odszukuje na powyższej pamięci obraz IOS i uruchamamia go i przekazuje mu kontrolę nad urządzeniem.

Jak w przypadku większości komputerów, czy to mniej lub bardziej prymitywnych możemy kontrolować ich rozruch, jednym ze sposobów zmiany sekewncji startowej urządzenia jest uzycie odpowiednich poleceń systemu IOS. Polecenie boot system służy do ustawienia zmiennej środowiskowej BOOT. Przechowuje ona bowiem ścieżkę wskazującą na plik z system operacyjnym w tym wypadku z IOS. Jeśli takiej zmiennej będzie brakować w systemie, wówczas program ładujący uruchomi pierwszy napotkany plik wykonywalny. Dostęp do zmiennej BOOT możemy uzyskać po przez polecenie show boot. Poniżej przykład.

Switch#sh boot
BOOT path-list      : 
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    : 
Auto upgrade        : yes
NVRAM/Config file
      buffer size:   65536

Jak wydzimy na powyższym przykładzie, przełączniki domyślnie nie mają ustawionego, żadnego pliku z systemem operacyjnym. Korzystają z możliwości przeszukiwania pamięci flash i użycia pierwszego napotkanego pliku wykonywalnego. W celach przezentacji wykorzystałem emulowany przełącznik z programu PacketTracer, w przypadku urządzeń fizycznych, możemy mieć zdefiniowaną domyślną ścieżkę do pliku z systemem, ponieważ na przestrzeni lat działania, w pamięci flash może znajdować się kilka, takich plików. Spróbujmy teraz ustawić opisywany tutaj parameter i ponownie wyświelimy informację o rozruchu.

Switch#dir flash: 
Directory of flash:/

    1  -rw-     4670455          <no date>  2960-lanbasek9-mz.150-2.SE4.bin
Switch(config)#boot system flash:/2960-lanbasek9-mz.150-2.SE4.bin
Switch#sh boot
BOOT path-list      : flash:/2960-lanbasek9-mz.150-2.SE4.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    : 
Auto upgrade        : yes
NVRAM/Config file
      buffer size:   65536

Na początku wyświetliłem zawartość pamięci flash, aby sprawdzić dokładną nazwę pliku z obrazem systemu, następnie użyłem polecenia boot system jak parametr polecenia podałem scieżkę z lokalizacją pliku z system operacyjnym. Na koniec ponownie wyświetliłem informacje rozruchowe i w pierwszym wierszu widzimy naszą wskazaną ścieżkę.

Przełączniki serii Catalist (powszechnie używane modele) firmy Cisco, nie posiadają wyświetlaczy, a jedynie zestaw diód nad portami oraz diody z lewej strony urządzenia na odrębnym panelu. Na tym panelu również znajduje się jedyny przycisk tego urządzenia. Przełącznik tak jak już może wspomniałem albo nie, nie posiadają wyłącznika. Cisco zakłada, że raz podłączony przełącznik ma działać do momentu, aż się nie uszkodzi. Ten nie pozorny zestaw diód, może nam zdradzić znacznie więcej informacji, niż inne przełączniki, innych firm również wyposażone w diody prezentujące stan oraz aktywność poszczególnych portów.

Diody w urządzeniach Cisco, mają 5 stanów: wyłączony - dioda się nie swieci, zielony stały - dioda swieci się na kolor zielony, pomarańczowy stały - dioda swieci się na kolor pomarańczowy, zielony migający - dioda miga kolorem zielonymm, pomarańczowy migający - dioda miga kolorem pomarańczowym.

Za pomocą przycisku MODE, wybieramy jeden z trybów informacyjnych, przezentowany za pomocą diód LED nad portami, sam wybrany tryb również jest sygnalizowany za pomocą diód nad przyciskiem po lewej stronie urządzenia. Omówimy sobie te diody po kolei:

Z tych trybów i przełączania się między nimi, może wyniknąć dość zabawna sytuacja. Otóż podczas przepinania przewodów, możemy omyłkowo naciśnąć przycisk MODE i zmienić tryb. W szczególności pod STAT-em (domyślnym trybem) jest informacja o dupleksie. Patrząc po tem na porty, możemy uznać, że przełacznik się zawiesił. Zanim jednak odłączym go od prądu, naciśnijmy przycisk MODE kilka razy. Zawieszony przełącznik nie mógł by zmienić trybów.

Jednym z celów, dla których uczestniczymy w kursie CCNA jest poznanie możliwości wykorzystania sprzętu firmy Cisco, więc jeśli pracujemy na sprzęcie, to czasami może zdarzyć się potrzeba przywrócenia go do ustawień fabrycznych, przyczym nie wygląda to tak jak w przypadku zwykłych urządzeń klasy SOHO.

W pierwszym module na pewno słyszeliśmy, że urządzenia firmy Cisco są wyposażone w pamięć NVRAM, w której przechowywana jest konfiguracja. Jest to prawdą, połowicznie. To stwierdzenie jest prawdziwe w przypadku gdy mówimy o routerach. Przełączniki przy najmniej te serii Catalist nie mają takich udogodnień jak NVRAM. Tam zastosowano pamięć flash, którą mogliśmy się zetknąć podczas omawiania polecenia boot system. Tam mimo tego, że do kopii konfiguracji wykorzystaliśmy nazwę startup-config, to ten rodzaj konfiguracji jest przechowany w pamięci flash pod nazwą config.text. I to on będzie celem naszej operacji.

  1. Odłączamy od urządzenia zasilanie, a podłączamy konsole.
  2. Przytrzymując przycisk MODE, podłączamy zasilanie. trzymamy tak długo, aż dioda SYST nie mignie na pomarańczowo. Wtedy puszczamy przycisk.
  3. Na konsoli zostanie wyświetlonych kilka informacji, z możliwymi opcjami do wprowadzenia oraz promptem: switch:. Jeśli nie ma opcji to wówczas możemy wpisać znak zapytania (?) i wtedy zostanie nam wyświetlona lista.
    switch: ?
               ? -- Present list of available commands
            boot -- Load and boot an executable image
          delete -- Delete file(s)
             dir -- List files in directories
      flash_init -- Initialize flash filesystem(s)
            help -- Present list of available commands
          rename -- Rename a file
           reset -- Reset the system
             set -- Set or display environment variables
           unset -- Unset one or more environment variables
    
  4. Tryb edycji wiersza poleceń, w tym przypadku jest bardzo prymitywny nie mamy do dyspozycji strzałek czy dopełnienia. Musimy uważnie wpisywać polecenia. Zaczniemy od zamontowania systemu plików na pamięci flash.
    switch: flash_init
    Initializing Flash...
    flashfs[0]: 2 files, 0 directories
    flashfs[0]: 0 orphaned files, 0 orphaned directories
    flashfs[0]: Total bytes: 64016384
    flashfs[0]: Bytes used: 4671638
    flashfs[0]: Bytes available: 59344746
    flashfs[0]: flashfs fsck took 1 seconds.
    ...done Initializing Flash.
    
  5. Teraz za pomocą polecenia dir i podania mu urządzenia w tym przypadku jest pamięć flash, może przejrzeć zawartość tej pamięci.
    switch: dir flash:
    Directory of flash:/
    
    1    -rw-  4670455                  2960-lanbasek9-mz.150-2.SE4.bin
    2    -rw-  1183                     config.text
    59344746 bytes available (4671638 bytes used)
    
  6. Teraz w zależności od awarii, albo kasujemy plik config.text, albo ustawiamy zmienną BOOT, aby wybrać właściwy obraz systemu operacyjnego.
    switch: delete flash:config.text
    Are you sure you want to delete [flash:config.text] (y/n)?y
    File "flash:config.text" deleted
    
    W drugim przypadku definiujemy, zmienną BOOT, a jej ustawienie możemy zweryfikować za pomocą polecenia set
    switch: BOOT=flash:2960-lanbasek9-mz.150-2.SE4.bin
    switch: set
    BOOT=flash:2960-lanbasek9-mz.150-2.SE4.bin
    
  7. Po wykonaniu pożądanej czynności może przejść już do uruchomienia przełącznika. Za pomocą polecenia boot.
    switch: boot
    C2960 Boot Loader (C2960-HBOOT-M) Version 12.2(25r)FX, RELEASE SOFTWARE (fc4)
    Cisco WS-C2960-24TT (RC32300) processor (revision C0) with 21039K bytes of memory.
    2960-24TT starting...
    Base ethernet MAC Address: 000D.BDB0.4E5E
    Xmodem file system is available.
    Initializing Flash...
    flashfs[0]: 1 files, 0 directories
    flashfs[0]: 0 orphaned files, 0 orphaned directories
    flashfs[0]: Total bytes: 64016384
    flashfs[0]: Bytes used: 4670455
    flashfs[0]: Bytes available: 59345929
    flashfs[0]: flashfs fsck took 1 seconds.
    ...done Initializing Flash.
    
    Boot Sector Filesystem (bs:) installed, fsid: 3
    Parameter Block Filesystem (pb:) installed, fsid: 4
    
    
    Loading "flash:/2960-lanbasek9-mz.150-2.SE4.bin"...
    ########################################################################## [OK]
    

Uruchamiając przełącznik w trybie opisanym powyżej, przechodzimy do czegoś, co można porównać do trybu awaryjnego.

Reguła ta nie tyczy się tylko przełączników, ale i większości urządzeń firmy Cisco. Te urządzenia nie są skonfigurowane, do zdalnego zarządzania. Pierwsza konfiguracja wymaga dostępu fizycznego do urządzenia użycia interfejsu konsoli. Jeśli kupujemy nowe urządzenia to kabel konsolowy będzię w zestawie. Problemem może okazać dostępność portów COM w obecnych komputerach. W przypadku komputerów stacjonarnych możemy jeszcze je spotkać, ale w nowych laptopach to głównie w seriach tych wzmanianych. Remedium dla tego problemy jest za opatrzenie się w adapter USB - RS232, dostępne są one za parę złotych na serwiach aukcyjnych czy sklepach internetowych.

Bawiąc się przełącznikami w porzednim module, wykorzystwaliśmy domyślny VLAN 1, jako SVI. Jednak ze względów bezpieczeństwa nie jest to dobrym rozwiązaniem. Dlatego zmienimy trochę koncepcję. Ten podrozdział wystarczy sobie przeczytać, ponieważ realizacja przykładu będzie wymagać nieco więcej wiedzy, którą poznamy w poźniejszym etapie tego kursu. Poniżej znajduje się lista poleceń, która jest już raczej znana:

S1>
S1>enable
S1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#interface vlan 99
S1(config-if)#ip address 172.17.99.11 255.255.255.0
S1(config-if)#ipv6 address 2001:db8:acad:99::1/64
S1(config-if)#no shutdown
S1(config-if)#end
S1#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]

Uwaga! Aby móc wpisać adres IPv6 przełącznikowi, należy na początek skonfigurować w nim IPv6. Nie jest to skomplikowana czynność. Wymaga podania jednego polecenia w trybie konfiguracji globalnej oraz uruchomienia ponownie urządzenia. Poniższe polecenia przedstawią co trzeba zrobić.

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

S1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#sdm prefer dual-ipv4-and-ipv6 default
Changes to the running SDM preferences have been stored, but cannot take effect until the next reload.
Use 'show sdm prefer' to see what SDM preference is currently active.
S1(config)#do reload

W ostatnim poleceniu użyto polecenia do reload, przerostek do pozwala na uruchamianie poleceń bez względu na tryb. Oczywiście nie takich specyficznych dla danego trybu. Dzięki nie mu możemy uzyskać dostęp do polecenia show np. podczas konfigurowania interfejsu. Taki pro tip.

Jeśli nasz przełącznik będzie znajdować się w innej podsieci to do komunikacji z nim wykorzystamy bramę, ale on sam musimy mieć wpisany adres bramy. Poniżej znajduje się seria poleceń, służąca konfiguracji bramy na urządzeniach Cisco.

S1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#ip default-gateway 172.17.99.1
S1(config)#end
S1#
%SYS-5-CONFIG_I: Configured from console by console

S1#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]

Ćwiczenie praktyczne - Laboratorium

Podstawowa konfiguracja przełącznika

2.1.2. Konfiguracja portów przełącznika

Pomimo tego, że portom na przełącznikach, nie ustawia się adresu IP to można skonfigurować kilka innych parametrów i to tym się zajmmiemy w w tym podrozdziale.

Konfigurację portów rozpoczniemy od skonfigurowania warstwy fizycznej, a w niej znajdują się takie pojęcia jak dupleks - rodzaj transmisji umożliwiający dwukierunkową transmisję danych, w którym mamy dwie możliwości: full-dupleks - umożliwiający odbierania i nadawanie jednocześnie oraz half-dupleks - umożliwiający jedynie nadawanie lub odbieranie. Obecnie nie stosuje się pół-dupleksu i urządzenia zazwyczaj działają w trybie pełnego dupleksu. Jeśli urządzenie przestawia się w tryb pół-dupleksu, to zazwyczaj oznacza to, że ma uszkodzoną kartę sieciową, albo jest naprawdę stare.

Co więcej gigabitowy i 10Gb Ethernet wymagają pełnego dupleksu. W tym trybie wyłączony jest obwód detekcji kolizji na karcie sieciowej.

Poza dupleksem w warstwie fizycznej występuje jeszcze nominalna prędkość z jaką pracuje port - 1Gb/s, 100Mb/s czy 10Mb/s. Te omawaiane funkcję są możliwe do ustawienia w trybie konfiguracji interfejsów.

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#interface FastEthernet 0/1
Switch(config-if)#duplex full
Switch(config-if)#speed 100
Switch(config-if)#end

Na szczęście nie musimy tego robić, a wręcz nie powiniśmy. Istnieją mechanizmy autonegocjacji tych parameterów, a nie poprawna konfiguracja dupleksu, może spowodować problemy z połączeniem między przełącznikiem, a urządzeniem.

Inną funkcją warstwy fizycznej jest auto-MDIX, czyli automatyczne ustalenie potrzebnego rodzaju kabla i wykonanie przeplotu jeśli to konieczne już w samym porcie urządzenia. Funkcję możemy wyłączyć za pomocą polecenia: mdix auto, w trybie konfiguracji interfejsu. Jednak to też jedna z tych domyślnie włączonych funkcji w przełącznikach serii 2960 (powszechnie stosowany model) oraz 3560 (przełącznik L3) posiadają tę opcję włączoną. Natomiast ich starsze odpowiedniki nie posiadają tej funkcjonalności wcale, więc tutaj będzie wymagane stosowanie odpowiednich kabli.

Poniżej znajduje się lista poleceń wykorzystywana do weryfikacji przełącznika:

Przypomnijmy sobie wyjście polecenia S1# show ip interface brief, ostatnie dwie kolumny wkazywały na status portu. Pierwsza kolumn Status pokazywała nam status połączenia w warstwie fizycznej (1), natomiast druga kolumna Protocol, wskazywała czy urządzenia dogadują się na poziomie warstwy łącza danych (2). W niektórych przypadkach, możemy spotkać się z takim stanem jak up/down, oznacza to, coś jest nie tak w warstwie drugiej. Często tego typu przypadki mają miejsce w przypadku łączy szeregowych, jednak w jest to najczęsciej związane z nieustawieniem zegara. Więcej informacji na ten temat może z wrócić nam polecenie show interface [id-interfejsu]

Switch#show interface FastEthernet0/1
FastEthernet0/1 is up, line protocol is up (connected)
  Hardware is Lance, address is 00e0.f9d0.6101 (bia 00e0.f9d0.6101)
 BW 100000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 100Mb/s
  input flow-control is off, output flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:08, output 00:00:05, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     956 packets input, 193351 bytes, 0 no buffer
     Received 956 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     2357 packets output, 263570 bytes, 0 underruns
     0 output errors, 0 collisions, 10 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

Pierwsza linia wyjścia polecenia zwraca nam te informacje o których mówiłem wcześniej. Port jest w stanie up/up. Jeśli jednak byłby w stanie up/down, to warto spojrzeć na informacje w licznikach na końcu danych wyjściowych. Mamy tam wiele informacji, np. takich o wielkości ramek (runts - za małych, giants - za dużych) o błedach w CRC (CRC), poniżej znajduje się informacje na temat kolizji (collisions, late collisions). Informacje na ten temat mogą być pomocne, w diagnozowaniu stanu up/down.

2.1.3. Bezpieczny zdalny dostęp

Pracując przy administracji sieciami komputerowymi, może zdażyć się taka sytuacja, że trzeba będzie skonfigurować urządzenia, do których dostęp fizyczny, aby podłączyć się konsolą może być utrudniony lub w ogóle niedostępny. Na szczęście urządzenia firmy Cisco zapewniają zdalny dostęp swoich urządzeń. To powinniśmy pamiętać z poprzedniego modułu.

Do wyboru mamy przestarzały Telnet (23/TCP), który nie zapewnia bezpieczeństwa transmisji, nie szyfruje przesłanych za jego pośrednictwem informacji. Raczej nie jest już stosowany.

Inną opcją jest użycie lepszego protokołu, jakim jest SSH (ang. Secure SHell). SSH wykorzystuje silną krytpografię do zabezpieczenia transmisji pomiędzy naszym komputerem, a urządzeniem. Jeśli używamy protokołu SSH w wersji 2, szanse na podsłuchanie transmisji, są nie mal, że nikłe. SSH wykorzystuje transmisję protokołu TCP na porcie 22.

Nie wspominałbym gdyby nie to, że nie wszystkie urządzenia posiadają obsługę kryptografii - przez co SSH może być dostępne. Jak to sprawdzić? Otóż obsługę kryptografii możemy poznać po nazwie pliku z systemem operacyjnym jeśli w nazwie pliku występuje sekwencja k9 oznacza to, że w wersji IOS dla tego urządzenia zaimplementowano kryptografię, a co za tym idzie i obsługę SSH. Poniżej przedstawiam listing zawartości pamięci flash z urządzeń, które mają możliwość wykorzystać SSH oraz takich, w których nie ma takiej możliwości (wg. powyższej zasady).

# Przełącznik Catalyst 2960:
Switch#dir flash:
Directory of flash:/

    1  -rw-     4670455          <no date>  2960-lanbasek9-mz.150-2.SE4.bin

64016384 bytes total (59345929 bytes free)

# Przełącznik Catalist 2950:
Switch#dir flash:
Directory of flash:/

    1  -rw-     3058048          <no date>  c2950-i6q4l2-mz.121-22.EA4.bin

64016384 bytes total (60958336 bytes free)

W przypadku pierwszego przełącznika, sekwencja k9 znajduje się w drugiej części nazwy pliku po ciągu znaku lanbase. Inny sposobem na sprawdzenie nazwy pliku z IOS jest wydanie polecenia show version.

Uruchomienie SSH, było w podkoniec zeszłego modułu, ale, żeby ten moduł był kompletny, przypmnimy sobie jak się to robi. Na początek wydamy sobie polecenie: show ip ssh. W przypadku urządzenie ze wsparciem kryptograficznym odpowiedź powinna być następująca:

Switch#show ip ssh
SSH Disabled - version 1.99
%Please create RSA keys (of atleast 768 bits size) to enable SSH v2.
Authentication timeout: 120 secs; Authentication retries: 3

A jeśli polecenie wydamy na urządzeniu, które nie ma takich funkcji (wg. opisywanej wcześniej zasady), jego odpowiedź będzie następująca:

Switch#dir flash:
Directory of flash:/

    1  -rw-     3058048          <no date>  c2950-i6q4l2-mz.121-22.EA4.bin

64016384 bytes total (60958336 bytes free)
Switch#show ip ssh
SSH Enabled - version 1.99
Authentication timeout: 120 secs; Authentication retries: 3

Generalnie pomysł z rozponawaniem możliwości kryptograficznych wersji IOS po nazwie pliku, nie jest złym pomysłem. Jest nowym pomysłem, ale jego twórca, prawdopodobnie zapomniał, że wcześniej istniał inny sposób. Dlatego też, nie warto tracić czasu na analizę nazwy pliku. Najlepiej od razu powyższe polecenie. W urządzeniach z obsługą SSH oraz silnej kryptografii, zwróci na ono takie informacje na jak na powyższych przykładach. Jeśli takiego wsparcia nie będzie, to wówczas to polecenie nie zostanie rozpoznane w ogóle.

Wracając do konfiguracji SSH. Musimy ustawić nazwę hosta oraz nazwę domeny.

Switch(config)#hostname C2950
C2950(config)#
C2950(config)#ip domain-name example.com

SSH w wersji 1, zawiera znane podatności i nie jest już wykorzystywane, ani rozwijane. Więc aby użyć tej lepszej - 2 wersji SSH, musimy wygenerować nową parę kluczy, o długości co najmniej 768 bitów, aby móc włączyć SSH 2. Sugeruje nam to nawet informacja zwraca przez polecenie show ip ssh: %Please create RSA keys (of atleast 768 bits size) to enable SSH v2. Aby wygenerowac parę kluczy, wydajemy poniższe polecenie w trybie konfiguracji globalnej. Polecenie po uruchomieniu zapyta się o długość klucza. Generalnie przyjęło się, że taką dolną bezpieczną granica są klucze o długości 1024 bitów. Chociaż obecnie skłaniamy się do tworzenia dwa razy dłużyszch kluczy - 2048 bitów. Ze względu na powszchną dostępność dużej mocy obliczeniowej, tak krótkie klucze mogą nie wystarczać. Jednak należy pamiętać, że dłuższy klucz spowoduje większe obciążenie procesora urządzenia. Decyzja należy do nas.

C2950(config)#crypto key generate rsa
The name for the keys will be: C2950.example.com
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]

C2950(config)#

Powyższe informacje, tak jak nazwa host oraz domeny, służą do nazwania pary kluczy. SSH wymaga do uwierzytelniania nazwy użytkownika oraz hasła. Urządzenia Cisco mogą do uwierzytelniania wykorzystać specjalny serwer (RADIUS), lub lokalną bazę danych. Dla celów szkoleniowych wykorzystamy lokalną bazę danych. Utworzymy użytkownika admin z hasłem ccna. W trybie konfiguracji globalnej wydajmy poniższe polecenie.

C2950(config)#username admin secret ccna

Teraz możemy skonfigurować linie VTY, przełączniki Catalyst 2950 mają zakres tych linii od 0 15. Aby skonfigurować linie VTY, tak aby używały SSH wydajemy poniższe polecenia w trybie konfiguracji globalnej oraz w trybie konfiguracji linii.

C2950(config)#line vty 0 15
C2950(config-line)#transport input ssh
C2950(config-line)#login local
C2950(config-line)#exit

Na koniec pozostaje nam wymusić wersję 2 protokołu SSH. Za pomocą poniższego polecenia wydane w trybie konfiguracji globalnej:

C2950(config)#ip ssh version 2

Przełączenie wersji, możemy zweryfikować za pomocą polecenia show ip ssh. Przed wymuszeniem wersja była 1.99, a obecnie jest:

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

Weryfikacji działania SSH, możemy dokonać próbując się podłączyć, przy użyciu PuTTY lub innego klienta SSH. Obecnie są one wbudowane we większość systemów operacyjnych. Połączenia SSH na urządzeniach Cisco możemy sprawdzić za pomocą polecenia show ssh.

Ćwiczenie praktyczne - Packet Tracer

Konfiguracja SSH - scenariusz
Konfiguracja SSH - zadanie

2.1.4. Podstawowa konfiguracja routera

Do tej pory skupialiśmy się głównie na przełącznikach, teraz zajmiemy się routerem. Konfigurację routera, możemy podzielić na dwie części część pierwsza skupia się głównie na konfiguracji i podstawowym zabezpieczeniu systemu operacyjnego, bez konfiguracji interfejsów sieciowych. Część druga skupia się na właśnie na tej części sieciowej, ustawieniu interfejsów oraz ewentualnie tras.

Pierwszą część wałkowaliśmy na pierwszym module, drugą również dlatego przedstawię je w postaci zwięzłego bloku kodu, jeśli coś będzie wymagało wyjaśnienia to umieszcze je pod nim.

Router>ena
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#hostname R1
R1(config)#enable secret class
R1(config)#line console 0
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit
R1(config)#line vty 0 4
R1(config-line)#password cisco
R1(config-line)#login
R1(config-line)#exit
R1(config)#service password-encryption
R1(config)#banner motd # Nieautoryzowany dostep jest zabroniony! #
R1(config)#end
R1#
%SYS-5-CONFIG_I: Configured from console by console

R1#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]

Innym dość ważnym zadaniem podczas egzaminu może być ustawienie aktualnej daty i czasu na urządzeniu. Dokonujemy tego za pomocą polecnia clock set w trybie uprzywilejowanym.

R1#clock set 18:20:00 6 Jul 2024

Myślę, że te powyższe proste polecenia nie wymagają dodatkowego omówienia. Teraz zajmiemy się częścią sieciową. Na kursie CCNA będziemy operować na podwójnym stosie IP - dla IPv4 oraz IPv6 i w taki sposób skonfigurujemy nasze interfejsy sieciowe. Na początku warto się rozejrzeć, jakie interfejsy mamy dostępne w naszym urządzeniu.

Nieautoryzowany dostep jest zabroniony! 

User Access Verification

Password: 
Password: 

R1>ena
Password: 
R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol 
GigabitEthernet0/0     unassigned      YES NVRAM  administratively down down 
GigabitEthernet0/1     unassigned      YES NVRAM  administratively down down 
Serial0/0/0            unassigned      YES unset  down                  down 
Serial0/0/1            unassigned      YES unset  down                  down 
Vlan1                  unassigned      YES NVRAM  administratively down down
R1#

Kiedy już mniej więcej wiemy gdzie co ma być podłączone, możemy przejść do właściwej konfiguracji portów.

R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#interface gigabitethernet 0/0
R1(config-if)#ip address 192.168.10.1 255.255.255.0
R1(config-if)#ipv6 address 2001:db8:acad:1::1/64
R1(config-if)#description LAN1
R1(config-if)#no shutdown
R1(config-if)#
R1(config-if)#exit
R1(config)#interface gigabitethernet 0/1
R1(config-if)#ip address 192.168.11.1 255.255.255.0
R1(config-if)#ipv6 address 2001:db8:acad:2::1/64
R1(config-if)#description LAN2
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface Serial 0/0/0
R1(config-if)#ip address 209.165.200.225 255.255.255.252
R1(config-if)#ipv6 address 2001:db8:acad:3::225/64
R1(config-if)#description WAN1
R1(config-if)#no shutdown
R1(config-if)#exit

EXAM TIP: Warto używać polecenia description podczas ustawiania interfejsów, nawet jeśli nas o to nie proszą czy nie podanej wprost treści opisu interfejsu ważne, że polecenie zostało wydane w trybie konfiguracji interfejsu.

Podczas konfiguracji routera, być może będzie potrzeba skonfigurowania adresu pętli zwrotnej. Loopback fizycznie nie istnieje, jest adresem programowym, konfigurowanych w celach testowych lub pozostawnienia jednego co najmniej aktywnego portu na urządzeniu. Pętlę zwrotną konfiguruje się w poniższy sposób.

R1(config)#interface loopback 0
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#exit

2.1.4. Ćwiczenie praktyczne - Packet Tracer

Konfiguracja interfejsów routera - scenariusz
Konfiguracja interfejsów routera - zadanie

2.1.5. Polecenia weryfikacji interfejsu

Czasami po ustawieniu interfejsów, czy zmianie innej konfiguracji w urządzeniach Cisco, chcielibyśmy zobaczyć czy gdzieś nie popełniśmy błedu lub też znajdujemy się w sytuacji, w której coś jest nie tak, coś nie działa jak należy i trzeba sprawdzić gdzie popełniliśmy błąd. Poniżej znajduje się lista przydatnych poleceń:

Wyjścia polecenia show podelgają filtrowanie, podobnie jak na Uniksach, stosuje się tutaj znak potoku (|), po znaku filtrowania (potoku), może wystąpić jedno z czterech poleceń filtrujących, a każde z nich przyjmuje jako argument wyrażenie filtrujące.

Jak mogliśmy spostrzec lub nie, IOS posiada historię. Historia poleceń domyślnie przechowuje tylko 10 wprowadzonych poleceń, a poruszać się poniej możemy albo zapomocą strzałek (góra - dół) lub kombinacji klawiszy Ctrl+p i Ctrl+n (GNU Readline). Wielkość bufora możemy kontrolować, wydając w trybie uprzywilejowanym polecenie terminal history size N, gdzie N jest ilością przechowywanych wierszy.

R1#terminal history size 200
R1#show history
  ena
  show history
  terminal history size 200
  show history

Innym polecenie dotyczącym historii, jest show history, wyświetla cały bufor historii poleceń.

2.1.5. Ćwiczenie praktyczne - Pakiet Tracer

Weryfikacja bezpośrednio podłączonych sieci - scenariusz
Weryfikacja bezpośrednio podłączonych sieci - zadanie

Podsumowanie

W tym rodziale dowiedzieliśmy się w jaki sposób uruchamiany jest system IOS na przełącznikach oraz ile informacji są nam stanie przekazać zwykłe diody LED tych urządzeń. Nauczyśliśmy się co robić w przypadku, kiedy zapisaliśmy w stałej pamięci wadliwą konfigurację czy zapomnieliśmy haseł dostępowych. Poznaliśmy metody konfiguracji dupleksu, domyślniej prędkości portu oraz mechnizmu Auto-MDIX. Na koniec przypomnieliśmy sobie podstawową konfigurację przełącznika i routera.

2.2. Koncepcje przełączania

Koncepcje przełączania i przekazywania ramek są uniwersalne dla dla różnego rodzaju sieci. Nie tylko tych informatycznych ale telekomunikacyjnych. Wstępują różne typy przyłączników, a wybór metody zależy od przeływu tego ruchu. Z przełączaniem wiązą się dwa terminy: ingress - określenie stosowane dla portu, z którego nadchodzi ramka oraz egress - określenie dla portu, którego ramki będą używać do opuszczenia przełacznika.

2.2.1. Przekazywanie ramek

Podczas przełączania przełączniki wykorzystują tablicę przełącznia. Ramki przełączane są na podstawie adresów MAC zapisanych w tej tablicy. Tablica wiąże ze sobą porty oraz adresy MAC, przez co ramka z określonym adresem docelowym zostanie skierowana na port powiązany w tablicy, bez względu na to jaki był port wejściowy. Ramka nigdy nie zostanie przekazana na port, z którego została odebrana.

Tablica przełączania składa się numeru lub identyfikatora portu oraz adresu MAC urządzenia do niego podłączonego. Czyli ramki odebrane na tym porcie będą zawierać adres źródłowy tego urządzenia. Podczas przełączania przełącznik sprawdza adres docelowy czy istnieje przypisany do niego port przełącznika. Jeśli tak ramka jest przekazywana na ten port. Tablica przełączania czasami nosi nazwę tabeli CAM od rodzaju pamięci zastosowanej do jej przechowywania.

Tablica MAC przełącznika jest uzupełniana na podstawie metod uczenia się. Przełącznik analizuje źródłowy adres MAC ramki i zapisuje ją tablicy przypisując jej port, z którego została odebrana. Następnie w celu przełączenia ramki analizuje adres docelowy. Jeśli takiego adresu nie ma w tablicy wówczas przełącznik zachowuje się jak koncentrator i przekazuje ramkę na wszystkie pozostałe porty. Przez kilka pierwszych sekund działania, każdy przełącznik zachowuje się koncentrator, ze względu na pustą tablicę. Proces uczenia się nie kończy się na przypisaniu MAC-u do portu. Ze względu na to, że tablice MAC ma ją skończoną pojemność, więc trzeba usuwać nieaktywne już dowiązania. Jeśli z danego portu ramka nie nadejdzie w ciągu 5 minut (300 sekund), to port zostaje w tablicy zwolniony, inaczej ma się to w przypadku przepięcia innego urządzeń do tego samego portu na przełączniku, w tym przypadku dodawny jest nowy wpis. Wpis poprzedniego hosta pozostanie w tablicy do upływy wspomnianej ilości czasu . Jeśli w ciągu tych 300 sekund, na tym porcie pojawi się ramka, z adresem źródłowym przypisanym w tablicy wówczas licznik zostanie zresetowany.

Ze względu na użyte układy ASIC (ang. Application Specific Integrated Circuits), przełączniki bardzo szybko dokonują decyzji, redukując tym samym czas obsługi pakietu oraz umożliwiając urządzeniom wydajną obsługę wielu urządzeń. Mimo to możemy wyróżnić dwa rodzaj metod przełącznia.

Z najważniejszch cech przełączania store and forward jest na pewno sprawdzanie błędów, ale również automatyczne buforowanie, jeśli między portami występuje różnica w prędkości, ramki są zachowywane przez przełącznik, sprawdzane pod kątem błędów, przekazywane do bufora portu wyjściowego, i następnie przesyłane dalej do odbiorcy.

Metoda cut-through, nie sprawdza ramek pod kątem błędów. Może przekazać je dalej. Metoda ta jest bardzo szybka nie czeka nawet na odebranie całej ramki. Decyzje podjemuje, gdy odbierze adres MAC docelowy. Tego rodzaju przełączania dokonuje się w środowiskach HPC wymagających opóźnien na poziomie 10 mikrosekund i mniejszych. Metoda ta może mieć negatywny wpływ na wydajność sieci, poprzez zapychanie jej nie poprawnymi ramkami, dlatego jeśli ilość błedów zwiększa się ta metoda przełącza się w metodę fragment-free - ta metoda wydłuża nieco ilość odebranej ramki (do pola Typ), zanim podejmie decyzje pozwala to lepsze sprawdzenie błędów, niż w przypadku zwykłej metody cut-through nie wprowadzając przy tym dodatkowych opóźnień.

2.2.2. Domena przełączania

W obecnych sieciach zbudowanych na bazie przełącznika, domena kolizyjna sprowadza się do pojedyńczego połączenia między urządzeniami. Tym przypadku kolizje nie występują i termin ten można uznać za przestarzły. Jednym przypadkiem, w którym mogło by dojść do kolizji w takich warunkach jest przypadek, gdzie urządzenia nie dogadają się w sprawie dupleksu. Jeden port na jednym urządzeniu ustawi się w tryb half a drugi w full. Raczej jest jakiś problem z urządzeniem, może jego uszkodzenie. Przełączniki domyślnie lobbują wyłącznie full-duplex.

Inną domeną, w której komputery i przełączniki biorą czynny udział jest domena rozgłoszeniowa. Sieci krążą ramki rozgłoszeniowe, aby komputery i inne urządzenia znały swoje adresy oraz ewentualnie zasoby jakie mogą zaoferować (nie które usługi wysyłają ramki broadcastowe). Duża ilosc takich transmisji może spowodować znaczny spadek wydajności. Do podziału domen rozgłoszeniowych na mniejsze części może służyć router lub podział sieci na mniejsze sieci wirtualne - VLAN-y (o vlanach będzie przyszły rozdział).

Chcąć mieć wydajną sieć musimy zaopatrzyć się w dobrej jakości przełączniki. Poniżej znajduje się kilka cech, które należy sprawdzić wybierając przełączniki.

Podsumowanie

W tym rodziale przypomnieliśmy sobie o metodach przełącznia oraz o tym jak przełączniki przekazują ramki. Na koniec wyjaśnniliśmy sobie czym jest domena przełączania oraz na jakie cechy przełączników zwrócić uwagę podczas ich zakupu.

2.3. Sieci VLAN

W poprzednim rozdziale omawialiśmy, taką definicję jaką jest domena rozgłoszeniowa. Jednym z sposobów dzielenia domeny rozgłoszeniowej są VLAN-y. VLAN-y to nic innego jak wydzielona (a zarazem odizolowana) podsieć wirtualna w sieci przełączanej (opartej na przełącznikach). Do komunikacji między różnymi (to jest istotne) VLAN-ami, potrzebny jest router.

VLAN-y poza podziałem na mniejsze domeny rozgłoszeniowe, umożliwiają udostępnienie tych samych zasobów sieciowych, nie zależnie od miejsca umiejscowanie stanowiska pracy w firmie, oznacza to, że nie które działy mogą zajmować różne pokoje w budynkach firmy, ale pozostawać wpięci do tej samej fizycznej sieci lokalnej. To nie wszystkie zalety wykorzystywania VLAN-ów w sieci LAN. Poniżej znajduje się cała lista.

Rodzaje VLAN-ów można podzielić na klasę ruchu jaki przesyłaja ale również na funkcję jaką pełnią i tutaj możemy wyróżnić:

Ćwiczenie praktyczne - Packet Tracer

Kto odbiera ruch rozgłoszeniowy? - scenariusz
Kto odbiera ruch rozgłoszeniowy? - zadanie

2.3.1. Sieci VLAN w infrastrukturze z wieloma przełącznikami

Jak wspomnieliśmy wcześniej, aby przesłać informacje tej samej sieci VLAN, między przełącznikami potrzebne są porty magistralne - trunk-i, które za pomocą enkapsulacji 802.1Q umieszczają w ramkach identyfikator sieci VLAN, aby przełączniki mogły rozróżnić, z której sieci pochodzą transmitowane dane. Utworzone na przełącznikach trunk-i domyślnie przekazuje wszystkie zdefiniowane na przełącznikach VLAN-y.

Porty trunk enkapsulują ramke Ethernet II w ramkę 802.1Q, dodając po źródłowym adresie MAC, tzw. tag - pole ze znacznikiem VLAN-u. Sam tag zawiera kilka mniejszych pól:

Po dodaniu pola znacznika, przełącznika przelicza na nowo FCS i wstawia nową wartość do ramki.

W przypadku natywnego VLAN-u, znakowanie wygląda trochę inaczej. Ramki znakowane, znacznikiem natywnego VLAN-u odebrane przez port trunk są odrzucane. Więc trzeba pamiętać aby urządzenia podłączone do tego typu portu były skonfigurowane w taki sposób, aby nie wysyłały znakowanych ramek, tag-iem natywnego VLAN-u.

Inaczej jest gdy na port trunk trafi ramka nieoznakowana, jeśli tak już sie zdarzy to przełącznik przekaże ją do natywnej sieci VLAN. Jeśli na przełączniku nie ma urządzeń w natywnej sieci VLAN i nie ma innych portów magistrali to ramka jest odrzucana. Podczas konfiguracji portu magistrali 802.1Q, mamy możliwość ustawienia natywnego VLAN-u.

Dla usług VoIP wymagany jest osobny VLAN, aby zapewnić odpowiednie wymagania QoS i zasad bezpieczeniastwa dla ruchu głosowego. Telefony IP firmy Cisco łączy się bezpośrednio z portem przełącznika. Komputer natomiast można połaczyć do telefonu IP, aby także uzyskać połączenie sieciowe. Port dostępowy przeznaczony dla telefonu IP można skonfigurować w taki sposób, żeby korzystał z dwóch oddzielnych sieci VLAN. Jeden VLAN dla obsługi ruchu głosowego, a drugi VLAN danych dla obsługi ruchu hosta.

Port dostępowy przełącznika za pomocą CDP instruuje telefon IP, aby wysyłał ruch głosowy za pomocą jednej z trzech metod:

Ćwiczenie praktyczne - Packet Tracer

Badanie implementacji sieci VLAN - scenariusz Badanie implementacji sieci VLAN - zadanie

2.3.3. Konfiguracja sieci VLAN

Omawiając tag ramek 802.1Q, mówiliśmy o polu VLAN ID, jest ono 12-bitowe. Tyle przewiduje standard, którym opisane są ramki ze znacznikiem. Jednak nie wszystkie przełączniki obsługują tak samo sieci VLAN. Tutaj mówimy o zakresach, o zakresie normalnym i zakresie rozszerzonym. Spójrzmy jak wygląd lista sieci VLAN na takim urządzeniu, na którym nie zdefiniowano żadnych sieci VLAN.

Switch#show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/1, Gig0/2
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    

Sieci VLAN w normalnym zakresie:

Sieci VLAN o rozszerzonym zakresie:

Aby skonfigurować sieci VLAN na przełączniku w trybie konfiguracji globalnej wydajemy poniższe polecenia:

Switch(config)#vlan 20
Switch(config-vlan)#name student
Switch(config-vlan)#exit

Polecenie vlan wymaga podania numeru VLAN-u (identyfikatora). Nazwa nie jest wymagana jednak, pozwala na łatwiejsze rozpoznanie VLAN-ów. Jeśli jej nie podamy przełącznik, przypisze ją sobie automatycznie, tworząc ją ze słowa VLAN i jeśli identyfikator jest dość niski (normalny zakres sieci VLAN) to do nazwy zostanie dodany identyfikator poprzedzony zerami. Jak na poniższym przykładzie.

Switch#show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/1, Gig0/2
20   student                          active    
30   VLAN0030                         active    
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

Utworzenie VLAN-ów na przełącznikach do tylko połowa pracy do wykonania podczas tworzenia sieci VLAN. Teraz trzeba przypisać do tych VLAN-ów, odpowiednie porty. W trybie konfigracji globalnej wydajmy poniższe polecenia.

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#interface fastEthernet0/6
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#end

Na początek trochę teorii. Na przykładzie widzmy polecenie switchport. To nie jest tylko takie polecenie. Ale porty przełączników Cisco mają różne reprezentacje w zależności od warstwy ISO/OSI:

L3 -> SVI
          |
L2 -> Switchport
          |
L1 -> Fa0/6

Przypisując port do VLAN-u, konfigurujemy jego warstwę drugą. Za pomocą polecenia: switchport mode access, ustawiamy port jako dostępowy, następnie za pomocą polecenia: switchport access vlan 20 przypisujemy, dla którego VLAN-u ten port ma być portem dostępowym. I to tyle. W ten sposób utworzylismy sieć VLAN z jednym portem, dla pewności możemy wyświetlić sobie podsumowanie dotyczące VLAN-ów.

Switch#sh vl br

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
20   student                          active    Fa0/6
30   VLAN0030                         active    
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active  

Jak możemy zauważyć na powyższym przykładzie port Fa0/6, został zabrany z domyślnego VLAN-u 1 i przypisany do VLAN-u 20.

W przypadku gdy chcemy przygotować port dostępowy dla telefonii a przy okazji do komputera. Musimy wykonać poniższe polecenia.

Switch(config)#vlan 40
Switch(config-vlan)#name office
Switch(config-vlan)#vlan 150
Switch(config-vlan)#name VOICE
Switch(config-vlan)#exit
Switch(config)#int fa0/18
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 40
Switch(config-if)#mls qos trust cos
Switch(config-if)#switchport voice vlan 150
Switch(config-if)#end

W tym przypadku utworzyliśmy dwa VLAN-y 40 (dla PC) i 150 (dla telefonu) następnie przypisaliśmy do portu: fa0/18 VLAN dostępowy 40. Następną czynnością jest włączenie QoS, za pomocą polecenia mls qos trust cos. Ustawienia QoS nie są częścią kursu CCNA, więc można traktować te polecenie jako czynność mechaniczną, którą należy wykonać, teraz można przypisać drugi dodatkowy VLAN głosowy do tego samego portu. switchport voice vlan 150

Polecenie podsumowujące VLAN-y znamy: show vlan brief. Jednak polecenie show vlan, posiada kilka innych argumentów. Możemy podać id i następnie identyfikator lub name i nazwę. Innym argumentem jest summary, które wyświetla kilka statystyk na temat VLAN-ów.

S1# show vlan summary
Number of existing VLANs              : 7
Number of existing VTP VLANs          : 7
Number of existing extended VLANS     : 0

Wracają jeszcze do przedniego przykładu z VLAN-em głosowym. Chcąć zobaczyć czy nasze zmiany zostały zatwierdzone możemy podejrzeć switchport każdego interfejsu.

Switch# show interface fastEthernet0/18 switchport
Name: Fa0/18
Switchport: Enabled
Administrative Mode: static access
Operational Mode: down
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 40 (office)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: 150
Administrative private-vlan host-association: none
...

Konfiguracja sieci VLAN, może być monotonnym zajęciem. A przy takich czynnościach łatwiej o pomyłkę. Musimy więc dowiedzieć się jak wyjść na prostą, gdy coś źle skonfigujemy. Częstym błędem jest przypisanie portu nie do tego VLAN-u. Zatem aby zmienić przynależność portu do sieci VLAN należy wydać polecenie:

Switch(config)#int fa0/18
Switch(config-if)#no switchport access vlan
Switch(config-if)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#sh vl br

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/1, Gig0/2
40   office                           active    
150  VOICE                            active    Fa0/18
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    

Po wydaniu polecenia, no switchport access vlan, port Fa0/18 wrócił do VLAN-u domyślnego, natomiast VLAN 40 jest pusty. Nie ma przypisanego żadnego portu.

Inną czynnością może byc usunięcie VLAN-u. Jednak tutaj musimy pamiętać o kilku rzeczach. Na początku trzeba sprawdzić jakie porty są przypisane do usuwanego VLAN-u. Następnie te porty należy przepisać do innego VLAN-u i na koncu dopieru usunąć VLAN. Jeśli nie wykonamy tych czynności, porty osierocone przez usunięcie VLAN-u nie będą mogły komunikować się z innymi portami.

Switch#sh vl br

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
20   student                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9
40   office                           active    
150  VOICE                            active    Fa0/18
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

Switch#conf term
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int range fa0/1-9
Switch(config-if-range)#switchport access vlan 40
Switch(config-if-range)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#sh vl br

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
20   student                          active    
40   office                           active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9
150  VOICE                            active    Fa0/18
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active  
 
Switch#conf term
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#no vlan 20
Switch(config)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console

Switch#sh vl br

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
40   office                           active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9
150  VOICE                            active    Fa0/18
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    

Do usunięcia VLAN-u 20 użyłem polecenia no vlan 20. Wcześniej jednak przypisałem na porty tego VLAN-u do innej sieci VLAN.

Ćwiczenie praktyczne - Packet Tracer

Konfiguracja sieci VLAN - scenariusz Konfiguracja sieci VLAN - zadanie

2.3.4. Połączenia trunk

Sieci VLAN oparte o jeden przełącznik trochę mijają się z celem, ale jeśli założymy tych przełączników jest kilka, a użytkownicy różnych sieci VLAN znajdują się w róznych miejscach budynku. To wówczas aby zachodziła między użytkownikami komunikacja, potrzebujemy łączy magistralnych - trunk-ów. Porty magistralne konfigurujemy podobnie do portów dostępowych. W trybie konfiguracji globalnej wydajemy następującą serię poleceń:

Switch(config)#int gig0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk native vlan 1
Switch(config-if)#switchport trunk allowed vlan 1,40,150
Switch(config-if)#end
Switch#

Po podłaczeniu łączy trunk, będziemy mogli wydać polecenie show interface trunk, które pokaże nam informacje na temat skonfigurowanych w naszym urządzeniu portów magistralnych.

Switch#sh int tr
Port        Mode         Encapsulation  Status        Native vlan
Gig0/1      on           802.1q         trunking      1

Port        Vlans allowed on trunk
Gig0/1      1,40,150

Port        Vlans allowed and active in management domain
Gig0/1      1,40,150

Port        Vlans in spanning tree forwarding state and not pruned
Gig0/1      1,40,150

Jeśli natomiast nasze połącznie trunk nie jest póki co zestawione, możemy wydać polecenie: show interface gig0/1 switchport. To polecenie również zwróci informacje na temat ustawień portu magistrali.

Switch#sh int gig0/1 switchport
Name: Gig0/1
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan: none
Trunking VLANs Enabled: 1,40,150
Pruning VLANs Enabled: 2-1001

Jeśli zajdzie taka potrzeba, to możemy wyczyścić ustawienia natywnego VLAN-u oraz sieci VLAN dopuszczonych do ruchu przez ten trunk. Aby to zrobić wydajemy poniższe polecenia:

Switch#conf term
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int gig0/1
Switch(config-if)#no switchport trunk native vlan
Switch(config-if)#no switchport trunk allowed vlan
Switch(config-if)#end

Zadanie praktyczne - Packet Tracer

Konfiguracja połączeń trunk - scenariusz
Konfiguracja połączeń trunk - zadanie

Laboratorium

Konfiguracja sieci VLAN i łączy trunk

2.3.5. Protokół DTP

Protokół DTP jest własnościowym protokołem Cisco, pozwalającym negocjować między sąsiednimi przełącznikami łącza magistralne (trunk-i). Jest on domyślnie włączony w przełącznikach Catalyst z serii 2960 i 3650, zarządza on negocjacją łączy trunk o ile port na urządzeniu obok jest skonfigurowany w trybie trunk i wspiera DTP.

Jeśli do portu trunk podłączamy urządzenie, które nie wspiera DTP, lepiej jest tę funkcję wyłaczyć. Niektóre urządzenia mogą źle przekazywać ramki DTP. Inną dość istotną kwestią jest bezpieczeństwo. Otóż istnieje oprogramowanie, które pozwoli aby zamienić zwykły port Ethernet komputera w port przełącznika ustawiony w tryb trunk. Wówczas może dojść do wynegocjowania łącza magistralnego między tymi urządzeniami, jeśli tak się stanie, to sieci VLAN przestają mieć sens. Ponieważ tak ustawiony komputer może połączyć się z dowolnym komputerem w dowolnym VLAN-ie.

Dlatego zazwyczaj w sieciach produkcyjnych, ten protokół w ogóle nie działa. Łącza trunk ustawiane są ręcznie. Wyłączenia protokołu DTP dokonany w trybie konfiguracji interfejsu wydając następujące polecenia:

Switch(config)#int gig0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport nonegotiate

Jeśli z jakiś powodów (choćby laboratoryjnych) chcielibyśmy wrócić do protokołu DTP. To możemym włączyć go ponownie za pomocą poniższych poleceń. Jednak najlepiej pozostawić porty magistralne w trybie trunk.

Switch(config-if)#no switchport nonegotiate 
Switch(config-if)#switchport mode dynamic auto

Na switchport-ach przełącznika, możemy ustawić kilka trybów, negocjacji. Te tryby oddziaływują na siebie, w zależności jaki tryb jest ustawiony z jednej czy z drugiej strony, wówczas możemy przewidzieć jak może wyglądać komunikacja między urządzeniami na tych portach.

Ustawienie opcji interfejsu nonegotiate, spowoduje że do dyspozycji będzie mieć tylko 2 tryby - access oraz trunk.

W zależności od ustawienia portów, można uzyskać następujące rezulaty podczas negocjacji.

Dynamic Auto Dynamic Desirable Trunk Access
Dynamic Auto Access Trunk Trunk Access
Dynamic Desirable Trunk Trunk Trunk Access
Trunk Trunk Trunk Trunk Ograniczona
komunikacja
Access Access Access Ograniczona
komunikacja
Access

W celu sprawdzenia stanu protokołu DTP, na naszych urządzeniach możemy... No własnie w materiałach od Cisco podane jest polecenie show dtp interface fa0/1. Przy czym na Packet Tracerze - na którym przypomnę zdajemy egzaminy modułowe oraz główny CCNA. To polecenie nie występuje. Mimo posiadania najnowszej wersji 8.2.2 oraz Cisco IOS w wersji 15.0(2)SE4 - to polecenie nie występuje. Więc albo osoba przygotowująca materiały korzystała z nowszego firmware-u albo to polecenie jest stare i już go nie ma. Nie mniej jednak, dobra robota Cisco - kolejny babol w materiałach, które mają przygotować do egzaminu. Koniec rantu.

Zadanie praktyczne - Pakiet Tracer

Konfiguracja DTP - scenariusz
Konfiguracja DTP - zadanie

Podsumowanie

W tym rozdziale dowiedzieliśmy się czym są VLAN-y oraz jak podzielić dużą domenę rozgłoszeniową na mniejsze sieci wirtualne. Skonfigurowaliśmy łącza magistralne, aby hosty tych samych sieci VLAN, podłączonych do różnych przełączników mogły się ze sobą bez przeszkód komunikować. Na koniec dowiedzielismy się czym jest protokół DTP i jak funkcjonuje on w obecnych czasach.

Zadanie praktyczne - Packet Tracer

Wdrożenie sieci VLAN i łączy trunk
Wdrożenie sieci VLAN i łączy trunk

2.4. Routing między VLAN-ami

Po skonfigurowaniu sieci VLAN, może okazać się, że pomiędzy niektorymi sieciami powinna zachodzić komunikacja lub być może stworzyliśmy osobny VLAN dla serwerów i niezbędne jest aby dopuścić ruch do konkretnych serwerów.

VLAN-y zawsze są odrębnymi sieciami IP, więc do umożliwienia komunikacji między nimi, potrzebny będzie router lub przełącznik warstwy 3. Mamy trzy możliwości zapewnienia routingu między VLAN-ami.

  1. Tradycyjny routing pomiędzy sieciami VLAN - rozwiązanie bardzo słabo skalowalne. Wymaga, aby router posiadał dla każdego VLAN-u osobny fizyczny interfejs. Jeśli ktoś ma małą ilość sieci VLAN to może zastosować takie rozwiązanie.
  2. Router na patyku - rozwiązanie wystarczające dla małych i średnich sieci. Polega na połączeniu routera do przełącznika za pomocą łącza magistralnego.
  3. Routing między sieciami VLAN z wykorzystaniem przełącznika L3 - rozwiązanie stosowane w dużych sieciach. Polega na konfigurowaniu SVI dla każdego z VLAN-ów.

2.4.1. Router na patyku

Jak już wcześniej zostało wspomniane ta metoda opera się na pojedynczym łączu trunk między przełącznikiem a routerem. Nie jest to jednak wszystko. Ze względu na to, że wykorzystujemu jeden interfejs routera, musimy w jakiś sposób go podzielić, aby móc przypisać do niego wiele adresów IP. Takim rozwiązaniem są podinterfejsy. Kolejną czynnością do wykonania jest wskazanie jakie ramki ten podinterfejs będzie on otrzymywać.

Poniżej znajduje się konfiguracja routera, które skonfigurowałem, zgodnie z tą metodą:

Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int gig0/0.30
Router(config-subif)#encapsulation dot1Q 30
Router(config-subif)#ip add 192.168.30.1 255.255.255.0
Router(config-subif)#description VLAN30
Router(config-subif)#exit
Router(config)#int gig0/0.40
Router(config-subif)#encapsulation dot1Q 40
Router(config-subif)#ip add 192.168.40.1 255.255.255.0
Router(config-subif)#description VLAN40
Router(config-subif)#exit
Router(config)#int gig0/0.99
Router(config-subif)#encapsulation dot1Q 99
Router(config-subif)#ip add 192.168.99.1 255.255.255.0
Router(config-subif)#description VLAN99
Router(config-subif)#exit
Router(config)#int gig0/0
Router(config-if)#description Trunk-Switch0
Router(config-if)#no shut

Chcąc skonfigurować na interfejsie, podinterfejs należy dodac numer podinterfejsu po oznaczeniu interfejsu oddzielając go kropką (int gig0/0.30). Po wejsciu do konfiguracji podinterfejsu, ustawiamy format ramek dodając przy tym identyfikator VLAN-u, ktory ma trafić do tego interfejsu. (encapsulation dot1Q 30). Na podstawie tej informacji router, jeśli nadejdzie ramka z takim oznaczniem to obsłuży ją ten podinterfejs. Poźniej podajemy adres IP oraz maskę i możemy dodatkowo opisać te podinterfejsy. Dość istotna jest ostatnia czynność. Dla całego interfejsu (gig0/0) nie ustawiamy adresu ip tylko go podnosimy. Możemym dodać opis. Oczywiście należy pamiętać o skonfigurowaniu portu trunk podłączonego do routera na przełączniku.

Testy ping między ewentualnym komputerami podłaczonymi do portów należących do tych sieci VLAN, powinny zakończyć się powodzeniem. Natomiast w celach weryfikacyjnych możemy wydać takie polecenia jak:

Router#show ip route
...

Gateway of last resort is not set

     192.168.30.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.30.0/24 is directly connected, GigabitEthernet0/0.30
L       192.168.30.1/32 is directly connected, GigabitEthernet0/0.30
     192.168.40.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.40.0/24 is directly connected, GigabitEthernet0/0.40
L       192.168.40.1/32 is directly connected, GigabitEthernet0/0.40
     192.168.99.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.99.0/24 is directly connected, GigabitEthernet0/0.99
L       192.168.99.1/32 is directly connected, GigabitEthernet0/0.99

Router#show ip interface brief | include up
GigabitEthernet0/0     unassigned      YES unset  up                    up 
GigabitEthernet0/0.30  192.168.30.1    YES manual up                    up 
GigabitEthernet0/0.40  192.168.40.1    YES manual up                    up 
GigabitEthernet0/0.99  192.168.99.1    YES manual up                    up 

Router# show interfaces gig0/0.30 (dla pozostałych .40, .99)
GigabitEthernet0/0.30 is up, line protocol is up (connected)
  Hardware is PQUICC_FEC, address is 0009.7c9a.ce01 (bia 0009.7c9a.ce01)
  Internet address is 192.168.30.1/24
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation 802.1Q Virtual LAN, Vlan ID 30
  ARP type: ARPA, ARP Timeout 04:00:00, 
  Last clearing of "show interface" counters never

Switch0#show interface trunk
Port        Mode         Encapsulation  Status        Native vlan
Gig0/1      on           802.1q         trunking      1
Gig0/2      on           802.1q         trunking      1

Port        Vlans allowed on trunk
Gig0/1      30,40,99,150
Gig0/2      30,40,99,150

Port        Vlans allowed and active in management domain
Gig0/1      30,40,99,150
Gig0/2      30,40,99,150

Port        Vlans in spanning tree forwarding state and not pruned
Gig0/1      30,40,99,150
Gig0/2      30,40,99,150

Zadanie praktyczne - Packet Tracer

Router na patyku - scenariusz
Router na patyku - zadanie

Laboratorium

Router na patyku

2.4.3. Metoda z przełącznikiem 3 warstwy

Przełączniki L3 zapewniają znacznie szybszy i bardziej skalowalny routing dla sieci VLAN niż router na patyku. Przełaczniki te mogą routować z jednej sieci do drugiej za pomocą interfejsów SVI. Tego typu urządzania zapewniają mozliwość konwersji portu w routed port. Taki port zachowuje się tak jak port routera. Metoda uzycia przełącznika L3, polega skonfigurowaniu dla każdego z VLAN-ów osobnego SVI.

MLS0(config)#vlan 10
MLS0(config-vlan)#name Facility
MLS0(config-vlan)#vlan 20
MLS0(config-vlan)#name Student
MLS0(config-vlan)#exit
MLS0(config)#int fa0/1
MLS0(config-if)#switchport mode access
MLS0(config-if)#switchport access vlan 10
MLS0(config-if)#int fa0/2
MLS0(config-if)#switchport mode access
MLS0(config-if)#switchport access vlan 20
MLS0(config-if)#exit
MLS0(config)#int vlan 10
MLS0(config-if)#ip address 192.168.10.1 255.255.255.0
MLS0(config-if)#no shut
MLS0(config-if)#int vlan 20
MLS0(config-if)#ip address 192.168.20.1 255.255.255.0
MLS0(config-if)#no shut
MLS0(config-if)#exit
MLS0(config)#ip routing
MLS0(config)#end

Jeśli chodzi o omówienie konfiguracji, to dokonaliśmy tego za pomocą poleceń, które znamy z poprzedniego rozdziału oraz poprzedniego modułu. Ważne aby wydać polecenie ip routing, po całej konfiguracji, aby włączyc routing IP. Bez tego polecenia przełącznik L3, jest zwykłym przełącznikiem L2. Użycie tego polecenia lub konwersja portu na routed port powoduje właczenie dodatkowych funkcji, które wśród fizycnych urządzeń mogą być ograniczane licencyjnie. Mamy bowiem doczynienia z dwiema wersjami IOS dla switch-y L3: ipbase oraz ipservices.

Weryfikacji możemy dokonać ping-ując hosta z jednego VLAN-u do drugiego.

Zadanie praktyczne - Packet Tracer

Konfiguracja przełącznia w warstwie 3 i routingu między sieciami VLAN - scenariusz Konfiguracja przełącznia w warstwie 3 i routingu między sieciami VLAN - zadanie

2.4.4. Rozwiązywanie problemów z routingiem między sieciami VLAN

Istnieje kilka możliwych problemów związanych z routingiem między sieciami VLAN. Poniżej znajduje lista, w której możemym znaleźć kilka typowych błędów i sposobów na ich rozwiązania i sposoby na upewnienie się, że to naprawdę jest to.

Rodzaj problemu Jak naprawić Jak zweryfikować
Brakujące sieci VLAN
  • Utworzenie lub odtworzenie sieci VLAN jeśli nie istnieje
  • Sprawdzenie czy port jest przypisany do prawidłowego VLAN-u
show vlan [brief]
show interfaces switchport
ping
Problemy dotyczące portów trunk
  • Sprawdzenie czy połączenia trunk są poprawnie skonfigurowane.
  • Sprawdzenie czy port jest trybie trunk i czy jest włączony.
show interfaces trunk
show running-config
Problemy dotyczące portów dostępowych
  • Przypisanie portu do właściwej sieci VLAN
  • Sprawdzenie czy port pracuje trybie dostępowym i jest włączony
  • Host może być niepoprawnie skonfigurowany w niewłaściwej podsieci
show interface switchport
show running-config interface
ipconfig
Problemy związane z konfiguracją routera
  • Adres IPv4 podinterfejsu routeta jest niepoprawnie skonfigurowany
  • Podinterfejs routera jest przypisany do identyfikatora VLAN
show ip interface brief
show interfaces

Zadanie praktyczne - Packet Tracer

Rozwiązywanie problemów z routingiem między sieciami VLAN - scenariusz
Rozwiązywanie problemów z routingiem między sieciami VLAN - zadanie

Laboratorium

Rozwiązywanie problemów z routingiem między sieciami VLAN

Podsumowanie

W tym rozdziale poruszylismy kwestie związane z routingiem między sieciami VLAN. Poznaliśmy metody pozwalające na połącznie ze sobą sieci VLAN. Każdą z metod poznalismy od strony zarówno teoretycznej jak i praktycznej.

2.5. Koncepcje STP

Protokół STP, Spanning Tree Protocol jest nie tyle co protokołem sieciowym, co pewnego rodzaju standardem zapewniającym możliwość istnienia łączy nadmiarowych w sieciach przełączanych - opartych na przełącznikach, bez powstawania pętli.

2.5.1. Nadmiarowość w siech przełączanych

Weźmy pod uwagę taką topologię fizyczną, w której mamy trzy przełączniki i każdy przełącznik jest połączony z każdym, do przełączników podłączonych jest kilka komputerów. Cała topologia, znajduje się w jednej domenie rozgłoszeniowej. Jak będzie wyglądać transmisja danych w takiej sieci? Otóż załóżmy, że jeden komputer chce wysłać wiadomość do komputera podłączonego do innego przełącznika. Na początku musi poznać jego adres fizyczny, więc wysyła zapytanie ARP. Zapytania ARP są transmisją broadcast - adresowaną do każdego hosta w sieci. Takie zapytanie na początku osiągnie przełącznik brzegowy pytającego. Następnie ten przełącznika roześle pakiet na wszystkie swoje porty. Zapytanie trafia do pozostałych przełączników, a te nie wiele myśląc - ze względu, że to broadcast, przekażą je dalej na wszystkie swoje porty, poza tym, z którego dane zostały odebrane. Warto pamiętać, że te przełącznik są połączone każdy z każdym. Spowoduje to aktualizację tablicy MAC, tj. według tego przełącznika komputer wysłający pakiet ARP, jest teraz wpięty w porty, w który fizycznie jest wpięty jeden z przełączników. Ten stan utrzyma się do momentu, aż nie przyjdzie to samo zapytanie ARP z drugiego przełącznika, wówczas dojdzie do kolejnej aktualizacji tablicy CAM, no i oczywiście przełączniki dalej przesyłają ten sam pakiet powielając go przy tym. Tak skonfigurowana sieć będzie działać kilka, kilkadziesiąt sekund. Po tym czasie, prawidłowa komunikacja zaniknie. Pozostanie tylko w kółko przesyłanie i powielanie tej samej wiadomości oraz rosnące zużycie zasobów sprzętych przełączników - znaczne zużycie procesora - większy pobór prądu oraz więcej wydzielanego przez urządzenia ciepła.

W wyżej opisanym przypadku mieliśmy doczynienia ze zjawiskiem pętli oraz w jej następstwie z burzą broadcastową. Pętla jest zjawiskiem w którym dochodzi do nienadzrowanego połączenia nadmiarowego w sieciach przełączanych - najprościej rzecz ujmując jeśli z jednego przełącznika przeciągneliśmy dwa kable - jeden na zapas - i podłączymy oba naraz, a przełącznik jest prymitywną wersją przełącznika sieci Ethernet i nie potrafi takiego połączenia nadzorować.

Ramki Ethernetowe nie posiadają mechanizmów kontroli przepływu. Jak w przypadku pakietów IP są pola TTL lub Hop Limit - dzięki czemu mogą one krążyć w nieskończoność. Tego typu problem wykryto już prawie 40 lat temu, mimo że wówczas sieci przełączne kulały, nie było przełączników a raczej mosty. W 1985 powstała pierwsza implementacja algorytmu drzewa rozpiętego, dając tym samym możliwości dla protokołu STP

Zadaie praktyczne - Packet Tracer

Badanie zapobierania pętlom w STP - scenariusz
Badanie zapobiegania pętlom w STP - zadanie

2.5.2. Protokół STP

Protokół STP jest sposobem na zarządzanie łączami nadmiarowymi w taki sposób, aby były one fizycznie obecne i gotowe do pracy, ale nie powodowały przykrych skutków swojej obecności w sieciach przełączanych. Protokół ten oparty jest algorytm STA (Spanning Tree Algorithm), na którym oprzemy omawianie tego mechanizmu. Algorytm ten składa się tak naprawdę z czterech kroków:

  1. Wybór mostu głównego - ustalenie punktu odnieśnia, według którego będą prowadzone obliczenia określające główne oraz alternatywne kanały komunikacji.
  2. Określenie ścieżek alternatywnych - obliczenie (określenie) łączy głównych oraz alternatywnych. Łącza alternatywne są blokowane dla głównej komunikacji sieciowej, jednak są wstanie odbierać komunikaty protokołu STP, aby wiedzieć kiedy zarządzające nimi urządzenia mają je przygotować do pracy.
  3. Topologia wolna od pętli - normalny stan sieci, pozwalający na komunikowanie się hostów ze sobą. Mimo tego komunikaty protokołu STP są dalej transmitowane.
  4. Ponowne obliczenia ścieżek - ten krok wykonywany jest w przypadku awarii jedej z głównych ścieżek podczas 3-go kroku, wówczas wymagane jest ponowne przeliczenie kanałów komunikacji.

Na przełącznikach Cisco protokół STP jest domyślnie włączony.

2.5.3. Działanie STP

Wyjaśnienie działania STP, opiera się na omówieniu dwóch pierwszych kroków alogorytmu. Pierwszy jest czynnością, wprost wykonywaną przez algorytm, ale krok drugi można podzielić na trzy mniejsze czynności:

  1. Wybór portów głównych
  2. Wybór portów desygnowanych
  3. Wybór portów alternatywnych (zablokowanych)

Przełączniki podczas działania STP, przesłają informacje na temat protokołu w jednostkach BPDU - Bridge Protocol Data Units. Komunikaty te zawierają ważną informację jaką jest BID - Bridge IDentifier - identyfikator mostu. Algorytm STA jest dość starym mechnizmem, w czasach jego opracowywania nie było czegoś takiego jak przełącznik - wówczas używało się mostów. Na identyfikator mostu składa się:

Wartość BID, często pełni rolę decyzyjną w protokole STP. Na początku porównywana (między przełącznikami) jest suma priorytetu oraz rozszerzonego identyfikatora. Jeśli one są takie same - np. w przełącznikach Cisco pracujących w VLAN-ie 1 - to w takiej sytuacji porównywane są adresy MAC. Najniższa wartość szesnastkowa adresu MAC wygrywa.

Pierwsza czynność algorytmu czyli wybór mostu głównego opiera się właśnie na BID. Na początku pod uwagę brana jest wyżej opisana suma, którą potocznie nazywa się priorytetem. Jeśli wynik nie będzie roztrzygający, wówczas zostanie użyty adres MAC. Tak wybrany przełącznik staję się punktem odniesienia do dalszych czynności algorytmu.

Następną czynnością jest wybór portu głównego - port ten jest wybierany na podstawie najniższego kosztu ścieżki do mostu głównego.

Koszt ścieżki obliczany jest na podstawie wszystkich łączy prowadzących do mostu głównego. Determinującym czynnikiem jest przepustowość takiego łącza. Domyślnie przyjmuje się, że łącza:

Te wartości pochodzą ze specyfikacji protokołu STP z 1998 (802.1D-1998), są one domyślne, a pomimo tego jest możliwość ich zmiany, aby lepiej zarządzać możliwymi ścieżkami.

Jeden z przełączników ma dwie ścieżki, jedna wpięta jest bezpośrednio do mostu głównego natomiast druga, przechodzi przez jeszcze jeden przełącznik. Przełączniki mają przepustowość łączy 100Mb/s. Zatem ta pierwsza ścieżka będzie mieć koszt równy 19, a ta druga 38. Zatem, który port będzie portem głównym? W przypadku sieci o różnych przepustowościach określenie portów głównych wydaje się proste, ale co jeśli mamy wszędzie taki sam koszt? Tutaj sprawa się komplikuje i mamy do wyboru trzy różne metody, któraś z nich na pewno wyznaczy port główny.

Drugim krokiem określenia ścieżek alternatywnych protokołu jest STP, jest wybór portów desygnowanych. Jest określenie portu w segmencie (z dwóch przełączników), który ma wewnętrzną ścieżkę do mostu głównego. Innymi słowy ma najlepszą drogę do odbierania ruchu kierowanego do mostu głównego. Ja to wolę określać słowami, który ma najbliżej do mostu głównego. Port desygnowany to port do którego połączony jest port główny.

W przypadku mostu głównego, wszystkie jego podłączone porty są desygnowane. W końcu on ma najlepszą drogę do odbieranie ruchu do samego siebie. Podobnie jest z przełącznikami, do których podłączone są hosty porty brzegowe (port, do którego podłączono inne urządzenie niż przełącznik) są portami desygnowanymi.

Do roztrzygnięcia pozostaje segment, który nie ma portu głównego, co wtedy? W tym przypadku pojawia się czynnik, który nie raz rozstrzygał remisy w protokole STP, czyli BID. Przełącznik o najniższym BID ustawi swój port w tym segmencie jako port desygnowany.

Ostatnią czynnością wykonywaną na ostatnim porcie jest ustawienie go jako portu alternatywnego. Port ten jest blokowany dla normalnego ruchu sieciowego. Jest on w tym stanie odbierać jedynie ramki BPDU.

Zestawienie w pełni działającej topologii wolnej od pętli, a jednocześnie zapewniającej nadmiarowość nazywane jest konwergencją. Konwergencja STP jest dość ściśle określona w czasie. Oczywście, aby zapewnić jak najlepszą elastyczność możemy manipulować tymi wartościami czasowymi. Nie mniej jednak przyjmują one następujące wartości.

Działanie protokołu STP opiera się na wymianie między przełącznikami ramek BPDU. Jeśli port przechodził by odrazu ze stanu blokowania do stanu przekazywania, mogłoby brakować pewnych informacji a to może doprowadzić do pętli. Dlatego też STP wyróżnia pieć stanów, w których znajdują się porty.

Istnieje odmiana protokołu STP, dedykowana dla VLAN-ów. Pozwala na ona na obliczenie topologii STP, dla każdej z wirtualnych sieci. Co daje nam wiele różnych mostów głównych i wiele różnych oznaczeń portów. Tego rodzaju algorytm nosi nazwę PVST - Per-Vlan Spanning Tree. O innych odmianach protokołu STP, będzie cały następny podrozdział.

2.5.3. Ewolucja STP

Algorytm STA, na którym oparty jest protokół STP, będzie mieć w przyszłym roku 40 lat. Omawiany przez nas, w tym rozdziale protokół został ratyfikowany 1998 roku, sądząc po jego oznaczeniu 802.1D-1998. Przez ten czas całe 26 lat, wiele rzeczy uległo zmienianie. Z pewnością wzrosły prędkości używane przez dzisiejsze sieci, ale również i wymagania co do ich konfiguracji. Rzadko kiedy można spotkać sieć bez segmentacji czy bez sieci VLAN, a w takich środowiskach raczej odnalazłby się oryginalny bohater tego tematu. Obecnie przełączniki Cisco z serii Catalyst wykorzystują jako protokoł STP, w wersji PVST+ - to czym ona jest dowiemy się tym pod rozdziale.

Z teoretycznego punktu widzenia odmiany protokoły STP, operają się na mieszaniu funkcji RSTP - Rapid STP lub PVST. O PVST wspominałem pod koniec poprzedniego podrozdziału. Natomiast RSTP jest klasyczną wersją STP z przyspieszoną konwergencją.

W przypadku RSTP stany portów zostały uproszczone. Stany STP takie jak: wyłączony, zablokowany, nasłuchiwanie, w przypadku RSTP mają jedno określenie stanu odrzucania. Podobnie jest w przypadku ról portów - port (w nomenklaturze STP) zablokowany/niedesygnowany, jest dla RSTP portem alternatywnym. RSTP również z pojęcia portu alternatywnego, wyciąga pojęcie portu zapasowego jest port, do którego podłączono nadmiarowo koncentrator. Port zapasowy występuje wyjątkowo rzadko.

Ewolucja protokół STP wyklarowała również kilka technologii takich PortFast, czy BPDU Guard. Funkcja PortFast stosowana jest wyłącznie na portach brzegowych, do których podłączane są hosty sieci, służy ona szybkiemu przełączeniu roli portu z zablokowanej na przekazywanie. Jest to podyktowane potrzebą przyspieszenia podniesienia portu do stanu użyteczności, tak aby hosty miały szanse skomunikować się z mechanizmami automatycznej konfiguracji hosta (DHCP).

Mechanizm BPDU Guard jest mechanizmem chroniącym porty brzegowe przed komunikatami protokołu STP - ramkami BPDU. Jeśli taka ramka pojawi się na porcie z włączoną funkcją PortFast, to wówczas port zostaje przełączony w stan errdisabled (wyłączony przez błąd) i administrator musi go podnieść ręcznie. Jest to jeden z mechnizmów ochronnych przed potencjalną pętlą. Działanie tego mechanizmu najczęsciej wywołuje podłączenie do portu brzegowego kolejnego przełącznika.

Pomimo, że STP jest powszechnie stosowane to w najbliższym czasie lub już zostało zastąpione przez protokołu routingu warstwy 3 - stosowanie przełączników warstwy 3. Oferują one lepszą wydajność i przewidywalność niż protokół STP.

Natomiast z samych odmian protokołu STP możemy wymieć:

Podsumowanie

W tym rozdziale dowiedziliśmy się w jaki sposób zapewnić nadmiarowe łącza w sieci przełączanej bez ryzyka pętli a w konsekwencji burzy broadcastowej. Możemy tego dokonać za pomocą protokołu STP. Poznaliśmy sposób działania protokołu STP - jak wybiera on odpowiednie ścieżki i porty. Na koniec omówiliśmy odmiany protokołu, które są jego odpowiedzią na dynamicznie zmieniające się warunki sieciowe w obecnych czasach.

2.6. Technologia EtherChannel

Wróćmy na chwilę do topologii, znanej z rozdziału o STP. Mamy trzy przełączniki i łączym je każdy z każdym. Wprowadźmy zmiany do topologii dodając do każdego łącza, po jednym dodatkowym łączu zapasowym. Z uwagi na to, że STP jest domyślnie włączone, to z dostępnych 6 fizycznych łączy tylko 2 będą używane. Więc trochę szkoda naszych pieniędzy, które wydaliśmy na te dodatkowe łącza. Nie mniej jednak istnieje technologia, która pozwoli nam wykorzystać większość łączy, a po mimo tego, protokół STP dalej będzie działać przez co wykorzystanę będą dodatkowe 2 łącza, co daje już 66% wykorzystanej infrastruktury, a nie 33%. Technologią tego typu jest agregacja łączy, w przypadku firmy Cisco mówimy o technologii EtherChannel. Ta technologia to nie tylko lepsze wykorzystanie łączy nadmiarowych, ale także zwiększe ich przepustowości, przy czym tutaj należy pamiętać o tym, że ta wspólna przepustowość nigdy nie będzie równa sumie natywnych przepustowości łączy, wykorzystanych do agregacji. Ale będzie znajdować się gdzieś bliżej tej liczy niż w przypadku pojedynczego łącza.

2.6.1. Działanie EtherChannel

Technologia EtherChannel posiada wiele zalet, między innymi takie jak:

Po za zaletami ta technologia ma też kilka ograniczeń:

EtherChannele mogą być tworzone na zasadzie auto-negocjacji - przy użyciu protokołów PAgP lub LACP. Jednak jest również możliwość skonfigurowania statycznego lub bezwarunkowego EtherChannel bez udziału wyżej wymienionych protokołów, nie mniej jednak omówimy je sobie.

Protokół PAgP jest zastrzeżonym protokołem firmy Cisco, pomaga w automatycznym tworzeniu połączeń EtherChannel. PAgP umożliwia tworzenie łącza EtherChannel poprzez wykrycie konfiguracji każdej ze stron i zapewnienie, że linki są kompatybilne w taki sposób, że EtherChannel może być włączony w razie potrzeby. Tryby dla PAgP są następujące:

Ustawienie tych stanów na poszczególnych portach decydują o tym czy EtherChannel zostanie w ogóle zestawione. Domyślnie EtherChannel nie jest zestawiane. Polecenia konfiguracji mogą też zostać poprzedzone słowem no to wówczas spowoduje wyłączenie EtherChannel.

Tryb on powoduje, że manualne umieszczenie interfejsu w kanale EtherChannel. Działa to tylko w tedy gdy druga strona jest również w trybie on. Tryb on w ogóle nie negocjuje więc jeśli druga strona jest w jednym z trybów protokołu PAgP, to kanał się nie utworzy.

Poniżej znajduje się tabela przedstawiająca tryby protokołu PAgP ustawione na portach dwóch przełączników oraz ich skuteczność w zestawianiu kanału EtherChannel.

S1S2Ustanowienie kanału
OnOnTak
OnDesirable/AutoNie
DesirableDesirableTak
DesirableAutoTak
AutoDesirableTak
AutoAutoNie

Drugim protokołem w tym przypadku wolnym - opracowywanym przez IEEE (802.3ad) jest LACP. Jest on łudząco podobny do protokołu PAgP Różnice polegają na zestawianiu kanału (jednak, nie będziemy się tym tutaj zajmować), możliwość wykorzystania środowisk wielu producentów w tym i Cisco oraz w nazewnictwie trybu protokołu.

S1S2Ustanowienie kanału
OnOnTak
OnActive/PassiveNie
ActiveActiveTak
ActivePassiveTak
PassiveActiveTak
PassivePassiveNie

2.6.2. Konfiguracja EtherChannel

W poprzednim podrozdziale poznaliśmy teorie dotyczącą EtherChannel. Teraz czas nieco pobrudzić sobie łapki i spróbować skonfigrować kilka kanałów, a przy najmniej nauczyć się w jaki sposób można to zrobić.

Na początku musimy upewnić się, że nasze środowisko (przełączniki, porty przełącznika) spełniają odpowiednie wymagania.

Metody konfiguracji EtherChannel wyglądają podobnie do siebie w zależności od protokołu jaki użyjemy. Różnice będą polegać na na określeniu trybu protokołu. Poniżej przykładowa konfiguracja kanału EtherChannel na jednej ze stron, dla protokołu LACP.

S3(config)#int range fa0/23-24
S3(config-if-range)#shutdown
...
S3(config-if-range)#channel-group 1 mode active
S3(config-if-range)#
Creating a port-channel interface Port-channel 1
S3(config-if-range)#no shutdown

Ta konfiguracja jest bardzo podstawowa. Możemy ją rozszerzyć o np. nośność sieci VLAN, oczywiście pamiętając o wymaganiach.

Zadanie praktyczne - Packet Tracer

Konfiguracja EtherChannel - scenariusz
Konfiguracja EtherChannel - zadanie

Laboratorium

Implementacja EtherChannel

2.6.3. Rozwiązywanie problemów z EtherChannel

Wcześniej konfigurowaliśmy kanał EtherChannel i chcielibyśmy się dowiedzieć czy on w ogóle działa. Aby wyświetlić informacje w IOS na temat EtherChannel możemy posłóżyć się kilkoma poleceniami, ale najbardziej przydatym z nich będzie show etherchannel summary. Tak się prezentuje wyjście tego polecenia.

S3>show etherchannel sum
Flags:  D - down        P - in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 2
Number of aggregators:           2

Group  Port-channel  Protocol    Ports
------+-------------+-----------+----------------------------------------------

1      Po1(SU)           LACP   Fa0/23(P) Fa0/24(P) 
2      Po2(SU)           LACP   Fa0/21(P) Fa0/22(P) 

Jak możemy zauważyć większość wyjścia tego polecenia to legenda, która jest potrzebna do objaśnienia zwięzłej tabeli na dole. Mamy dwie grupy, które są własnie tymi EtherChannel-ami. W drugiej kolumnie pokazano Port-channel-e, które są wirtualnymi interfejsami reprezentującymi kanał. Na ich podstawie możemy skonfigurować nasze kanały jako trunki. W nawiasach obok nazw tych interfejsów (Po1), znajduje się stan kanału. W przypadku stanu SU to jest to EtherChannel warstwy drugiej w użyciu (jest operacyjny) - zgodnie z legendą. W kolejnej kolumnie znajduje się protokół użyty do agregacji oraz porty, które wchodzą w skład kanału ich rola w nim w tym przypadku, pokazane na przykładnie porty, biorą aktywny udział w kanale.

Innymi poleceniami wartymi uwagi podczas pracy z EtherChannel są:

Oczywiście podczas konfiguracji czegokolwiek, mogą wystąpić różne problemy. Tak samo jest w przypadku EtherChannel. Poniżej znajduje się kilka powodów, które sprawiają że nasze kanały nie chcą za bardzo działać.

Istnieje kilka taki stałych kroków, które mogą pomóc nam rozwiązać problemy związane z działaniem EtherChannel.

  1. Wyświetl informacje na temat EtherChannel (show etherchannel summary)
  2. Zobacz konfigurację kanału portów (show run | begin interface port-channel)
  3. Popraw błedy w konfiguracji. Tutaj się warto chwilę zatrzymać, ponieważ EtherChannel - jej konfiguracja strasnie nie lubi nadpisywania. Jeśli już musimy poprawić grupę (kanał) to należy na początku usunąć go za pomocą polecenia: no interface port-channel X, gdzie X jest numerem grupy. Człon port-chanel X można skrócić do poX. Po usunięciu grupy można przystąpić do jej ponownej konfiguracji.
  4. Zweryfikuj czy EtherChannel działa.

Zadanie praktyczne - Packet Tracer

Rozwiązywanie problemów z EtherChannel - scenariusz
Rozwiązywanie problemów z EtherChannel - zadanie

Podsumowanie

W tym rozdziale dowiedzieliśmy, jak w efektywny sposób wykorzystać dodatkowe łącza nadmiarowe stosując technologię agregacji - EtherChannel. Poznaliśmy sposób działania tej technlogii, metody konfiguracji w systemie IOS oraz rozwiązywanie związanych z nią problemów.

Zadanie praktyczne - Packet Tracer

Implementacja EtherChannel
Implementacja EtherChannel

2.7. DHCPv4

Komputery w sieci, tak jak my ludzie potrzebujemy adresów, żeby otrzymywać móc wysyłać i odbierać komunikaty. Komputerom w sieci możemy przypisać adresy ręcznie - co nazwane jest statyczną konfiguracją hosta, bądź też wykorzystać do tego odpowiednie oprogramowanie, które pozwoli na zautomatyzowanie procesu oraz na bezobsługowe zarządzanie nim. Jedyną czynnością będzie konfiguracja protokołu Dynamic Host Configuration Protocol. Za konfigurację hostów sieci odpowiada konkretny protokół, który dynamicznie przydziela (dzierżawi) adres IPv4 z puli dostępnych adresów, na określony czas lub do momentu kiedy host już go nie potrzebuje. Czas dzierżawy może być zdefiniowany przez administratora, najczęściej są to 24 godziny.

Serwer DHCP działa na zasadzie architektury klient-serwer. Serwerami DHCP, może być dedykowane oprogramowanie instalowane na dystrybucjach Linuksa oraz na systemach MS Windows. Urządzenia z systemem IOS takie jak routery, czy przełączniki warstwy 3 mogą również pełnić rolę serwera DHCP o czym się przekonamy w dalszej części tego materiału.

Komputer będąc skonfigurownym w ten sposób, aby otrzymywał adres autotomatycznie, komunikuje się z serwerem DHCP. Między hostami wymieniane są komunikaty protokóło, rezultatem czego jest wydzierżawienie adresu IP dla tego hosta. Jeśli czas dzierżawy dobiega końca, host komunikuje się z serwerem w celu odnowienia dzierżawy, jeśli klient nie skontaktuje się z serwerem w odpowiednim czas, dzieżawa wygasa, a adres trafia z powrotem do puli - zakresu adresów, przeznaczonych dla tej sieci - i może zostać wydzierżawiony innym hostom. Ten mechanizm pozwala na zwolnienie adresów, które hosty już nie potrzebują, bo są np. wyłączone.

Wymiana komunikatów protokołu DHCP w celu uzyskania dzierżawy wygląda w następujący sposób:

  1. Klient wysyła ramkę broadcast, zawierającą komunikat DHCPDISCOVER. Klient nie ma adresu IP stąd ten broadcast. Ten komunikat mówi, że dany host szuka serwera DHCP.
  2. Serwer odpowiada klientowi, za pomocą komunikatu DHCPOFFER, przedstawiając mu już konkretną ofertę adresu jaki dostanie.
  3. Klient potwierdza dzierżawę adresu za pomocą komunikatu DHCPREQUEST wysyłanego w ramce broadcast. Mimo, że host mógłby wysłać ten komunikat prosto do serwera, z którego otrzymał ofertę, to nie robi tego. Ponieważ w sieciach może istnieć więcej niż jeden serwer DHCP. Wysłanie DHCPREQUEST na broadcast, przekaże informacje innym serwerom DHCP, że host przyją ofertę innego serwera, więc tamte serwery mogą przywrócić proponowany adres z powrotem do puli.
  4. Serwer na koniec wysła potwierdzenie akceptacji w postaci komunikatu DHCPACK. Teoretycznie komunikacja z serwerem DHCP tutaj się kończy, ale klient wykonuje jescze jedną czynność.

Mianowicie wysyła pakiet ARP z zapytaniem o przydzielony mu właśnie adres. Może zdażyć się taka sytuacja, że mamy część komputerów skonfigurowanych ze statycznymi adresami, a część z dynamicznymi. A na serwerze DHCP nie dokonano odpowiednich wykluczeń z puli. Wówczas serwer DHCP, będzie przydzielać adresy, które już funkcjonują w sieci. Wtedy dochodzi do konfilktu adresów IP.

Odnowienie adresu IP, skraca powyższą procedurę do dwóch ostatnich komunikatów. Klient prosi o odnowienie adresu za pomocą komunikatu DHCPREQUEST, a natomiast serwer odpowiada za pomocą DHCPACK.

2.7.1. Konfiguracja serwera DHCPv4 na Cisco IOS

Poznaliśmy niezbędną teorie, to teraz możemy zmusić IOS, nie tylko na routerze, ale i na przełącznikach też - do pełnienia funkcji serwera DHCPv4.

Możemy tego dokonać za pomocą kilku kroków. Pierwszą czynnością będzie uwzględnienie ewentualnych urządzeń z ustawionymi statycznym adresami IP. Należy dokonać konkretnych wykluczeń, podając zakres adresów, które nie będą przydzielane. Mimo, że nie mamy jeszcze zdefiniowanej puli adresowej to już na samym początku konfiguracji możemy podać tego typu informacje.

Router(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.10

Zakres adresów do wyłączenia przekazujemy podając pierwszy i ostatni adres. Chcąc wyłączyć jeden pojedynczy adres, podajemy go zaraz po słowie excluded-address. Następnym krokiem jest zdefiniowanie puli. W definicji puli podajemy dodatkowe adresy IP jakie host powinien mieć w swojej konfiguracji, takie jak adres bramy czy adresy serwerów DNS. Tworzenie puli rozpoczyna się od wydania poniższego polecenia.

Router(config)#ip dhcp pool LAN10

Po wydaniu tego polecenia zostaniemy przeniesieni do trybu konfiguracji puli. W tym trybie podajemy sieć na podstawie, której zostanie utworzona pula adresów.

Router(dhcp-config)#network 192.168.10.0 255.255.255.0

Następnie dodajemy adres bramy domyślnej oraz serwera DNS:

Router(dhcp-config)#default-router 192.168.10.1
Router(dhcp-config)#dns-servers 8.8.8.8

Po wykonaniu tych czynności, możemy opuścić konfigurację. Serwer DHCP został skonfigurowany i jest on operacyjny. Możemy to sprawdzić ustawiając jeden z interfejsów routera i podłączając do niego komputer.

C:\>ipconfig /all

FastEthernet0 Connection:(default port)

   Connection-specific DNS Suffix..: 
   Physical Address................: 0002.1661.4A3D
   Link-local IPv6 Address.........: FE80::202:16FF:FE61:4A3D
   IPv6 Address....................: ::
   IPv4 Address....................: 192.168.10.11
   Subnet Mask.....................: 255.255.255.0
   Default Gateway.................: ::
                                     192.168.10.1
   DHCP Servers....................: 192.168.10.1
   DHCPv6 IAID.....................: 
   DHCPv6 Client DUID..............: 00-01-00-01-64-36-79-72-00-02-16-61-4A-3D
   DNS Servers.....................: ::
                                     8.8.8.8

Teraz kiedy nasz serwer DHCP został skonfigurowany i działa, to możemy poznać polecenia, które pozwalą nam sprawdzić informacje odnośnie działania DHCP w IOS.

Konfiguracja serwera DHCP wydaje się prosta, w momecie gdy znajduje sie on w tej samej sieci lokalnej. A co jeśli będzie znajdować się w innej sieci? Broadcast ramek Ethernet nie może przecież być routowany. Tutaj wymyślono coś takiego jak adres pomocnika. Na interfejsie, który normalnie by oczekiwał na komunikaty DHCPDISCOVER, konfigurujemy adres serwera DHCP w innej sieci. Tworząc z tego interfejsu coś w rodzaju przekaźnika.

Router(config-if)#int gig0/0
Router(config-if)#ip helper-address 192.168.11.2
Router(config-if)#end

W tym przypadku serwer DHCP ma adres 192.168.11.2. Poza komunikatami DHCP za pomocą tego mechanizmu mogą być przekazywane komunikaty usługi DNS czy NTP, generalnie te usługi sieciowe, które wykorzystują UDP.

Zadanie praktyczne - Packet Tracer

Konfiguracja DHCPv4 - scenariusz
Konfiguracja DHCPv4 - zadanie

2.7.2. Konfiguracja klient DHCP w systemie Cisco IOS

Konfiguracja interfejsu urządzenia z systemem Cisco IOS jako klienta DHCP, jest banalnie prosta. Sprowadzania się ona do wydania dwóch/trzech poleceń. Już wcześniej konfigurowaliśmy statyczne adresy IP, np. na interfejsach VLAN 1 przełączników. To w tym przypadku sprawa ma się podobnie. Wystarczy, że zamiast wpisywania adresu IP oraz maski podamy jedno słowo - dhcp.

Switch(config)#int vlan 1
Switch(config-if)#ip address
Switch(config-if)#ip address dhcp
Switch(config-if)#no shutdown
Switch#sh ip int br | section Vlan1
Vlan1                  192.168.10.4    YES DHCP   up                    up

Podsumowanie

W tym rozdziale zapoznaliśmy z działaniem protokołu automatycznej konfiguracji hosta w wersji 4 - DHCPv4. Dowiedzieliśmy się jak możemy wykorzystać system Cisco IOS w roli serwera DHCP, przekaźnika oraz na koniec klienta.

Zadanie praktyczne - Packet Tracer

Konfiguracja DHCPv4 - scenariusz
Konfiguracja DHCPv4 - zadanie

Laboratorium

Wdrożenie DHCPv4

2.8. SLAAC i DHCPv6

Podobnie do IPv4, mamy możliwość zarówno statycznej jak i dynamicznej konfiguracji interfejsów sieciowych dla IPv6. Przy czym, znając budowę adresów IPv6, nie wiadomo czy ktoś będzie chciał to robić ręcznie. A w przypadku konfiguracji dynamicznej mamy do wykorzystania trzy metody.

Omówimy sobie pokolei te metody, a następnie zabierzemy się do konfigurowania każdej z nich w systemie Cisco IOS.

Za nim jednak do tego przjedziemy, krótkie przypomnienie o IPv6. Adres IPv6 ma długość 128 bitów, składa się z 8 hekstetów po 4 cyfyry heksadecymalne. Adresy IPv6 dzielą się na dwie grupy GUA (Global Unicast Address), rozpoczynające się od prefiksu: 2000::/3 oraz LLA (Local Link Address), rozpoczynające się od prefiksu fe80::/10. W przypadku IPv6 do określenia części sieciowej adresu IP wykorzystuje tzw. prefiks - zarezerwowana liczba bitów. W przypadku adresów unicast przeważnie adres dzieli się na pół - prefiks ma długość 64 bitów. Drugie pół adresu IPv6 określa już sam host generując wartości pseudolosowe (w przypadku systemów MS Windows) lub korzystając z algorytmu EUI-64. Ta część adresu nazwana jest identyfikatorem hosta Adresy GUA służą do komunikacji w Internecie, natomiast adresy LLA, ograniczają się do jednej domeny rozgłoszeniowej. Każdy komputer posiada dwa adresy przypisane do swojego interfejsu. Przez co każdy komputer może być w prosty sposób osiągalny z poziomu Internetu. Urządzenia mają również zapisane adresy typu multicast - ff02::1 - adres wszystkich hostów obsługujących IPv6 oraz ff02::2 - adres wszystkich routerów z routingiem IPv6. Te adresy bedą mieć znaczenie przy dynamicznej adresacji hostów. Dynamiczna adresacja hostów, będzie dotyczyć wyłącznie adresów GUA. Adresy LLA, są konfigurowane automatycznie na hostach.

2.8.1. SLAAC

Protokół IPv6, znacznie bardziej angażuje protokół ICMP w wersji 6 do pracy niż miało to miejsce w przypadku IPv4 i ICMPv4. Założenie IPv6 jak i metody konfiguracji SLAAC było takie, że gdzie w sieci musi być jakiś router, i jednym z jego zadań jest wysłanie co 200 sek komunikatu protokołu ICMPv6 zawierającego takie informacje jak:

Komunikat ten nosi nazwę Router Advertisement, w skrócie RA. Host po podłączeniu do sieci może wysłać inny komunikat ICMPv6 - Router Solicitation - RS, który jest prośbą o wysłanie przez router komunikatu RA. Komunikaty RS jako adres docelowy wykorzystują adres multicast grupy routerów.

Flagi przekazywane w komunikacie RA, wskazują hostowi w jaki sposób będzie odbywać się konfiguracji interfejsu IPv6 w tej sieci. Możemy wyróżnić takie flagi jak:

Zatem jeśli host otrzyma komunikat RA z ustawiowymi flagami M=0, O=0 oraz z flagą A=1, w prefix information - oznacza to, że adres musi on sobie ustawić sam. Dokonuje tego przy użyciu prefiksu i jego długości z komunikatu RA oraz przy użyciu samodzielnie wygenerowanego identyfikatora hosta. Czy użyje metod pseudolosowych czy algorytmu EUI-64, to już zależy od systemu operacyjnego. Przy czym tak wygenerowany należy adres, należy sprawdzić. Szanse są nikłe, ale ta czynność jest wykonywana, rozsyłane są między hostami komunikaty ICMPv6 NA (Neighbor Advertisement) oraz NS (Neighbor Solicitation) - co ma być odpowiednikiem protokołu ARP. Host wysła komunikat NS na swój wygenerowany adres i jeśli odpowiedź nie nadejdziej oznacza to, że adres jest operacyjny i może go użyć. W ten sposób działa mechanizm DAD (Duplicate Address Detection).

Ta metoda zapewnia podstawową konfigurację sieciową, pozwalająca na komunikację z hostem. Jednak jeśli był by to zwykły komputer klasy PC, z którego ma korzystać człowiek, to brakuje informacji takich jak adresy serwerów DNS, aby móc korzystać zasobów sieci firmy czy Internetu.

2.8.2. Metoda bezstanowego serwera DHCPv6

Metoda ta działa na zasadzie uzupełnienia konfiguracji interfesów sieciowych IPv6, wstępnie skonfigurowanych przez metodę SLAAC. Dlatego też możemy spotkać się określeniem SLAAC+DHCPv6. Działanie tej metody zakłada, że w sieci znajduje się serwer DHCPv6, mimo to host dalej będą korzystać informacji zawartych w RA, następnie po proszą serwer DHCPv6 o uzupełnienie informacji dodatkowych.

W przypadku metody bezstanowego serwera DHCPv6, host odbiera RA z ustawioną flagą M=0, O=1 i A=1. Ustawia on swoje podstawowe parametry sieciowe, na podstawie informacji zawartych komunikacie (poprzez użycie SLAAC) następnie host wysła DHCPv6 SOLICIT w celu odnalezienia serwera DHCP (coś w rodzaju, DHCPDISCOVER) w odpowiedzi otrzymuje DHCPv6 ADVERTISE, z informacją że jest serwer taki, a taki i obsługuje on protokoł DHCPv6. To wówczas host wysła komunikat DHCPv6 INFORMATION-REQUEST już na adres serwera uzyskany z poprzeniego pakietu. W odpowiedzi uzyska komunikat DHCPv6 REPLY o treści odpowiedniej dla DHCPv6 INFORMATION-REQUEST.

2.8.3. Metoda stanowego serwera DHCPv6

Mimo, że SLAAC+DHCPv6, rozwiązuje problemy z niepełną konfiguracją z komunikatów RA, wykorzystywanych przez SLAAC, to w sieciach firmowych chcielibyśmy mieć kontrolę, chociażby nad tym, kto się podłacza do naszej sieci. Dlatego też wprowadzono metodę: stanowego serwera DHCPv6, którego działanie jest podobne do serwera DHCPv4.

Host wysła komunikat RS, lub udaje mu się odebrać komunikat RA. W nim flagi są ustawione: M=1, O=0, A=0. Możemy się czasami spotkać z twierdzeniem, że flagi O, nie ma w ogóle, ale jest to raczej błąd. Tak ustawione flagi mówią hostowi, że ma korzystać z serwera DHCPv6. To host rozpoczyna wymianę pakietów, podobną do metody bezstanowowej, a różniącej się tym, że nie korzysta on z informacji zawartych w RA (wszystkich), tylko rozpoczyna poszukiwanie serwera DHCPv6. Główną różnicą między tymi metodami jest użycie komunikatu DHCPv6 REQUEST, zamiast INFORMATION-REQUEST. Inna również będzie treść wiadomości DHCPv6 REPLY.

Ważną informacją obejmującą wszystkie metody dynamicznej konfiguracji IPv6 jest to, że hosty będą korzystać z adresu link-local routera (adresu źródłowego komunikatu RA) jako bramy domyślnej. Nie będą korzystać z informacji przekazywanych nawet przez serwer DHCPv6.

2.8.4. Konfiguracja DHCPv6 na Cisco IOS

System operacyjny Cisco IOS, jest wstanie świadczyć usługę DHCP również dla IPv6. Przeprowadzimy następujące konfigurację:

W przypadku bezstanowego serwera DHCP, na routerze w pierwszej kolejności włączamy routing IPv6. Zawsze jest on domyślnie wyłączony.

Srv-DHCPv6(config)#ipv6 unicast-routing 

Następnie definiujemy nowa pulę adresów.

Srv-DHCPv6(config)#ipv6 dhcp pool IPV6-STATELESS

Konfigurujemy pule, dodając te opcje, które chcemy aby klienci naszej sieci otrzymywali z serwera DHCPv6.

Srv-DHCPv6(config-dhcpv6)#dns-server 2001:db8:acad:1::254
Srv-DHCPv6(config-dhcpv6)#domain-name example.com

Teraz musimy przypisać pulę do interfejsu, ale także zmodyfikować flagę w komunikatach RA. Dokonujemy tego za pomocą poniższych poleceń.

Srv-DHCPv6(config-if)#ipv6 nd other-config-flag
Srv-DHCPv6(config-if)#ipv6 dhcp server IPV6-STATELESS

Pierwsze polecenie: ipv6 nd other-config-flag ustawia flagę O w komunikatach RA. Natomiast drugie polecenie: ipv6 dhcp server IPV6-STATELESS przypisuje pulę interfejsu. Teraz możemy skonfigurować klienckiego PC-ta, aby pobrał konfigurację IPv6 z naszej infrastruktury.

Cisco Packet Tracer PC Command Line 1.0
C:\>ipconfig /all

FastEthernet0 Connection:(default port)

   Connection-specific DNS Suffix..: example.com 
   Physical Address................: 0060.4784.E138
   Link-local IPv6 Address.........: FE80::260:47FF:FE84:E138
   IPv6 Address....................: 2001:DB8:ACAD:1:260:47FF:FE84:E138
   IPv4 Address....................: 0.0.0.0
   Subnet Mask.....................: 0.0.0.0
   Default Gateway.................: FE80::1
                                     0.0.0.0
   DHCP Servers....................: 0.0.0.0
   DHCPv6 IAID.....................: 1699464132
   DHCPv6 Client DUID..............: 00-01-00-01-61-90-B4-E8-00-60-47-84-E1-38
   DNS Servers.....................: 2001:DB8:ACAD:1::254
                                     0.0.0.0

Konfiguracja PC-ta, jest banalna wystarczy kliknąć jedną opcje. A co w przypadku systemu Cisco IOS? Spróbujmy to zrobić, wykorzystując do tego drugi router. Po przejściu do konfiguracji globalnej, włączamy routing IPv6.

Cli-DHCPv6(config)#ipv6 unicast-routing

Następnie włączamy IPv6 na interfejsie sieciowym i ustawiamy aby pobrał on konfigurację z DHCP. Na koniec podnosimy interfejs.

Cli-DHCPv6(config)#ipv6 unicast-routing
Cli-DHCPv6(config)#int gig0/0/1
Cli-DHCPv6(config-if)#ipv6 enable
Cli-DHCPv6(config-if)#ipv6 address autoconfig
Cli-DHCPv6(config-if)#no shut
Cli-DHCPv6(config-if)#end
Cli-DHCPv6#sh ipv6 int br
GigabitEthernet0/0/0       [administratively down/down]
    unassigned
GigabitEthernet0/0/1       [up/up]
    FE80::201:64FF:FE98:9802
    2001:DB8:ACAD:1:201:64FF:FE98:9802
GigabitEthernet0/0/2       [administratively down/down]
    unassigned
Vlan1                      [administratively down/down]
    unassigned
Cli-DHCPv6#sh ipv6 dhcp interface
GigabitEthernet0/0/1 is in client mode
  State is INFORMATION-REQUEST(0)
  Rapid-Commit: disabled

Ostatnie dwa polecenia: sh ipv6 int br (show ipv6 interface brief) oraz sh ipv6 dhcp interface mogą nam posłużyć do sprawdzenia konfiguracji IPv6 interfejsów oraz konfiguracji DHCPv6 interfejsu. W tym przypadku na podstawie wyjścia drugiego polecenia, może stwiedzić, że działa on w trybie bezstanowego serwera DHCPv6.

Kolejny rodzajem konfiguracji jaki możemym przeprowadzić jest stanowy serwer DHCPv6 oraz stanowy klient. Konfiguracja dla serwera wygląda w następujący sposób:

Srv2-DHCPv6(config)#ipv6 unicast-routing
Srv2-DHCPv6(config)#ipv6 dhcp pool IPV6-STATEFUL
Srv2-DHCPv6(config-dhcpv6)#address prefix 2001:db8:acad:1::/64
Srv2-DHCPv6(config-dhcpv6)#dns-server 2001:4860:4860::8888
Srv2-DHCPv6(config-dhcpv6)#domain-name example.com
Srv2-DHCPv6(config-dhcpv6)#exit
Srv2-DHCPv6(config)#int gig0/0/1
Srv2-DHCPv6(config-if)#ipv6 addr 2001:db8:acad:1::1/64
Srv2-DHCPv6(config-if)#ipv6 addr fe80::1 link-local
Srv2-DHCPv6(config-if)#ipv6 nd managed-config-flag
Srv2-DHCPv6(config-if)#ipv6 dhcp server IPV6-STATEFUL
Srv2-DHCPv6(config-if)#no shutdown

Konfigurując IOS jako serwer stanowy DHCPv6, musimy w definicji puli wpisać prefiks naszej sieci. Następnie w konfiguracji interfejsu ustawiamy flagę M i przypisujemy odpowiednią do interfejsu pulę DHCPv6. Reszta konfiguracji pozostaje bez zmian.

W materiałach występuje jeszcze jedno polecenie: ipv6 nd prefix default no-autoconfig jednak może być ono niedostępne w wersjach oprogramowania IOS dostarczanych wraz z Packet Tracer-em.

Natomiast konfiguracja stanowego klienta wygląda w opisany poniżej sposób.

Cli2-DHCPv6(config)#ipv6 unicast-routing
Cli2-DHCPv6(config)#int gig0/0/1
Cli2-DHCPv6(config-if)#ipv6 enable
Cli2-DHCPv6(config-if)#ipv6 address dhcp
Cli2-DHCPv6(config-if)#no shutdown
Cli2-DHCPv6#sh ipv6 int br
GigabitEthernet0/0/0       [administratively down/down]
    unassigned
GigabitEthernet0/0/1       [up/up]
    FE80::201:96FF:FEB3:8A02
    2001:DB8:ACAD:1:D0CF:E066:3BF5:2825
GigabitEthernet0/0/2       [administratively down/down]
    unassigned
Vlan1                      [administratively down/down]
    unassigned
Cli2-DHCPv6#sh ipv6 dhcp interface
GigabitEthernet0/0/1 is in client mode
  State is OPEN
  Renew will be sent in 0d0h
  List of known servers:
    Reachable via address: FE80::1
    DUID: 0003000100062ACD7E01
    Preference: 0
    Configuration parameters:
      IA PD: IA ID 226950255, T1 0, T2 0
      Address: 2001:DB8:ACAD:1:D0CF:E066:3BF5:2825/64
              preferred lifetime 86400, valid lifetime 172800
              expires at September 7 2024 3:47:3 pm (172800 seconds)
      DNS server: 2001:4860:4860::8888
      Domain name: example.com 
      Information refresh time: 0
  Prefix name: 
  Rapid-Commit: disabled

W taki sposób wygląda to od strony serwera:

Srv2-DHCPv6#show ipv6 dhcp interface 
GigabitEthernet0/0/1 is in server mode
  Using pool: IPV6-STATEFUL
  Preference value: 0
  Hint from client: ignored
  Rapid-Commit: disabled
Srv2-DHCPv6#show ipv6 dhcp binding 
Client: FE80::201:96FF:FEB3:8A02
  DUID: 00030001000196B38A01
  IA NA: IA ID 226950255, T1 0, T2 0
    Address: 2001:DB8:ACAD:1:D0CF:E066:3BF5:2825
            preferred lifetime 86400, valid lifetime 172800
            expires at September 7 2024 3:50:18 pm (172800 seconds)
Srv2-DHCPv6#show ipv6 dhcp pool 
DHCPv6 pool: IPV6-STATEFUL
  Address allocation prefix: 2001:db8:acad:1::/64 valid 172800 preferred 86400 (2 in use, 0 conflicts)
  DNS server: 2001:4860:4860::8888
  Domain name: example.com
  Active clients: 1

binding, przedstawia listę klientów serwera DHCPv6. Natomiast pool, pokazuje nam statystyki oraz opcje dodane do utworzynych na serwerze pul adresowych.

Ostatnią konfiguracją będzie konfiguracja agenta przekazującego. Nie mniej jednak na Packet Tracerze, nie będziemy w stanie tego zrobić. Dlatego można potraktować to jako suchą wiedzę. Na interfejsie nasłuchującym w sieci, z którego normalnie powinniśmy otrzymać adres IP wpisujemy poniższe polecenie.

 Rly-DHCPv6(config)#int gig0/1
Rly-DHCPv6(config-if)#ipv6 dhcp ?
  client  Act as an IPv6 DHCP client
  server  Act as an IPv6 DHCP server
Rly-DHCPv6(config-if)#ipv6 dhcp relay destination 2001:db8:acad:1::2 gig0/0
                                ^
% Invalid input detected at '^' marker.
	
Rly-DHCPv6(config-if)#exit

W poleceniu relay destination podajemy adres serwera. Dodatkowo, jeśli adresem serwera DHCP będzie LLA, musimy podać wyjściowy interfejs taki jak na przykładzie (gig0/0).

Laboratorium

Konfiguracja DHCPv6

Podsumowanie

W tym rozdziale dowiedzieliśmy się jak wyglądają metody dynamicznej adresacji hostów dla protokołu IPv6. Poznaliśmy w jaki sposób te metody działają oraz jakie komunikaty klient oraz serwer (w zależności od metody) ze sobą wymieniają aby finalnie skonfigurować adres IPv6 dla interfejsu. Na koniec poznaliśmy jakie w tym zakresie możliwości ma system Cisco IOS oraz jakim crapem są materiały, w których funkcjonuje jedno zagadnienie, a nie jest ono możliwe do zrealizowania w środowisku symulacyjnym jakim jest Packet Tracer. Nie prościej było to usunąć lub poprawić tego Packet Tracer-a. Czy to tak wiele dla tak dużej firmy?

2.9. Koncepcje FHRP

Po zakończeniu omawiania VLAN-ów, zaczeliśmy rozmiawiać o metodach pozwalających na istnienie łączy nadmiarowych bez ryzka powstawania pętli. Później stwierdziliśmy, że w przypadku kilku łączy nadmiarowych normalnie wykorzystywana jest tylko ich część, co nie za bardzo nam się niepodobało - chcielśmy wykorzystać je wszystkie lub przynajmniej większą część, zatem zaczeliśmy agregować te łącza. Mimo tak zbudowanej topologii, to gdzieś tam na jej górze znajduje się router brzegowy, który łączy naszą sieć z inną siecią, np. z Internetem. Zastanówmy się przez chwilę co w takiej topologii pozostaje słabym ogniwem? Takie rozwiązania, które nie mają zapewnionej nadmiarowości. W tym przypadku jest to nasz router, który umożliwia dostęp do zasobów zewnętrznych sieci.

Oczywiście możemy zapewnić dodatkowy router, podłączony do sieci usługodawcy, mnie mniej jednak, co w przypadku awarii podstawowego routera czy będziemy zmieniać na komputerach klientów adresy bramy lub wymuszać na nich ponowne skomunikowanie się z serwerem DHCP? Istnieją metody przełączania między routerami pozostające dla użytkowników końcowych niewidoczne. Tego rodzaju rozwiązania są zapewniane przez protokoły FHRP (First Hop Redundancy Protocol).

Działa to na na takiej zasadzie, że routery wymienią ze sobą komunikaty w zależności od rodzaju protokołu. FHRP to nazwa zbiorcza dla technologii, która zbiera pod sobą kilka różnych protokołów. Na podstawie wymienionych informacji między sobą decydują o tym, który z nich będzie urządzeniem przekazującym lub urządzeniem pasywnym, pozostającym w gotowości. Tutaj również dzieje się bardzo ciekawa rzecz, mianowicie: routery na swoich interfejsach nie mogą mieć więcej niż jeden adres. W przypadku skonfigurowania jednego z protokołów FHRP, interfejsy będą miały jeszcze jeden komplet z adresu MAC oraz IPv4 należące do wirtualnego routera i to ten adres IPv4 będą miały hosty zapisany jako adres bramy. Podczas pracy routery, przesyłają miedzy sobą komunikat, aby dać znać, że działają. Wysyłają go co określoną ilość czasu, jeśli przez jakiś określony czas router pasywny nie otrzyma tego pakietu, to uzna on, że obecne urządzenie aktywne uległo awarii i przejdzie w tryb aktywny. Do określenia ról routerów w tym protokole wykorzystuje się nazewnictwa - standby (w gotowości, pasywny) oraz active (aktywny, przekazujący). Natomiast między sobą routery wysyłają pakiety hello, służące do monitorowania stanu operacyjności.

Tak jak wspomniałem FHRP, to określenie zbiorcze technologii, które zbierają kilka protokołów pod sobą. Oto one:

2.9.1 Protokół HSRP

Protokół HSRP jest zastrzeżoną przez Cisco implementacją transparentnego trybu failover zapewniający zawsze dostęp do routera dla hostów IPv4, po przez przełączanie się pomiedzy urządzeniem aktywnym, a standby-em. HSRP łączy routery w grupy i przełącza je w tych grupach, przyczym jeden router może należeć do wielu grup. Także nie ma tutaj obaw, podobnych do spanning tree, że nie wszystkie możliwości są w pełni wykorzystane.

W przypadku tego protokołu urządzenia dokonują elekcji na podstawie priorytetu (w którym decyduje największa wartość - 120>100) lub jeśli priotety są takie same (domyślnie 100) to decyduje najwyższy adres IP (.1.100>.1.1). Priorytet przyjmuje wartość od 0 do 255, przyczym rolę routerów można wymusić (polecenie standby preempt - użycie tego polecenia ustawi go w roli aktywnego urządzenia). W tym protokole komunikaty hello przesyłane są co 3 sekundy, natomiast standby czeka na nie przez 9 sekund, zanim rozpocznie procedurę przełącznia. HSRP dokonuje przełączania na podstawie awarii łącza lub na podstawie warunków, jednak one wykraczają poza ramy kursu CCNA. HSRP wystawia wirtualny router (dodatkowy adres dla interfejsu), który będzie bramą domyślną jednej z grup.

Podczas ustalania roli routera w HSRP interfejs (najczęściej bramy sieci LAN) będzie przechodzić przez następujące stany, za nim okaże się, że ma być przekazującym czy pasywnym w trybie stanby. Poniżej znajduje opis tych stanów oraz ich zachowanie względem komunikatów hello.

Ilości czasu między wysyłanymi wiadomościami hello oraz okres czasu oczekiwania na tego typu wiadomość można modyfikować. Jednak nie zaleca się ustawiania pierwszej wartości po niżej 2 sekund a drugiej poniżej 4. Spowoduje to znaczne zużycie zasobów urządzeń oraz nie potrzebne przełączanie się w przypadku drobnego, krótkotrwałego przeciążenia sieci.

2.9.3. Konfiguracja HSRP

Załóżmy że mamy taką topologię:

H-b -- S-2
       |    192.168.1.0/24
       |
       R(d)-2   LAN2
--------------------
      / \  R-2 -N- R(d)-1: 172.16.0.0/16
     N   N R(d)-2 -N- R-3: 172.17.0.0/16
    /     \
--------------------
   R(d)-1  R-3  LAN1
    \     /
     \   /
       S-1 192.168.20.0/24
      / \
     /   \
    H-a   H-c

Legenda:
H - Host
S - Switch
R - Router
(d) - Serial DCE
-N- - Połączenie szeregowe
- - Połączenie Copper/Fiber
-[A-Za-z][0-9] - identyfikator urządzenia

Topologia przedstawia dwie sieci LAN połączone ze sobą łączami szeregowymi. Pierwsza sieć LAN, zawiera hosty: H-a, H-c, S-1, R-1 i R-3. Druga natomiast: H-b, S-2 i R-2. Host H-a w sieci LAN1 ma bramę ustawioną na adres interfejsu fa0/0 routera R-1, natomiast host H-c na adres interfejsu fa0/0 routera R-3, a host H-b na interfejs fa0/0 routera R-2. Między routerami skonfigurowano protokół routingu EIGRP, hosty mogą swobodnie komunikować się ze sobą.

Załóżmy, że dokonaliśmy odpowiednich pomiarów. Chcemy skonfigurować HSRP, aby ruch hosta H-c przechodził przez R-1, ale w przypadku jego awarii, został przełączony na R-3, natomiast ruch hosta H-a ma zostać wysłany przez R-3 i w przypadku awarii ma zostać przełączony na R-1. Aby to zrealizować potrzebne nam są dwie grupy HSRP. Konfigurację grup zaczynamy od ustalenia adresów IP dla wirtualnych routerów, następnie na routerze R-1 wydajemy poniższe polecenia.

R1(config)#int fa0/0
R1(config-if)#standby version 2
R1(config-if)#standby 1 ip 192.168.20.100
R1(config-if)#standby 1 priority 120
R1(config-if)#standby 1 preempt 
R1(config-if)#standby 2 ip 192.168.20.200
R1(config-if)#standby 2 priority 100

Po przejściu do interfejsu uruchamiamy nowszą wersję protokołu HSRP. Następnie w trzecim poleceniu definujemy grupę 1 oraz adres IP dla wirtualnego routera. W kolejnym poleceniach: ustawiamy wiekszy priorytet niż domyślny (120) i wywłaszczamy rolę active dla tego właśnie urządzenia w tej grupie oczywiście. Ostatnie dwa polecenia służą definicji grupy drugiej (wszystkie routery grupie powinny mieć te definicje) wraz z adresem wirtualnego routera dla grupy drugiej. Na koniec podajemy priorytet w sposób jawny, aby nie pozostawiać niczego domysłom. Na drugim routerze w tej sieci, dokonujemy analogicznej konfiguracji ale dla grupy drugiej jako natywna (R-3 będzie urządzeniem aktywnym w tej grupie), natomiast grupe pierwszą wskazujemy jako definicję aby to urządzenie również było jej członkiem.

R3(config)#int fa0/0
R3(config-if)#standby version 2
R3(config-if)#standby 2 ip 192.168.20.200
R3(config-if)#standby 2 priority 120
R3(config-if)#standby 2 preempt
R3(config-if)#standby 1 ip 192.168.20.100
R3(config-if)#standby 1 priority 100

W ten sposób prezentują się informacje na temat użycia protokołów FHRP (HSRP) na routera Cisco:

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State    Active          Standby         Virtual IP
Fa0/0       1    120 P Active   local           192.168.20.3    192.168.20.100 
Fa0/0       2    100   Standby  192.168.20.3    local           192.168.20.200 

R3#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State    Active          Standby         Virtual IP
Fa0/0       2    120 P Active   local           192.168.20.1    192.168.20.200 
Fa0/0       1    100   Standby  192.168.20.1    local           192.168.20.100 

Teraz po skonfigurowaniu HSRP, możemy ustawić hostom H-a oraz H-c odpowiednie adresy bramy domyślnej. Jeśli spróbujemy osiągnąć z H-c, host H-b to trasa będzie wyglądać następująco (interfejs fa0/0 R-1 ma adres IP: 192.168.20.1):

C:\>tracert 192.168.1.3 (host: H-b)

Tracing route to 192.168.1.3 over a maximum of 30 hops: 

  1   0 ms      0 ms      0 ms      192.168.20.1
  2   0 ms      1 ms      0 ms      172.16.0.2
  3   0 ms      1 ms      1 ms      192.168.1.3

Trace complete.

Ale jeśli usunelibyśmy to połącznie między S-1 a R-1, to H-c nie miało by jak się skomunikować z R-1, na R-3 nie odebrało by wiadomości hello i przełączyłoby się w tryb aktywny. Wówczas ta sama trasa wyglądała by jak na poniższym przykładzie (interfejs fa0/0 R-3 ma adres: 192.168.20.3):

C:\>tracert 192.168.1.3 (host: H-b)

Tracing route to 192.168.1.3 over a maximum of 30 hops: 

  1   1 ms      0 ms      0 ms      192.168.20.3
  2   0 ms      15 ms     0 ms      172.17.0.2
  3   10 ms     1 ms      0 ms      192.168.1.3

Trace complete.

Jeśli mielibyśmy w tej sieć mieć tylko jedną grupę HSRP, to wówczas ograniczylibyśmy się do dwóch poleceń na urządzeniu standby:

R3(config)#int fa0/0
R3(config-if)#standby version 2
R3(config-if)#standby 1 ip 192.168.20.100

Zadanie praktyczne - Packet Tracer

Przewodnik konfiguracji HSRP - scenariusz
Przewodnik konfiguracji HSRP - zadanie

Podsumowanie

W tym rozdziale zapoznaliśmy z technologią FHRP, poznaliśmy metody działania jej protokołów oraz ich rodzaje. Omówiliśmy sobie protokół Cisco HSRP oraz skonfigurowaliśmy przykładową sieć, aby przedstawić w jaki sposób można wykorzystać w pełni jej potencjał przy użyciu protokołów tego rodzaju.

2.10. Koncepcje bezpieczeństwa

Konfigurując sieć prędzej czy później będziemy musieli zająć tematem bezpieczeństwa. Obecnie najbardziej prawdopodobnymi ataki z jakimi będziemy musieli się zmierzyć będą to:

Ataki najczęsciej, choć nie jest to reguła, będą pochodzić z zewnątrz. Dlatego też musimy wykorzystać dobrej jakości rozwiązania, takie jak:

Na ataki najczęciej podatne są punkty końcowe. Są one zazwyczaj chronione prze AMP - zaawansowaną ochronę antywirusową. Są to programy spełniające rolę platformy bezpieczeństwa zawierającą pakiet programu antywirusowego, zaporę sieciową zapobieganie włamaniom i wiele innych. Projektując system bezpieczeństwa sieci, musimy wdrożyć takie rozwiązania, które spowodują, że to wyżej wymionione oprogramowanie będzie miało jak najmniej do pracy. W sieci możemy wdrożyć takie rozwiązania jak ESA - system bezpieczeństwa poczty (filtr spamu, skaner załączników) lub/i WSA - system bezpieczeństwa sieci Web (filtr treści).

2.10.1. Kontrola dostępu

W przypadku urządzeń koncowych, kontrolę dostępu zapewniają nam hasła. Podobnie może być w przypadku sieci. Wymagane jest wówczas wdrożenie mechanizmów AAA (w nomenklaturze Cisco). Ten skrót sprowadza się do trzech czynności: autentykacji, autoryzacji oraz ewidencjonowania. Autentykacja jest sposobem pozwalającym na stwierdzenie czy jesteśmy tymi, za których się podajemy. Autoryzacja, natomiast określa nam co możemy zrobić w systemie - określa ona nasze uprawnienia. Ostatnim czynnikiem jest zapewnienie ewidencjonowania tj. zbierania oraz raportowania tego co użytkownik robi w sieci czy na urządzeniu. Rozwiązania tego typu mogą dostarczyć informacji potrzebnych do audytu, czy pomóc przy rozliczeniu. Wprowadzenie tego typu zabezpieczeń spowoduje, że podczas podłączania do sieci wymagane będzie podanie loginu hasła.

Innym rodzajem kontroli dostępu do sieci może być standard IEEE 802.1X, jest to oparty na portach protokół, który pozwala na uwierzytelnianie oraz autoryzacje użytkownika w sieci. Decydując się na tego typu rozwiązanie do dyspozycji będziemy mieć dwie implementacje, takie jak otwarty RADIUS oraz zastrzeżony przez Cisco TACACS+. W przypadku 802.1X każdy komputer ma swoją rolę:

2.10.3. Zagrożenia warstwy 2

Warstwa druga jest poziomem gdzie sygnały elektryczne zaczynają spotykać się z jakąś logiką. Na tym poziomie możemy już określać pewne obawy co do bezpieczeństwa transmisji jak i samego połączenia. Istnieje kilka ataków, które mogą zaistnieć w naszej sieci. Działania te głównie skupiają się wokół przełącznika, a urządzenia Cisco posiadają odpowiednie środki zapobiegawcze mogące spowodować, że będą one niewrażliwego na te zagrożenia.

Oczywiście nasze starania mogą nie być wystarczające szczególnie wtedy gdy protokoły nie będą wystarczająco zabezpieczone. Zaleca się porzucenie protokołów nie posiadających żadnych sensownych zabezpieczeń, na rzecz bezpieczniejszych wersji, korzystających z warstwy TLS czy wykorzystanie protokołów pochodnych od SSH. Innym czynnikiem może być wydzielenie odrębnej sieci VLAN dla zarządzania urządzeniami.

2.10.4. Ataki na sieć LAN

Pierwszym bardzo prostym atakiem do przeprowadzenia jest atak na tablicę MAC przełącznika. Polega on na zalewaniu przełącznika ramkami ze źródłowym losowym adresem MAC, przez co tablica MAC będzie cały czas się wypełniać. W momencie jej przepełnienia przełącznik zaczyna się zachowywać jak koncentrator. Takie działanie pozwoli atakującemu przechwycić ruch sieciowy, który nie jest zaadresowany do niego.

Metodami zapobiegawczymi takiego działania jest skonfigurowanie zabezpieczeń portów (zajmiemy się tym w następnym rozdziale), pozwoli to ogranicznie nauki adresów na tych portach do podanej konkretnej wartości. Choćby jednego adresu.

Podatność na ataki względem VLAN-ów jest niedopatrzeniem z strony administratora. Pozostawienie włączonego protokołu DTP, może pozwolić intruzowi na wymuszenie pomiędzy jego urządzeniami, a przełącznikiem portu trunk. Jeśli administrator zapomiał o wyłączeniu DTP to na łączach magistralnych dopuszcza ruch za pewne dla całego zakresu sieci VLAN. Zatem nic nie stoi na przeszkodzie, aby atakujący mógł skomunikować z dowolnym hostem w sieci, mimo skonfigurowania sieci VLAN. Tego typu nazywany jest atak z przeskokiem VLAN.

Innym atakiem na sieci VLAN, jest atak podwójnego tagowania, atakujący znając identyfikator natywnego VLAN-u, może wysłać dane do dowolnym hostem w dowolnym VLAN-ie, powodując np. atak odmowy usługi. Jego zadaniem będzie przygotowanie ramki zawierającej pole 802.1Q z identyfikatorem natywnego VLAN-u, jak i drugie pole 802.1Q zawierające identyfikator docelowej sieci VLAN. Domyślnie natywną siecią VLAN, jest VLAN 1. Natomiast id konkretnej sieci VLAN, jest zapisany w adresie IP hosta. W momencie osiągniecia pierwszego przełącznika, pierwszy znacznik zostaje zdjęty (przez VLAN natywny, przysyłany jest ruch nietagowany), natomiast drugi przełącznik zauważy tag i przekaże te ramki do odpowiedniej sieci VLAN.

Ochrona przed tego typu czynnościami, wymaga od nas wykonania czynności, które wykonywaliśmy przy okazji konfiguracji łączy trunk oraz protokołu DTP. Należy ten protokoł bezwzględnie wyłączyć, na łączach magistralnych oraz zmienić natywny VLAN z 1 na jakiś inny losowy. Warto również na sztywno przypisać portom działanie w trybie dostępu.

Kolejne ataki, które są omawiane to ataki przeciwko DHCP. Pierwszym z nich jest atak zagłodzenia - swojego rodzaju atak typu DoS (pojedynczy atak DDoS), ponieważ uniemożliwia on prawowitym hostom uzyskanie adresu IP z serwera DHCP. Atakujący wyczerpuje całą pulę po przez wielkrotną komunikację z serwerem DHCP, przy użyciu komunikatów o losowych adresach źródłowych. Cała pula zostaje wyczerpana przez losowe adresy, które nawet nie wyślą jednej ramki.

Innym atakiem jest atak sfaszowanego DHCP. Intruz może na swoim komputerze uruchomić serwer DHCP i skonfigurować go taki sposób, aby nasz ruch był odpowiednio kierowany. Takiego rodzaju działanie ma za zadanie przechwycić nasz ruch. Atakujący może udostępnić nam, przez swój komputer połącznie z inną siecią, taką jak Internet, przez co może do woli przeglądać nasz nieszyfrowany ruch.

Metodą zapobiegawczą dla tego rodzaju zagrożenia, jest uruchomienie na portach mechnizmu DHCP Snooping, pozwala on na wybranie portu z którego mogą przychodzić odpowiedzi z serwera DHCP oraz nałożenie limitów na ilość zapytań - komunikatów DHCPDISCOVER. Ciekawym faktem jest to, że uruchomienie tej funkcjonalności pozwala nam zamienić przełącznik, działający w warstwie 2 w nieco bardziej inteligente urządzenie, które musi spojrzeć aż do pola danych w przesyłanych ramkach.

Ataki ARP takie jak zatrucie czy fałszowanie są do siebie bardzo zbliżone w metodach do ich przeprowadzania. Można by nawet rzec, że identyczne. Protokołu ARP używa się w celu uzyskania adresu MAC na podstawie adresu IP. Zadaniem atakującego jest wysyłanie fałszywych odpowiedzi na zapytanie ARP, przez co najczęściej host straci połączenie z innymi w sieci. Przy czym tutaj warto powiedzieć, że te wysyłanie odpowiedzi musi być ciągłe. Inaczej po zaprzestaniu wysyłania tych odpowiedzi, komunikacja po kilku minutach wróci do normy. Tego typu działanie jest właśnie, zatruciem ARP. Fałszowanie ma na celu najczęściej zmianę trasy ruchu sieciowego, więc tutaj używa się komunikatu gratisowego ARP, który jest częścią standardu ARP. Jego wykorzystanie różni się tym, że przy normalnej komunikacji host ofiary nie zapyta o adres jeśli ma go w swojej tablicy ARP, ale w przypadku pakietu gratisowego, host ofiary musi aktualizować wpis, którego on dotyczy.

Przed atakami na ARP, jest się ciężko obronić. Ponieważ te funkcję, które uważamy za słabe, są jego częścia. Nie mniej jednak Cisco posiada metodę zwaną DAI - Dynamiczną inspekcją ARP. DAI do swojego działania wymaga DHCP Snoopingu. Podobnie tak jak w przypadku DHCP wybieramy zaufany, który nie będzie sprawdzany. Następnie możemy ustawić inspekcję ARP dla konkretnego VLAN lub całego przełącznika, możemy wybrać dodatkowo sprawdzany kryterium czy sprawdzany ma być adres MAC źródłowy czy docelowy.

Atak fałszowania adresów, może pozwolić atakującemu na przejście przez zaporę sieciową. Atak ten polega na wygenrowaniu zarówno ramek i jak i pakietów IP ze sfałszowanymi adresami. Dodatkowo pamiętając jak działają przełączniki, to możebyć wielce prawdopodbne, otrzymamy odpowiedź na sfałszowany adres, gdyż przełącznik zapisze w tablicy MAC, że ten komputer jest podłączony do takiego portu.

Przed spoofingiem może ochronić nas mechanizm IPSG - IP Source Guard.

Ostatnim omawianym atakiem jest atak na STP. Intruz może chcieć manipulować protokołem w celu wymuszenia zmiany mostu głównego, aby moc przechwytywać ruch z sieci. Dokonuje on tego po przez wysłanie komunikatu BPDU, zawierającego BID o bardzo wysokim piorytecie. Wówczas trasy zostaną ponownie przeliczone, a atakujący uzyska dostęp do naszej transmisji.

Sposobem na zapobiegnięcie takiemu obiegowi sprawy, należy na na portach dostępowych uruchomić mechanizmy takie jak PortFast czy BPDU Guard. Reagują one na pojawieni się na porcie komunikatu BPDU. Najczęściej port jest blokowany w stan err-disabled, po tym jak kolwiek komunikacja zostanie zaprzestana z hostem podłączonym do niego.

Innym zagrozniem nie wyrządzającym szkody bezpośrednio hostom jest rozpoznanie CDP. CDP to własnościowy protokół Cisco wykorzystywany do konfiguracji urządzeń tego producenta. Urządzenia mają domyślnie włączony ten protokołu i wymieniają miedzy sobą informacje za jego pomocą. CDP jest pomocnym protokołem jednak przesyła zbyt wiele informacji w sposób niebezpieczny. Jedną z nich jest jest natywna sieć VLAN. Dlatego zaleca się wyłącznie jego oraz jego otwartego odpowiednika - LLDP (Link-Layer Discovery Protocol).

Podsumowanie

W tym rozdziale zapoznaliśmy się koncepcjami bezpieczeństwa warstwy drugiej. Dowiedzieliśmy się jak są rodzaje ataków i środki zaradcze. Na koniec szerzej omówiliśmy każdy z rodzajów ataków, aby mieć ich obraz podczas konfiguracji.

2.11. Konfiguracja zabezpieczeń przełącznika

W poprzednim rodziale omówiliśmy zagrożenia z jakimi możemy się spotkać w warstwie drugiej. W tym rodziale dowiemy się w jaki sposób skonfigurować system IOS na przełączniku, aby móc się przed nimi chronić.

2.11.1. Zabezpieczenia portów

Pierwszą i w prawdzie najważniejszą rzeczą są zabezpieczenia portów. Za pomocą tego mechanizmu możemy nakazać aby konkrety port mógł nauczyć się tylko jednego adresu MAC, który jeśi będziemy sobie tego życzyć będzie może trafić do konfiguracji. Zabezpieczenia portów są podstawą linią obrony przed atakami warstwy drugiej.

Omawianie zabezpieczeń portów, rozpoczniemy od najprostszej czynności jaką możemy wykonać. Jeśli intruz będzie w zasiegu dostępnego gniazda Ethernet, może sprawdzić czy jest ono aktywne. Jeśli tak, to może udać mu się uzyskać dostęp do sieci. Dlatego czasami najprostrze rowiązania są najlepsze. Zatem może warto wyłączyć nieużywane porty administracyjnie. Wydając proste polecenie shutdown. Domyślnie wszystkie porty przełącznika nie są wyłączone administracyjnie.

S1(config)#do sh ip int br
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES unset  administratively down down    
FastEthernet0/1        unassigned      YES unset  down                  down    
FastEthernet0/2        unassigned      YES unset  down                  down    
FastEthernet0/3        unassigned      YES unset  down                  down    
FastEthernet0/4        unassigned      YES unset  down                  down    
FastEthernet0/5        unassigned      YES unset  down                  down    
...

Przejść do konfiguracji wiecej niż jednego portu możemy poprzez użycie polecenia int range podając zakres portów lub też ich listę jeśli porty są nie po kolei. Oczywiście możemy mieszać ze sobą ten rodzaj parametrów.

S1(config)#int range fa0/1-24
S1(config-if-range)#shutdown 
S1(config-if-range)#do sh ip int br
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES unset  administratively down down    
FastEthernet0/1        unassigned      YES unset  administratively down down    
FastEthernet0/2        unassigned      YES unset  administratively down down    
FastEthernet0/3        unassigned      YES unset  administratively down down    
FastEthernet0/4        unassigned      YES unset  administratively down down    
FastEthernet0/5        unassigned      YES unset  administratively down down    
FastEthernet0/6        unassigned      YES unset  administratively down down
...

Po wyłączeniu portów, nie ma możliwości aby ktoś bez naszej wiedzy mógł się podłączyć do sieci. Administracyjne wyłącznie portów fizycznie wyłącza zasilanie na portach przełącznika.

Poza dostępem do sieci, możemy również chcieć zabezpieczyć nasz przełącznik, aby nigdy nie udało się zrobić z koncentratora. Z poprzedniego rodziału wiemy jak tego dokonać. Zabezpieczenia portów obejmują możliwość wskazania ilość adresów MAC, których przełącznik może się nauczyć, w jaki sposób ma się ich uczyć, kiedy i jaki sposób adres w tablicy ulega przedawnieniu czy co zrobić w przypadku naruszenia zasad zabezpieczeń portów.

Samo włączenie zabezpieczeń portu spowoduje, że zostaną nałożone na niego pewne zasady. Za nim jednak przejdziemy do uruchomienia tej opcji to musimy sobie wyjaśnić pewną rzecz. Domyślnie włączony jest protokoł DTP, natomiast porty znajdują się w domyślnym stanie dynamic auto. Zabezpieczenia portu wymagają, aby port był portem dostępowym, więc przed uruchomienieniem zabezpieczeńm portów musimy przełączyć port w tryb dostępu:

#Domyślnie:
S1(config)#do show int fa0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: dynamic auto
Operational Mode: down
Administrative Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled

S1(config)#int fa0/1
S1(config-if)#switchport mode access
S1(config-if)#do show interface fa0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: down
Administrative Trunking Encapsulation: dot1q
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none

Teraz możemy włączyć zabezpieczenia portu.

S1(config-if)#switchport port-security

Reguły narzucone przez uruchomienie zabezpieczeń portu to, ustawienie trybu naruszenia na najbardziej restrykcyjny oraz ustawienie ilości adresów MAC do nauczenia się dla tego portu na 1.

S1#show port-security interface fa0/1
Port Security              : Enabled
Port Status                : Secure-down
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 1
Total MAC Addresses        : 0
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 0
Last Source Address:Vlan   : 0000.0000.0000:0
Security Violation Count   : 0

Tryb naruszenia Violation Mode, został ustawiony na Shutdown, co spowoduje, że jeśli ktoś inny podłączy się do tego portu, to zostanie on ustawiony w tryb error disabled. Liczba możliwych adresów do nauczenia (Maximum MAC Address) wynosi 1.

Jeśli chcemy zdecydować o tym ilu adresów pownieni móc nauczyć się port wówczas wyskorzysujemy następujące polecenie:

Switch(config-if)# switchport port-security maximum <1-8129>

Po za podaniem ilości dozwolonych adresów MAC do zapamiętania, możemy manipulować samym jego procesem. Np. podać statyczny adres MAC lub przełącznik będzie się ich uczył dynamicznie. Co jest domyślną metodą przy włączeniu zabezpieczeń portów. Inna wariacją jest dynamiczne uczenie się z wykorzystaniem NVRAM do zapamiętania adresów MAC. Poniższe polecenia uruchamiają poniższe tryby:

W przypadku tych trybów to można je mieszać, ustawiając ilość adresów na 4 i podając np. 2 adresy statycznie a resztę pozostawić do nauki dynamicznej z wykorzystaniem NVRAM. W przpadku uczenia się adresów MAC, przydatne może być polecenie:

S1#show port-security address
          Secure Mac Address Table
------------------------------------------------------------------------
Vlan    Mac Address       Type                     Ports   Remaining Age
                                                              (mins)    
----    -----------       ----                     -----   -------------
   1    001f.1618.0d37    SecureSticky             Fa0/2        -
   1    00de.adbe.ef00    SecureConfigured         Fa0/2        -
------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port)     : 1
Max Addresses limit in System (excluding one mac per port) : 8192

Statystyki dla tego portu przezentują się następująco:

S1#sh port-sec int fa0/2
Port Security              : Enabled
Port Status                : Secure-up
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 2
Total MAC Addresses        : 2
Configured MAC Addresses   : 1
Sticky MAC Addresses       : 1
Last Source Address:Vlan   : 001f.1618.0d37:1
Security Violation Count   : 0

Port jest podniesiony (Port Status: Secure-up) i nie nastąpiło żadne naruszenie zasad (Security Violation Count: 0).

Zabezpieczenia portów pozwalają na określenie okresu ważności dla bezpiecznych adresów (Przypisanych statycznie lub nauczonych w ramach dynamicznej nauki, zgodnie z określonym limitem). Mamy dwa rodzaje przedawnienia (okresu ważności):

Za ustawianie przedawnienia odpowiedzialne jest polecenie aging zabezpieczania portów. Może ono przyjąć następujące opcje:

Dla przykładu ustawiłem na porcie 2 czas przedawnienia 10 minut nieaktywności interfejsu.

S1(config)#int fa0/2
S1(config-if)#switchport port-security aging time 10
S1(config-if)#switchport port-security aging type inactivity 

W momencie gdy dojdzie do przekroczenia zasad skonfigurownych na porcie występuje naruszenie, może mieć one różne skutki. Od zaprzestania transmisji dla nieznanych adresów na czas potrzebny do usunięcia nadmiarowych adresów MAC do przestawienia portu w stan error-disabled. Istnieją trzy tryby:

Do ustawienie trybu wybierany wykorzystywane jest polecenie violation, zabezpieczeń portów.

S1(config)#int fa0/2
S1(config-if)#switchport port-security violation restrict

Stan error-disabled - wyłączony przez błąd, może być spowodowany przez użytkownika, w momencie gdy naruszy on zasady zabezpieczeń portów. Transmisja przez taki port zostaje zatrzymana, wyłączona jest również kontrolka LED. Włączenie takowego portu wymaga działania administratora.

Do tej porty poznaliśmy polecenia, które pozwolą nam ustawienie zabezpieczeń portów oraz na wyświetlenie informacji o nich. Nie których. Bowiem istnieje jeszcze jedno polecenie, które pozwoli na wyświetlenie zabezpieczeń na wszystkich portach.

S1#show port-security
Secure Port  MaxSecureAddr  CurrentAddr  SecurityViolation  Security Action
                (Count)       (Count)          (Count)
---------------------------------------------------------------------------
      Fa0/1              1            0                  0         Shutdown
      Fa0/2              2            2                  0         Restrict
---------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port)     : 1
Max Addresses limit in System (excluding one mac per port) : 8192

Zadanie praktyczne - Packet Tracer

Wdrożenie zabezpieczeń portów - scenariusz
Wdrożenie zabezpieczeń portów - zadanie

2.11.2. Ograniczanie ataków na sieci VLAN

Ataki na sieci VLAN omawiane były dwa: atak z przeskokiem, gdzie atakującemu udawało się wynegocjować łącze trunk i uzyskać dostęp do innych VLAN-ów, niż ten do którego należy jego gniazdo. Drugim atakiem był atak podwójnego znakowania, gdzie atakujący tworzył ramkę z podwójnym znacznikiem, pierwszy zawierał znacznik natywnej sieci VLAN, a drugi sieci docelowej.

Metodą zabezpieczenia się przed tego typu działaniami są kolejno:

  1. Wyłączenie negocjacji DTP na innych portach niż trunk, przy użyciu polecenia switchport mode access
  2. Nie używane porty należy umieść w innym VLAN-ie niż domyślny.
  3. Na portach przeznaczonych jako trunk, tryb ten włączamy jest ręcznie przy użyciu polecenia switchport mode trunk.
  4. Wyłączamy autonegocjacje DTP na portach trunk, za pomocą polecenia: switchport nonegotiate.
  5. Zmieniamy natwyną sieć VLAN dla łączy trunk, przy użyciu polecenia: switchport trunk native vlan X, gdzie X, oznacza numer sieci VLAN.
S1(config)#vlan 1000
S1(config-vlan)#name UNUSED_PORTS
S1(config-vlan)#vlan 999
S1(config-vlan)#name NATIVE
S1(config-vlan)#exit
S1(config)#
S1(config)#int range fa0/3-12
S1(config-if-range)#switchport mode acces
S1(config-if-range)#exit
S1(config)#int range fa0/13-20
S1(config-if-range)#switchport mode access
S1(config-if-range)#switchport access vlan 1000
S1(config-if-range)#shutdown
S1(config-if-range)#exit
S1(config)#int fa0/21-24
S1(config-if-range)#switchport mode trunk
S1(config-if-range)#switchport nonegotiate 
S1(config-if-range)#switchport trunk native vlan 999
S1(config-if-range)#end

Na powyższym przykładzie skonfigurowano wyżej wymienione zabezpieczenia. Porty 3-12 są portami dostępowymi. Porty 13-20 nie są obecnie używane. Ostatnie 4 porty są łączami trunk.

2.11.3. Ograniczanie ataków na DHCP

Znamy dwa ataki wobec usługi DHCP, pierwsza z znich jest zagłodzenie - tj. wyczerpanie puli przez atakującego. Ochroną przed tego typu działaniem jest ustawienie limitu zapytań do DHCP na portach niezaufanych (innych niż te, z których będzie przychodzić odpowiedź od serwera). Drugim atakiem, jest fałszowanie - atakujący podstawia swój serwer DHCP. Metodą ochrony przed takim działaniem jest ustawienie portu zaufanego - z którego będą przychodzić komunikaty serwera DHCP. Reszta portów będzie domyślnie ustawiana jako niezaufane. Te metody oferuje mechanizm DHCP Snooping. Kroki jakie należy wykonać w celu skonfigurowania tej metody prezentują się następująco:

  1. Włączamy DHCP Snooping za pomocą polecenia ip dhcp snooping w konfiguracji globalnej
  2. Porty z odpowiedzią DHCP uznajemy za zaufane za pomocą polecenia: ip dhcp snooping trust.
  3. Na portach niezaufanych ustawiamy limit zapytań do DHCP - liczbę odebranych komunikatów DHCPDISCOVER na sekundę. Dokonujemy tego za pomocą polecenia: ip dhcp snooping limit rate X, gdzie X to liczba zapytań.
  4. DHCP Snooping możemy również włączyć dla określonej sieci VLAN lub dla wielu sieci, wydając w konfiguracji globalnej polecenie: ip dhcp snooping Y, gdzie Y to numer/numery sieci VLAN lub ich zakres.
S1#conf t
S1(config)#ip dhcp snooping
S1(config)#int g0/1
S1(config-if)#ip dhcp snooping trust
S1(config-if)#exit
S1(config)#int range fa0/1-24
S1(config-if-range)#ip dhcp snooping limit rate 6
S1(config-if-range)#exit
S1(config)#ip dhcp snooping vlan 1000

Na powyższym przykładzie skonfigurowano opcje zabepieczeń przed atakami na DHCP. W IOS mamy możliwość wyświetlenia informacji o konfiguracji DHCP Snooping za pomocą polecenia: show ip dhcp snooping.

S1#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
1000
DHCP snooping is operational on following VLANs:
1000
DHCP snooping is configured on the following L3 Interfaces:

Insertion of option 82 is enabled
   circuit-id default format: vlan-mod-port
   remote-id: ecc8.8212.b200 (MAC)
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Verification of giaddr field is enabled
DHCP snooping trust/rate is configured on the following Interfaces:

Interface                  Trusted    Allow option    Rate limit (pps)
-----------------------    -------    ------------    ----------------   
FastEthernet0/1            no         no              6         
  Custom circuit-ids:
FastEthernet0/2            no         no              6         
  Custom circuit-ids:
FastEthernet0/3            no         no              6         
  Custom circuit-ids:
FastEthernet0/4            no         no              6         
  Custom circuit-ids:
FastEthernet0/5            no         no              6         
  Custom circuit-ids:
...
FastEthernet0/23           no         no              6         
Interface                  Trusted    Allow option    Rate limit (pps)
-----------------------    -------    ------------    ----------------   
  Custom circuit-ids:
FastEthernet0/24           no         no              6         
  Custom circuit-ids:
GigabitEthernet0/1         yes        yes             unlimited
  Custom circuit-ids:

2.11.4. Ograniczenie ataków na ARP.

Ataki ARP są do siebie bardzo podobne. Chodzi o manipulację tablicą ARP na komputerze ofiary. Pierwszym atakiem jest zatrucie, przez które ofiara całkowicie traci łączność, ponieważ atakujący odpowiada na jej żądania losowowymi adresami fizycznymi. Drugim atakiem jest fałszowanie ataków, przy użyciu pakietu gratisowego ARP. Użycie tego pakietu wymusza na ofierze, aktualizację wpisu w tablicy ARP, którego dotyczy ten pakiet. Chronić się przed działania tego typu możemy za pomocą mechanizmu Dynamic Arp Inspection - DAI.

Dynamiczna inspekcja ARP (DAI) wymaga działania mechanizmu DHCP Snooping, pomaga zapobiegać atakom poprzez:

W celu wykorzystania mechnizmu DAI, musimy podąrząć zgodnie z poniższymi wskazówkami:

  1. Włączamy globalnie DHCP Snooping.
  2. Włączamy DHCP Snooping dla konkretnej sieci VLAN.
  3. Włączamy DAI dla wybranej sieci VLAN.
  4. Na koniec konfigurujemy zaufane interfejsy dla DHCP Snooping i DAI.
S1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#ip dhcp snooping
S1(config)#ip dhcp snooping vlan 1000
S1(config)#ip arp inspection vlan 1000
S1(config)#interface fa0/24
S1(config-if)#ip dhcp snooping trust 
S1(config-if)#ip arp inspection trust 

Na powyższym urządzeniu włączyłem globalnie DHCP Snooping, S1(config)#ip dhcp snooping następnie skonfigurowałem DHCP Snooping oraz DAI dla VLAN-u 1000 - S1(config)#ip dhcp snooping vlan 1000, S1(config)#ip arp inspection vlan 1000. Na koniec skonfigurowałem interfejs fa0/24 jako zaufany dla DHCP Snooping-u oraz inspekcji ARP.

Mechanizm DAI może zostać również skonfigurowany w taki sposób aby weryfikował adresy przekazywane we wiadomości ARP z adresami zawartymi w nagłówku ramki Ethernet. Do wyboru mamy takie warunki jak:

Do ustawiania weryfikacji adresów w ARP służy polecenie: ip arp inspection validate po czym podajemy rodzaj sprawdzania adresów. Nic nie stoi na przeszkodzie, aby ustawić je wszystkie.

S1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#ip arp inspection validate src-mac dst-mac ip

Od teraz komunikaty ARP, bedą sprawdzane pod kątem poprawności adresów.

2.11.5. Ograniczanie ataków STP

W przypadku ataków STP, atakujący może podłączyć swoje urządzenie i wymusić zmianę topologii poprzez wysłanie BPDU z wysokim priorytetem w BID. Ochroną przed tego typu działaniami jest użycie technologii PortFast oraz BPDU Guard.

PortFast przyspiesza stan gotowości portu o przesyłania danych. Port przenoszony jest natychmiast ze stanu blokowania w stan przekazywania. PortFast jest przeznaczony dla użytkowników końcowych i tylko dla nich powinien być stosowany. BPDU Guard jest mechanizm zabezpieczającym przed pojawieniem się komunikatów BPDU na niepożądanych portach. Jeśli taki komunikat się pojawi przy skonfigurowanym BPDU Guard, taki port zostanie ustawiony w stan error-disabled..

Konfiguracji PortFast, możemy dokonać na dwa sposoby. Konfigurować po kolei każdy z portów tak jak przedstawiono to na poniższym przykładzie.

S1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#int fa0/4
S1(config-if)#switchport mode access
S1(config-if)#spanning-tree portfast
%Warning: portfast should only be enabled on ports connected to a single
 host. Connecting hubs, concentrators, switches, bridges, etc... to this
 interface  when portfast is enabled, can cause temporary bridging loops.
 Use with CAUTION

%Portfast has been configured on FastEthernet0/4 but will only
 have effect when the interface is in a non-trunking mode.

Możemy również skonfigurować PortFast domyślnie dla całego przełącznika. Tak jak na przykładzie:

S1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#spanning-tree portfast default
%Warning: this command enables portfast by default on all interfaces. You
 should now disable portfast explicitly on switched ports leading to hubs,
 switches and bridges as they may create temporary bridging loops.

Aby sprawdzić konfigurację PortFast możemy użyć polecenia show spanning-tree summary. Poniżej znajduje się wynik jego działania:

S1#show spanning-tree summary 
Switch is in pvst mode
Root bridge for: none
Extended system ID           is enabled
Portfast Default             is enabled
PortFast BPDU Guard Default  is disabled
Portfast BPDU Filter Default is disabled
Loopguard Default            is disabled
EtherChannel misconfig guard is enabled
UplinkFast                   is disabled
BackboneFast                 is disabled
Configured Pathcost method used is short

Name                   Blocking Listening Learning Forwarding STP Active
---------------------- -------- --------- -------- ---------- ----------
Total                        0         0        0          0          0

Drugim mechanizm do skonfigurowania jest BPDU Guard. Metoda jest taka sama jak w przypadku PortFast, różnią się tylko polecenia.

S1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
S1(config)#int fa0/4
S1(config-if)#spanning-tree bpduguard enable
S1(config-if)#exit
S1(config)#spanning-tree portfast bpduguard default 

Teraz możemy wyświetlić sobie jeszcze raz podsumowanie konfiguracji STP.

S1#show spanning-tree summary
Switch is in pvst mode
Root bridge for: none
Extended system ID           is enabled
Portfast Default             is enabled
PortFast BPDU Guard Default  is enabled
Portfast BPDU Filter Default is disabled
Loopguard Default            is disabled
EtherChannel misconfig guard is enabled
UplinkFast                   is disabled
BackboneFast                 is disabled
Configured Pathcost method used is short

Name                   Blocking Listening Learning Forwarding STP Active
---------------------- -------- --------- -------- ---------- ----------
Total                        0         0        0          0          0

Możemy skonfigurować przełącznik w taki sposób, aby automatycznie odblokowywał porty w stanie error-disabled. W przypadku naruszenia BPDU Guard, możemy uruchomić to poleceniem:

S1(config)#errdisable recovery cause psecure-violation

Domyślnym okresem karencji jest 300 sekund = 5 minut. Konfigurację automatycznego podnoszenia portu ze stanu error-disabled możemy sprawdzić (w tym i okres karencji) za pomocą polecenia show errdisable recovery

S1#show errdisable recovery 
ErrDisable Reason            Timer Status
-----------------            --------------
arp-inspection               Disabled
bpduguard                    Disabled
channel-misconfig            Disabled
dhcp-rate-limit              Disabled
dtp-flap                     Disabled
gbic-invalid                 Disabled
inline-power                 Disabled
link-flap                    Disabled
mac-limit                    Disabled
loopback                     Disabled
pagp-flap                    Disabled
port-mode-failure            Disabled
psecure-violation            Disabled
security-violation           Disabled
sfp-config-mismatch          Disabled
small-frame                  Disabled
storm-control                Disabled
udld                         Disabled
vmps                         Disabled

Timer interval: 300 seconds

2.11.6. Wyłączenie protokołu CDP

Jeśli chcielibyś uchronić nasze urządzenia przez pozyskiwaniem z nich danych, które można wykorzystać do ataków (przed rozpoznaniem). To dobrym pomysłem jest wyłącznie protokołu CDP oraz LLDP. Te protokoły możemy wyłączyć globalnie lub dla poszczególnych interfejsów.

Ponowne włączenie tych protokołów wymaga użycia tych samych poleceń, ale bez słowa no na początku.

Podsumowanie

W tym rodziale dowiedzieliśmy się jak możemy skonfigurować Cisco IOS na przełącznikach, aby zapobiec atakom z poznanym w 10 rozdziale. Poznaliśmy zabezpieczenia portów oraz metody ochrony przez atakami na sieci VLAN, DHCP, ARP oraz STP.

Zadanie praktyczne - Packet Tracer

Konfiguracja zabezpieczeń przełącznika - scenariusz
Konfiguracja zabezpieczeń przełącznika - zadanie

Laboratorium

Konfiguracja zabezpieczeń przełącznika

2.12. Koncepcje WLAN

Sieci bezprzewodowe są wygodną alternatywą dla połączeń kablowych. Dzięki nim, możemy podłączyć wiele urządzeń bez prowadzenia kabli. Połączenia bezprzewodowe pozwalają nam na korzystanie z takich urządzeń jak tablety czy smartfony. Przy dobrze skonfigurowanej sieci bezprzewodowej, możemy swobodnie przemieszczać się po firmie bez utraty połączenia z siecią. Korzystając z wielu zalet łączności bezprzewodowej nie które firmy decydują się na użycie okablowania tam tylko gdzie jest ono niezbędne, natomiast hosty końcowe wykorzystują jedynie połączenia bezprzewodowe.

Sieci bezprzewodowe są oparte na standardach IEEE i można je ogólnie podzielić na cztery główne typy: WPAN, WLAN, WMAN, WWAN.

Wykorzystwane przez użytkowników technologie radiowe, wykorzystują nielicencjonowane aby móc zapewnić transmisję danych między użytkownikami. Każdy może z nich korzystać zaopatrując się chociażby w router bezprzewodowy klasy SOHO czy telefon komórkowy wykorzystujący technologię Bluetooth. Spośród takich technologii bezprzewodowych możemy wyróżnić:

Na tym kursie, będziemy skupiać się na bezprzewodowych sieciach LAN. Sieci te pracują z częstoliwoscią 2.4 GHz lub 5 GHz. Wykorzystując przy tym odpowiednie standardy IEEE 802.11, takie jak:

Na normalizację standardów bezprzewodowych, odpowiada trzy organizacje: ITU (regulacje częstotliwości radiowych i orbit satelitarnych), IEEE (modulacja sygnałów częstoliwości radiowej), oraz WiFi Alliance, które nie tyle zajmuje się normalizowaniem łączności bezprzewodowej co promowanie rozwoju technologii oraz wydawanie producentom odpowiednich certyfikatów za zgodność ze standardami.

2.12.1. Komponenty siec WLAN

Jako komponenty sieci bezprzewodowej możemy wymienić takie jak:

Same punkty dostępowe dzielą się na dwie kategorie: autonomiczne punkty dostępowe oraz bezprzewodowe punkty dostępu oparte na kontrolerze. Autonomiczne punkty to zwykłe urządzenia, które podłączamy do prądu i do sieci następnie konfigurujemy, i to wszystko. W przypadku tej drugiej kategorii, punkty dostępowe można powiedzieć, że służą z nadajniki sygnału radiowego. O większości rzeczy decyduje kontroler, w którym to konfigurujemy całą infrastrukturę. W przypadku autonomicznych punktów, trzebą by te czynności powtórzyć, lub załadować konfigurację. W przypadku kontrolera robimy to raz. W tym również przypadku (kontrolera) konfiguracja może okazać nieco bardziej skonplikowana.

Ostatnim z komponentów są anteny, do wyboru mamy: dookólne - które propagują sygnał w kształcie kuli, kierunkowe - których propagacja jest bardziej skupiona w jednej wiązce sygnału (takie anteny trzeba ustawiać). Ostatnim rodzajem anten są to anteny MIMO - system wielu anten, który stostuje aby zwiększyć przepustowość, tego rodzaju rozwiazania wykorzystywane są w standardaach od 802.11n do ax. W MIMO można używać nawet do 8 anten.

2.11.2. Działanie sieci WLAN

Lokalne sieci bezprzewodowe, podobnie do sieci kablowych mają określone topologie, określane mianem trybu pracy, takimi jak:

Tryb infrastruktury dzieli się na dwa bloki konstrukcyjne. Podstawowy - BSS oraz rozszerzony - ESS. W przypadku BSS jeśli wyjdziemy poza obszar zasiegu naszej sieci bezprzewodowej, wówczas utracimy możliwość komunikacji z innymi jej hostami. Natomiast w przypadku ESS gdzie punkty dostępowe rozgłaszające BSS są połączone ze sobą za pomocą systemu dystrybucyjnego, nie stracimy łączności z hostami naszej macierzystej BSS, mimo opuszczenia obszaru jej działania.

Ramka 802.11 różni się w nagłówku od standardowej ramki Ethernet. Zawiera ona takie pola jak:

Poza nagłówkiem w ramce znajduje się jeszcze pole danych oraz pole sumy kontrolnej (FCS).

Sieci WLAN wykorzystują półdupleksowe medium w postaci kanału częstotliwości radiowej. Przez co nie możliwe jest jednoczene nadawanie i odbieranie danych. Dlatego też w bezprzewodowych sieciach LAN do kontroli dostępu do medium, wykorzystywany jest algorytm CSMA/CA, który jest wariacją algorytmu CSMA/CD, znanego z technologii Ethernet.

Połącznie bezprzewodowe klienta oraz punktu dostępu czy bezprzewodowego routera, nazywane jest skojarzeniem, jest to proces trój-etapowy, w którym to klient musi: wykryć punkt dostępu, uwierzytelnić się przed nim i przypisać (skojarzyć) się pod niego. Aby do tego doszło muszą zgadzać się takie czynniki jak: SSID (nazwa sieci), hasło (bez tego uwierzytelnianie nawet się nie uda), tryb sieci (standardy, chociaż większość standardów jest kompatybilna wstecz), tryb zabezpieczeń (zgodność między stronami z WEP, WPA, WPA2, WPA3), czy ustawienia kanału. Te parametry muszą być ustawione na obu stronach takie same, aby doszło do skojarzenia.

Samo wykrywanie sieci bezprzewodowych może odbywać w dwóch trybach. W trybie pasywnym punkt dostępu wysyła co jakiś czas ramki 802.11, zwane beacon-ami. Zawierają one, nazwe sieci, obsługiwane standardy oraz ustawienia zabezpieczeń. W przypadku drugiego trybu aktywnego, to klient wysyła próbki w przestrzeń w celu znalezienia punktu dostępu rozgłaszającego żądaną przez niego sieć. W takiej próbce wysyła nazwę sieci oraz obsługiwane standardy, wówczas punkt dostępu odpowiemu podobnym komunikatem uzupełnionym o ustawienia zabezpieczeń. Obecnie urządzenia klientów, działają zarówno w jednym jak i w drugim trybie. Wyświetlając dostępne sieci - poprzez tryb pasyny i próbując podłączyć się sieci, z którymi już wcześniej się łączyły - przez tryb aktywny. Tryb aktywnym możemy wymusić pod czas konfiguracji sieci bezprzewodowej, ukrywając jej nazwę.

12.3. Działanie CAPWAP

Do tej pory mówilśmy o autonomicznych punktach dostępowych. To teraz coś o punktach dostępowych zarządzanych przez kontroler.

CAPWAP jest protokołem pozwalającym na zarządzanie wieloma punktami dostepowymi jak i sieciami WLAN. Jest on również odpowiedzialny za enkapsulację i przezywanie ruch klienta między AP oraz WLC. Jest to protokołu otwarty, opracowany przez IEEE.

Ważnym elementem działania CAPWAP jest rodzielenie kontroli dostępu do medium między dwa komponenty: MAC AP oraz MAC WLC.

MAC AP odpowiada za beacon-y oraz odpowiedzi na próbkowanie, przetwarzenie pakietów i retransmisje, kolejkowanie ramek i priorytetyzacje oraz szyfrowanie i deszyfrowanie warstwy MAC.

Natomiast MAC WLC odpowiada za uwierzytelnienie, skojarzenia i ponowne kojarzenie klientów roamingowych, translacji ramek na inne protokoły oraz zakończenie ruchu 802.11 na interfejsie przewodowym.

Możliwe jest dodatkowe zabezpieczenie zarówno danych klientów jak i danych sterujących między WLC a AP, za pomocą protokołu DTLS. Domyślnie ten protokół, jest włączony dla ruchu sterującego, ale dla ruchu danych musi zostać włączony przez adminstratora. Dodatkowo DTLS, gdy ma szyfrować dane użytkowników wymaga licencji, w którą należy się zaopatrzyć przed uruchomieniem tego protokołu na AP. DTLS daje dodatkową warstwę ochrony, gdzie tak naprawdę jej nie ma. Metody zabezpieczeń sieci bezprzewodych tyczą się tylko i wyłącznie odcinka od klient do punktu dostępowego.

Oczywiście możliwe jest kontrolowanie przez WLC, punktów dostępowych w innych sieciach, także w oddziałach firmy przez Intenet. Niestety połączenia internetowe bywają zawodne na co firma Cisco swojego czasu wprowadziła takie rozwiązania jak FlexConnect AP, pozwalają one działanie w dwóch trybach w trybie Autonomicznym i WLC. W zależności od dostępności WLC przez CAPWAP. Jeśli nie będzie miał on połączenia z WLC to wówczas przejmie część obowiazków na siebie, np. przełącznie ruchu danych klienta czy wykonywanie uwierzytelniania.

2.12.4. Zarządzenia kanałem transmisji

Urządzenia korzystające ze sieci bezprzewodowych, są odbiornikami radiowymi dostrojonymi do określonej częstotliwości. Częstotliwości za przypisywane w zakresach, nazwanych kanałami. Gdy dany kanał jest zbyt intensywnie wykorzystywany wówczas staje się kanałem przesyconym, co pogarsza warunki transmisyjne. Przez lata opracowano kilka technik pozwalających zmniejszyć przesycenie kanałów w sieci bezprzewodowych wykorzystuje się trzy z nich: DSSS, FHSS (bluetooth) oraz OFDM, który jest wykorzystywane przez obecnie stosowane standardy sieci bezprzewodowych. Najnowszy standard wykorzystuję odmianę OFDM - OFDMA.

W wiekszości standandardów sieci WLAN wykorzystujących częstotliwość 2,4 GHz mają do dyspozycji 11 kanałów (dla Ameryki Północnej), 13 (dla Europy), oraz 14 (dla Japonii) w zależności od położenia geograficznego sieci. Było by wszystko w porządku gdyby nie fakt, że każdy kanał ma przydzielone pasmo 22 MHz i kanały odzielone są od siebie o 5 MHz. Co oznacza, że one nakładają się na siebie, w praktyce jeśli sieci, które punkty dostępowe rozgłaszają sieci z ustawionymi kanałami zbyt blisko siebie to mogą się one wzajemnie zakłócać. Dlatego też konfigurując ten parameter, warto wiedzieć o tym że tylko częstotliwość co cztery kanały, tj. 1, 6 i 11, nie będą się na siebie na kładać.

Nieco inaczej jest w przypadku częstotliwości 5 GHz. Tutaj są 24 kanały oddzielone od siebie o 20 MHz. Mimo, że występują drobe nałożenia, to kanały nie bedą się zakłócać. W przypadku tej częstotliwości kanały numerowane są od 36 co 4 do 64, następnie do 100 do 140, ostatnią grupą jest są kanały od 149 do 161 i co dwa kanały występuję kanał, którego częstotliwość nie będzie wchodzić w częstotliwość innego kanału.

Chcąc wdrożyć sieć WLAN, w firmie należy wziąć pod uwagę takie czynniki jak: dobre rozgłaszanie sygnału (najlepiej na środku biura), potencjalne źródła zakółceń czy umiejscowienie punktów dostępowych (powinny znajdować się tam gdzie zazywczaj będą klienci).

2.12.5. Zagrożenia w sieciach WLAN

Sieci bezprzewodowe niosą ze sobą oczywiście wiele zagrożeń. Pierwszą taką obawą jest fakt, że do takiej sieci może podłączyć się każdy, ponieważ nie możemy okiełznać fal radiowych - zamykając je w jednym pomieszczeniu (oczywiście tych, z których korzystamy na codzień). Mając odpowiedni sprzęt możemy próbować się podłączyć do sieci będącej dość głęboko w budynku. Te warunki fizyczne niosą ze sobą kilka zagrożeń takich jak:

Ataki DoS w sieciach WLAN mogą wynikiem: nierprawidłowej konfiguracji urządzeń - urządzenia mogły zostać źle skonfigurowane przypadkowo lub celowo przez intruza, przez co prawowici użytkownicy nie mogą korzystać z połączeń bezprzewodowych; Intruzi mogą celowo ingerować w komunikację poprzez zakłócenie, wyłączenie sieci lub podstawienie punktu dostępowego, które nie zapewni odpowiedniej komunikacji z innymi hostami czy zasobami sieci. Taki atak DoS, może też zostać wywołany przez nas samych prze nieuwagę, wystarczy gdzieś między hostem a punktem dostępowym ustawić źródło zakłóceń. W przypadku 5 GHz, to ta częstotliwość jest bardziej odporna na zakłócenia, ponieważ w naszym otoczenie nie znajduje się wiele urządzeń, które mogły by emitować tą częstotliwość.

Obce punkty dostępowe mogą być umieszczane na obszarze sieci z dwóch różnych pobudek. Pierwszą z nich jest przeprowadzenie ataku Man in the Middle, w celu przechwycenia informacji użytkowników sieci bezprzewodowych lub celu odłączenia go od zasobów sieci. Jedną z metod ochrony, jest skanowanie częstotliwości w celu w celu wykrycia takich podstawionych urządzeń. Inną metodą jest skonfigurowanie nie słabszego niż WPA2 AES (będzie o tym w następnym podrozdziale) trybu uwierzytelniania.

O ataku Man in the Middle wpominaliśmy podczas omawiania obecego punktu dostępu. Atak tego typu polega na ustawieniu się atakującego w roli pośrednika, w celu przechwycenia informacji wysyłanych i odbieranych przez innych użytkowników sieci. Czasami do przeprowadzenia takiego ataku wystarczy odpowiednie warunki sieciowe oraz odpowiednia antena, warunki sieciowe i oprogramowanie.

2.12.6. Zabezpieczanie sieci WLAN

Metod na zabezpieczenie sieci WLAN jest kilka. Możemy zaczać od tego, że wymusimy na klientach tryb aktywny, po przez ukrycie SSID oraz dodamy do odpowiedniej listy adresy MAC urządzeń, które faktycznie mają łączyć się z tą siecią. Jednak zabepieczenia tego typu to tylko protezy, jeśli nie mamy zaimplementowanych metod uwierzytelniania.

Metody uwierzytelniania możemy wydzielić dwie, pierwszą z nich jest uwierzytelnianie systemu otwartego, ta metoda to tak naprawdę jego brak. Klikamy nazwę sieci i jesteśmy podłączeni. Obecnie nawet publicznie dostępne sieci, rezygnują z tego rozwiązania na rzecz udostępionego publicznie klucza współdzielnego (tzw. hasła do WiFi). Drugą metodą powszechnie stosowaną jest użycie klucza współdzielonego, metoda ta wymaga znajomości tego klucza, przez klienta. Ta metoda poza uwierzytelnieniem zapewnia szyfrowanie transmisji danych między klientem a punktem dostepu.

Metoda uwierzytelniania z użyciem klucza posiada klika wykorzystywanych w sieciach technik, takich jak: WEP, WPA, WPA2, WPA3.

Chcąc skonfigurować metodę uwierzytelnia na domowym routerze możemy spotkać się z różnymi technikami, takimi jakie wpisałem powyżej, natomiast w przypadku WPA oraz WPA2, będzie mieć do czynienia z:

Po wybraniu techniki uwierzytelniania, pozostanie nam wybór metody szyfrowania. Do wyboru będziemy mieć dwie opcje:

Konfiguracja technik uwierzytelniania w klasie Enterprise wymaga podania metody szyfrowania, adresu IP serwera RADIUS, portu serwera - zazwyczaj: UDP/1812, UDP/1645 oraz wspólnego klucza. Dzięki niemu punkt dostępowy uwierzytelni się na serwerze RADIUS.

WPA3 jest nowy standardem bezpieczeństwa w sieciach bezprzewodowych. Standard WPA2 nie może już zostać uznany za bezpieczny. Tryb personalnego WPA3 udaremnia ataki siłowe, dla trybu Enterprise eliminuje mieszanie protokołów bezpieczeństwa z poprzednich standardów 802.11. WPA3 pozwala na szyfrowane sieci otwartych, w których nie podaje się żadnych haseł, a przesłanie danych między klietem a AP nadal jest bezpieczne. WPA3 poprawia uwierzytelnianie wśród składników internetu rzeczy, eliminując potrzebę działania niebezpiecznego mechanizmu WPS.

Podsumowanie

W tym rozdziale zapoznaliśmy z działaniem sieci bezprzewodowych poznaliśmy ich rodzaje, które występują wokół nas, ich topologie, z których korzystamy na co dzień w domu, w szkole czy w pracy. Dowiedziliśmy się w jaki sposób sieci bezprzewodowe, wykorzystują przekazaną im częstotliwość radiową. Na koniec poznaliśmy zagrożenia na jakie możemy się natknąć podczas konfiguracji, administracji czy też korzystania z takich sieci, jednak dowiedziliśmy się jak można się przed nimi uchronić, jakie metody uwierzytelniania wybrać oraz jakie je skonfigurować.

2.13. Konfiguracja siec WLAN

Bezprzewodowe punkty mogą dzielić się na dwie kategorię. Pierwszą z nich są autonomiczne punkty dostepowe, które podłącza się do prądu, do sieci i konfiguruje. Jeśli ma być więcej niż jeden to trzeba te czynności wykonać, dla każdego urządzenia z osobna. Taka konfiguracja jest przewidziana średniej wielkości firmy. W przypadku domu lub małego biura raczej wystarczy router bezprzewodowy.

Ze względu, że zakres materiału obejmuje konfiguracje sieci bezprzewodowej, to skupimy się na podstawowej konfiguracji takiego urządzenia.

Na początek musimy zalogować na routerze do panelu pozwalającego na konfigurację. Większość urządzeń domowych pozwala na dostęp do panelu administracyjnego z poziomu przeglądarki internetowej. Dane dostępowe mogą znajdować, albo na spodzie urządzenia na naklejce lub w instrukcji do niego dołączonej.

Następną czynnością jest zmiana domyślnego hasła administratora urządzenia. Tym przypadku klikamy zakładkę Administration, następnie w sekcji Router Access podajemy nowe hasło dwa razy w celu potwierdzenia. Zapisujemy ustawienia przy użyciu przycisku Save Settings. Urządzenie wyloguje nas i poprosi o zalogowanie się nowym hasłem.

Po wykonaniu tej czynności, wypadało by ustawić jakiś adres IP dla naszej sieci LAN. Przy czym tutaj należy pamiętać o tym, aby również zaktualizować adresy IP w konfiguracji serwera DHCP. W zakładce Setup, w sekcji Router IP ustawiamy adres dla naszej sieci oraz wybieramy maskę. W sekcji DHCP Server Settings początęk puli w opcji Start IP Address oraz jej koniec Maximum number of Users. Na końcu zapisujemy ustawienia. Router prawdopodobnie uruchomi się ponownie, po chwili uzyskamy adres IP z nowej sieci i będziemy mogli ponownie się na niego zalogować.

Po zmianie tych podstawowych ustawień możemy przjeść do konfiguracji sieci bezprzewodowej. Ustawienia sieci bezprzewodowej znajdują się zakładce Wireless. Na początku w opcji Network Mode: możemy wybrać tryb sieci. Jeśli taka sieć miała by obsługiwać stare urządzeń to wypadałoby wybrać opcję Legacy, ale tryb mieszany (Auto), jest również poprawnym ustawieniem.

Następną konfigurajcą jest zmiana SSID, na taki jaki odpowiada naszym preferencjom, SSID powinień pozwolić nam rozpoznać sieć. SSID konfigurujemy w opcji Network Name (SSID):

Następnie wybieramy dla naszej sieci kanał, warto wspomnieć, że w przypadku częstotliwości 2,4 GHz mamy do wyboru tylko 3 kanały. W celu sprawdzenia kanałów na których działają sieci w naszym otoczeniu, mozemy wykorzystać specjalne oprogramowanie na dystrybucje Linuksa, w tym Kali Linux lub na smartfon z systemem Android.

Kanał ustawiamy za pomocą opcji Standard Channel.

Pod zakładką Wireless znajdują się podzakładki. Jedną z nich jest Wireless Security, w niej będziemy ustawiać opcje bezpieczeństwa sieci bezprzewodowej. Na początku musimy przestawić opcje Security Mode z Disabled na WPA2 Personal.

Po zmianie trybu, ukaże na się więcej opcji takich jak wybór metody szyfrowania czy pole gdzie możemy zdefiniować hasło klucza współdzielonego. Metoda szyfrowania, jest akurat domyślnie ustawiona dobra, więc jej zmieniać nie trzeba, ale hasło klucza należy ustawić. W polu Passphrase:

W ten sposób skonfigurowaliśmy router bezprzewodowy do działania na nie wielkim obszarze. No właśnie, zasięg takiego urządzenia może wachać się od 5 do 10 metrów w obszarze silnie zabudowanym. Dlatego też aby wzmocnić sygnał można zastosować punkty dostępowe, które bedą działać w trybie kratowym. Na podobnej zasadzie działają również wzmaczniacze sygnału.

Routery domowe aby zapenić dostęp do Internetu hostom sieci lokalnej, realizują funkcję NAT-u. Translację adresów źródłowych w pakietach wychodzących i adresów docelowych w pakietach przychodzących. Funkcja NAT-u realizowana jest przez firewall. Firewall jest też odpowiedzialny za inną funkcjonalność, taką jak jest przekierowanie portów. Ma ona na celu zapewnienie dostępu do hostów w sieci wewnętrzne (np. serwerów i ich usług) z zewnątrz. Do poprawnego działania taka funkcjonalość wymaga przydzielenia od usługodawcy stałego adresu IP, co może być dostępne wyłącznie dla klientów biznesowych. Ta funkcja działa na takiej zasadzie, że wewnętrzny port usługi wraz z IP hostującego komputera przypisuje się do zewnętrznego adresu IP do wybranego portu. Porty mogą być powiązane 1:1, tj. port wewnętrzny może mieć taką samą wartość jak port zewnętrzny.

Zadanie praktyczne - Packer Tracer

Konfiguracja sieci bezprzewodowej - scenariusz
Konfiguracja sieci bezprzewodowej - zadanie

Laboratorium

Konfiguracja sieci bezprzewodowej

2.13.1. Konfiguracja podstawowej sieci WLAN w sieci WLC

Po omówieniu autonomicznych punktów dostępowych przyszedł czas na WLC. Dostęp do kontrolera otrzymuje w takim sam sposób jak do routera bezprzewodowego. Przyczym kontrolery mogą mieć domyślnie ustawiony adres IP, a nawet skonfigurowany serwer DHCP. Dlatego też na początku warto podłączyć go do swojego komputera. Po wpisaniu adresu naszym oczom ukaże się taka o to strona. Na której musimy zdefiniować domyślnego użytkownika oraz nadać mu odpowiednie hasło. Hasło musi składać z min. 6 znaków, z jednej wielkiej litery i jednej cyfry.

Następnie urządzenie przeprowadzi nas przez wstępną konfigurację. W niej ustawimy nazwę systemową, kraj, datę i godzinę, strefę czasową, opcjonalnie serwer NTP. W drugiej części ustawimy konfigurację IP interfejsu zarządzania.

W drugiej części konfiguracji musimy zdefiniować chociaż jedną z sieci, a więc podajemy Network Name (SSID), wybieramy tryb uwierzytelniania (zostawiamy domyślnie, jest dobry), następnie hasło. Ustawienie zaawansowane może zostawić domyślnie.

W następnym oknie zostanie nam wyświetlone podsumowanie konfiguracji i musimy je potwierdzić za pomocą przycisku Apply

Po zapisaniu ustawień urządzenie zostanie uruchomione ponownie. Po pewnym czasie może nic się nie dziać, należy wówczas zamknąc przeglądarkę i wpisać adres ponownie. Zapewne uzyskamy odpowiedź Server Reset Connection, wówczas trzeba zmienić w adres z http na https. Naszym oczom ukaże się taka o strona.

Klikamy zielony przycisk Login, pojawi się okienko do logowania. Wpisujemy login oraz hasło, następnie klikamy Login. Po zalogowaniu ukaże na się taka o to strona.

Domyślną stroną startową jest podsumowanie, zawiera ona informacje zbiorcze na temat samego kontrolera, punktów dostępowych, klientów, wykrytych fałszywych elementów takich jak punkty dostępowe czy klienci. To podsumowanie zawiera również informacje o najczęściej wykorzystywanych sieciach WLAN oraz kilka dodatkowych informacji.

Chcąc skonfigurować sieć bezprzewodową należy kliknąć, zakładkę WLANs, następnie, po prawej stronie znajduje się lista rozwijalna w niej jeden element Create New, klikamy przycisk Go.

Podajemy nazwę profilu oraz SSID i klikamy przycisk Apply.

Po zatwierdzeniu zostanie przeniesieni w tryb edycji. W zakładce General zaznaczamy w Status, Enabled.

Następnie w zakładce Security, z listy Layer 2 Security, wybieramy WPA+WPA2, po wybraniu tego trybu zostaną nam wyświetlone dodatkowe opcje. W sekcji WPA+WPA2 Parameters, zaznaczamy WPA2 Policy, automatycznie zostanie wybrane WPA2 Encryption z domyślnie zaznaczonym AES. W sekcji Authentication Key Management zaznaczamy PSK i w polu PSK Format hasło klucza współdzielonego, zapisujemy konfigurację wpisując przycisk Apply

Jak możemy zobaczyć na zrzucie poniżej, punkt dostępu podłączony do przełącznika zaczyna rozsyłać tą sieć skonfigurowaną na kontrolerze.

Niestety w przypadku PT, aplikacja PC Wireless działa tylko dla starszej karty. A laptop musi mieć kartę AC aby móc się z tą siecią połączyć.

2.13.2. Konfiguracja sieci WLAN WPA2 Enterprise w sieci WLC

Chcąc stosować bezprzewodowe punkty dostępowe na firmie wypadało by rozszerzyć funkcjonalność takiej sieci o uwierzytelniania korporacyjne oparte na serwerze RADIUS oraz protokoł monitorowania sieci SNMP.

Konfiguracja SNMP na kontrolerze będzie przekazywać komunikaty diagostyczne, zwane traps do serwera SNMP. Wskazanie adresu serwera SNMP na WLC ma miejsce w zakładce Management, następnie z menu po lewej stronie rozwijamy SNMP i wybieramy opcję Trap Receivers, następnie klikamy przycisk New....

Dodając odbiornik komunikatów diagnostycznych (serwer SNMP), podajemy jego nazwę (Community Name) oraz adres IP. Zatwierdzamy zamiany, przyciskiem Apply Tak jak na poniższym zrzucie.

Konfigurację uwierzytelniania na bazie serwera RADIUS rozpoczynamy od dodania serwera do konfiguracji WLC. W zakładce Security, z menu po lewej stronie wybieramy kolejno: AAA, RADIUS oraz Authentication. Nowy serwer dodajemy poprzez kliknięcie przycisku New....

Chcąc dodać serwer RADIUS do konfiguracji WLC, podajemy adres IP serwera następnie klucz współdzielony, którym WLC będzie uwierzytelniać się wobec serwera RADIUS. Jeśli nasz serwer RADIUS działa na innym porcie, to go również należy ustawić.

Teraz pozostaje nam tylko utworzyć nową sieć WLAN, i zakładce Security, Layer 2, w sekcji Authentication Key Management zamiast PSK zaznaczamy 802.1X. Następnie w zakładce AAA Servers, w sekcji Radius Servers, w kolumnie Authentication Servers, przy Server 1 wybieramy zdefiniowany wcześniej przez nas serwer RADIUS. Tak skonfigurowaną sieć możemy włączyć i spróbować się z nią połączyć.

W taki sposób wygląda bowiem podłączenie do sieci WLAN z uwierzytelnianiem Enterprise.

Zadanie praktyczne - Packet Tracer

Konfiguracja podstawowej sieci WLAN w WLC - scenariusz
Konfiguracja podstawowej sieci WLAN w WLC - zadanie Konfiguracja sieci WLAN WPA2 Enterprise na WLC - scenariusz
Konfiguracja sieci WLAN WPA2 Enterprise na WLC - zadanie

2.13.3. Rozwiązaywanie problemów z siecią WLAN

Podczas administracji siecią WLAN, możemy spotkać się z problemem związanym ze skojarzeniem klienta z punktem dostępowym. Przyczyną takiego działania może być słaby zasięg, ale również ingerencja w ustawienia karty przez użytkownika. Warto również sprawdzić czy pomiędzy klientem a punktem nie ma żadnych źródeł zakłóceń. Często też przyczyną tego problemu jest źle wpisane hasło.

Jeśli nasza sieć ma słabą wydajność to wówczas można pomyśleć nad wymianą urządzęń sieciowych na wyższy standard oraz o podzieleniu i priorytetyzacji ruchu. Można wówczas wykorzystać sieci 5GHz do ruchu, który naprawdę wymaga przepustowości, taki jak streaming wideo. Resztę ruchu można pozostać na częstotliwości 2,4GHz.

Ważne są również aktualizacje oprogramowania układowego punktów dostępowych czy kontrolera. Mogą one rozszerzać funkcjonalność tych urządzeń ale wprowadzać poprawki zarówno dla wydajności jak i bezpieczeństwa samych urządzeń oraz transmisji między nimi a klientami.

Zadanie praktyczne - Packet Tracer

Rozwiązywanie problemów z siecią WLAN - scenariusz
Rozwiązywanie problemów z siecią WLAN - zadanie

Podsumowanie

W tym rodziałe dowiedzieliśmy się w jaki sposób skonfigurować sieci WLAN, oparte zarówno na autonomicznych punktach dostępowych jak tych opartych o kontroler WLC. Konfigurowaliśmy również sieci dla standard korporacyjny uwierzytelniania, na koniec poznaliśmy kilka metod rozwiązywania problemów związanych z siecia WLAN i połączeniem się z nimi.

2.14. Koncepcje routingu

Routery z założenia nie są wcale skomplikowanymi urządzeniami. Dla użytkowników małych firmy lub użytkowników domowych przygotowano specjalne urządzenia zwane routerem bezprzewodowym, który unifikuje w sobie kilka urządzeń sieciowych, takich jak: router, switch, firewall oraz punkt dostępowy. Jednak zastosowanie takich urządzeń jest mało skalowalne, dlatego też w przypadku zastosowań firmowych będziemy raczej spotykać się z osobnymi urządzeniami.

Routery mają dwa zadania:

  1. Określenie nalepszej scieżki do punktu docelowego dla pakietu
  2. Przekazanie pakietu w stronę celu

Routery przechowują informacje o tym gdzie wysłać pakiet aby trafił on do celu w tablicy routingu. Elementami, które zawierają wpisy są między innymi adres sieci docelowej, jej maska - zapisana w notacji CIDR lub przy użyciu wartości dziesiętnej adresu IP, oraz adres kolejnego skoku - interfejsu następnego routera na ścieżce prowadzącej do sieci docelowej. Router chcąc określić trasę dla pakietu, przypasowuje adres docelowy do informacji zapisanych we wpisach tabeli, dokonuje tego po przez porównanie binarnych reprezentacji adresów IP ropoczynając jest od lewej strony. Jako przykład weźmy adres 172.16.0.100, w tablicy występuje wpis 172.16.0.0/24 via 172.16.0.254, więc:

/24 = 255.255.255.0

172.16.0.100
255.255.255.0
172.16.0.0

10101100.00010000.00000000.01100100
11111111.11111111.11111111.00000000
10101100.00010000.00000000.00000000

Określenie najlepszej trasy jest jednocześnie najdłuższym dopasowaniem. Oznacza to, że router dokona wyboru trasy na podstawie długości maski sieci docelowej, więc jeśli będziemy mieć adres docelowy pasujący do wielu ścieżek, to ostatecznie zostanie wybrana ta o najdłuższej masce.

Adres docelowy = 172.16.0.100

Wpis1 = 172.16.0.0/12
Wpis2 = 172.16.0.0/16
Wpis3 = 172.16.0.0/24

Jako trasę docelową router wybierze Wpis3.

Podobnie jest w przypadku IPv6, tutaj również zostanie wybrana sieć z najdłuższym prefiksem.

2.14.1. Przekazywanie pakietów

Przekazywanie pakietów może odbyć się na trzy różne sposoby.

Ataki dostępu służą wykorzystaniu podatności w funkcjach uwierzytelniania w celu uzyskania dostępu do kont czy to na portalach internetowych czy to do zasobów plikowych. Jednym z najcześciej stosowanych ataków jest atak na hasło stosowany w celu poznania krytycznych dla systemów haseł, tego rodzaju ataków dokonuje się poprzez programy do łamania haseł. Innym rodzajem ataków dostępu są ataki fałszowania, przeprowadzane w celu podszycia pod inne urządzenie i pozostania jak najdłużej niezauważonym, do tego rodzaju ataków możemy przypisać dobrze znane nam man-in-the-middle, wykorzystanie zaufania, przekierowanie portów czy przepełnienie bufora.

Przeprowadzenie ataków na hasła jest czaschonne i często nie przynosi skutków. Obecnie często nie ma sensu się tym zajmować przejmować ponieważ to często użytkownicy podają swoje dane logowania jak na tacy. Atakujący zazawyczaj posługują się wówczas socjotechnikami - są techniki manipulacyjne pozwalające na wprowadzenie, kogoś w błąd, aby móc wyłudzić od niego poufne informacje.

Jednym z takich metod jest phising - najprościej rzecz ujmując próba wyłudzenia informacji, po przez podanie fałszywego linku, z identyczną stroną logowania do jednego z serwisów. Strona tego typu różni się drobnymi szczególami, na które na codzień nie zwracamy uwagi, np. literówką w adresie strony. Ta strona moze kolekcjonować wpisane dane i przekazać je podmiotowi zagrożenia. Dlatego trzeb mieć się na baczności i zastanowić się dwa razy klikając w link dodany do dziwnej wiadomości e-mail. Ciekawym narzędziem w tym przypadu jest SET Social-Engineering Toolkit, pozwalający na przygotowanie ataków phishingowych w celu przetestowania własnych użytkowników.

Ataki DoS, inaczej ataki odmowy usługi polegają one na zalaniu serwera żądaniami dostępu do zasobu o bardzo dużej częstotliwości. Ten atak ma na celu pozbawienie dostępu do usługi prawowitym użytkownikom. Takie ataki są dość trudne w zapobieganiu, ponieważ w jaki sposób oddzielić taki atak od wzmożonej aktywności użytkowników? Tego typu ataki są często wykorzystywane przez haktywistów, manifestując tym samym społeczne nieposłuszeństwo. Takie ataki są rownież banalne do przeprowadzenia, ponieważ sposób ich przeprowadzania nie skupia się na jakości a na ilości, najcześciej standardowych żądań. Jeśli taki atak pochodzi z jednego adresu IP, to wówczas mamy doczynienia z atakiem DoS, ale jeśli zapytania przychodzą z różnych hostów to mówimy o wersji rozproszonej - DDoS.

3.3.6. Podatności i zagrożenia IP

Obecnie stosowane protokoły sieciowe nie były konstruowane z myślą o bezpieczeństwie, ponieważ wówczas bardziej kładziono nacisk na swobodę komunikacji. Dlatego też w protokołach IP możemy dowolnie manipulować polami nagłówków pakietów. Do najbardziej powszechnych ataków związanych z adresami IP możemy wymienić:

3.3.7. Podatności TCP i UDP

Podaności protokołów warstwy czwartej polegają na daniu możliwości zalania wybranego serwera - w przypadku protokołu TCP pakietami z ustawionym bitem kontrolnym SYN, lub datagramami w przypadku protokołu UDP. Wówczas jest taki komputer nie jest wstanie przetwarzać żądań uprawnionych do korzystania z niego, użytkowników. W przypadku protokołu TCP, dość kłopotliwe mogą być inne flagi czy też bity kontrolne, za pomocą pakietu z ustawionym bitem kontrolnym Fin oraz sfałszowanym adresem źródłowym możemy zresetować lub zakończyć połaczenie TCP, co może zaburzać zwykłym uzytkownikom korzystanie z usług. Innym rodzajem ataku opartego na TCP jest przjęcie sesji TCP, poprzez zdobycie pakietu źródłowego oraz odgadnięcie numeru sekewencji. UDP można wykorzystać podbnie jak TCP do zalewania hostów. Ze w zględu, że UDP nie ustala żadnego połączenia, serwer może podejść do sprawy w dwojaki sposób albo zignorować albo wysłać odpowiedź o nieosiągalnym porcie przez protokoł ICMP.

3.3.8. Usługi IP

Pierwszą usługą, która jest związana z IP i może powodować przykre skutki, jeśli zostanie wykorzystana w niecnym celu jest protokół ARP. Dzięki zatruwaniu ARP, podmiot zagrożenia może fałszować odwzrowania adresów IP na adresy MAC, co pozwoli na przkierowanie ruchu np. przez swój komputer, co daje nam man-in-the-middle. Co najciekawsze, protokół ARP przewiduje tzw. pakiet gratisowy, który wręcz wymusza aktualizację wpisu pamięci podręcznej ARP hosta. Do narzędzi pozwalających na tego typu ataki możemy zaliczyć takie programy jak dsnif, Cain&Abel czy ettercap.

System DNS pozwala nam na posługiwanie się w Internecie przyjaznymi nazwami, dzięki czemu wpisujemy morketsmerke.org a nie adresy IP. System DNS jest bardzo ważną częścią obecnych sieci, a bywa zaniedbany jeśli chodzi o funkcje bezpieczeństwa. Ataki na DNS, lub te z jego wykryciem, możemy podzielić na kilka kategorii.

Ostatnim rodzajem usług IP jakie mogą być podatne na ataki jest serwer DHCP. Są to albo ataki DoS w postaci zagłodzenia, lub fałszowania, gdzie do manipulacji wykorzystuje się takie parametry jak sam adres IP, żeby pozbawić użytkownika dostępu do sieci lub adres bramy oraz adresy serwerów DNS, aby przekierować ruch.

Laboratorium

Eksploracja ruchu DNS

3.3.9. Najlepsze praktyki bezpieczeństwa sieci

Chcąc dobrze zabezpieczyć naszą sieć musimy poznać nie tyle techniki jak się bronić prze konkretnymi atakami, ale musimy wypracować w nas czy użytkownikach naszej sieci pewne schematy działania, aby zapobiec powstawaniu głupich błędów. Trzeba sobie również uświadomić jedną rzeczy, że przed nie którymi atakami nie będzie możliwa ochrona, u innych uda nam się zminimalizować skutek wykorzystania podaności, a przed nie którymi nie uda nam się zabezpieczyć w ogóle. Ten temat jest poświęcony zapoznaniu się dobrymi przedsięwzięciami w celu ochrony naszej sieci.

W wielu organiazacjach stosuje się takie podejście do bezpieczeństwa jaką jest triada PID lub trójkąt CIA. Ta koncepcja składa się z trzech pojęć:

Inną praktyką jest dogłebne podejście do ochrony. Polega ono na podziale infrastruktury na warstwy, przy wykorzystaniu wielu urządzeń współpracujących między sobą, między innymi: tuneli VPN, inteligentych zapór sieciowych, systemów zapobiegania/wykrywania włamań, filtrów treści oraz systemów uwierzytelniania. Część z tych rozwiązań będzie fizycznymi urządzeniami, a część z nich usługami gdzieś na serwerach, należy wówczas pamiętać aby dołożyć wszelkich starać aby zabezpieczyć te komponenty, to samo tyczy się transmisji danych.

Zapory sieciowy to podstawowy mechanizm obronny, zaporę najczęściej ustawia się w punkcie styku sieci. Chroni ona hosty sieci lokalnej przed zagrożeniami z zewnątrz. Ważna jest dobra konfiguracja zapory, przeciwnym wypadku może być ona jednym wielki punktem awarii. Zapora odfiltrowuje na podstawie zestawu reguł nieporządany ruch, dopuszczając tylko ten potencjalnie bezpieczny. Jednak nie jest to rozwiązanie bez wad. Techniki tunelowania oraz inne metody ukrywające potrafią oszukać zaporę.

Technologie IDS/IPS są wyposażone w sensory, które na podstawie wzorców (sygnatur), potrafią wyłapywać typowe ataki sieciowe i gromadzić na ich temat informacje, które są potem przekazywane do administratora. Sygnaturą może być nawet pojedynczy pakiet lub niewieki fragment ich strumienia.

Filtry treści, możemy podzielić np. na podstawie protokółów są filtry zająmujące się samą pocztą elektroniczą i będące przekaźnikiem wiadmości i przy okazji skanującym je podkątem zagrożenia i ewentualnego odrzucenia. Firma Cisco posiada takie rozwiązanie i nazywa się ESA. Innym rodzajem filtru jest filtrowanie stron internetowych, ale i nie tylko bo za pomocą rozwiązań tego typu możemy decydować do czego użytkownik może mieć dostęp w Internecie w czasie pracy. Możemy tworzyć listy stron zablokowanych, filtrować ruch aplikacji internetowych, a nawet zaglądać do transmisji szyfrowanych, rozwiązaniem tego typu Cisco jest - WSA.

3.3.10. Kryptografia

Wykorzystując standardowe wersje protokołów sieciowych, treść ich komunikatów jest przesyłana w sposób jawny. Pozwala on bezproblemowe odczytanie ich treści. W sieci zaufanej nie stanowi to bowiem problemu, gorzej jest w przypadku kiedy trzeba informacje poza nią. Dawniej nikt nie przykładał do tego zbytniej uwagi, jednak czasy się zmieniły i już na pewno wiemy, że nie możemy ufać nikomu po drugiej stronie routera lub zapory i w przypadku komunikacji sieciowej możemy skorzystać z bezpiecznych wersji protokołów (szyfrowanych) lub z samych elementów kryptografii, zabezpieczejąc transmisje protokołu nie posiadającego bezpieczenej wersji przy użyciu dodatkowego tunelu.

W celu zabezpieczenie komunikacji wymagane są cztery elementy takie jak:

Sprawdzenie integralności danych, polega obliczeniu tzw. skrótu z podanej wiadomości przez obie strony komunikacji. Jeśli skrót jest taki sam po obu stronach ozaczna to tyle, że nie doszło do żadnej ingerencji z zewnątrz w wiadomość. Do obliczania skrótów używa się specjalnych funkcji skrótu.

Obecnie w kryptografi stosowane są trzy funkcje skrótu:

Funkcje skrótu są w stanie ochronić nas przed przypadkowymi zmianami, ale nie jeśli zmiany są celowe, wówczas podmiot zagrożeń może wygenerować nowy skrót dla zmienionych pakietów i przedstawić go jako skrót nadawcy.

Wyżej wymieniona wada była dość dużym problemem, z którym poradzono sobie dodając uwierzytelnienie do zapewnienia integralności za pomocą protokołu HMAC. Działanie tego algorytmu opera się uzupełenienie danych wejściowch do funkcji skrótu, o znanym przez strony tajny klucz. Wówczas atakujący nie będzie mógł ingerować w komunikację, ponieważ jego skróty generowane funkcję nie bedą posiadać znanego klucza i przy sprawdzaniu takie dane zostaną odrzucone.

Wyżej wymienione metody zapewniają integralność czy wiarygodność przesyłanych komunikatów, ale ich treść jest nadal dostęna dla osób postronnych. Kryptografia zapewnia nam dwa rodzaje szyfrowania.

Szyfrowanie symetryczne - algorytmy wykorzystujące ten sam klucz do szyfrowania i odszyfrowywania informacji, klucze są krótkie zazwyczaj mają długość od 40 do 256-bitów. Algorytmy te są szybsze od algorytmów szyfrowania asymetrycznego. Szyfrowanie tego rodzaju służy do zabezpieczenia masowych danych takich jak tunele VPN. Do tego rodzaju szyfrowania możemy przypisać takie algorymy jak: DES, 3DES, AES, SEAL, RC.

Szyfrowanie asymetryczne - algorytmy wykorzystują różne klucze do szyfrowania i deszyfrowania wiadomości. Klucze są długie od 512 do 4096-bitów. Przez długie klucze wydłuża sie sam proces szyfrowania, przez co te algorymy są wolniejsze. Służą do zabezpieczenia szybkich pojednycznych transakcji danych, takich jak połączenia HTTPS. Do tego rodzaju szyfrowania, możemy przypisać takie algorytmy jak: DH, DSS i DSA, RSA, EiGamal, Techniki krzywej eliptycznej.

Techniki szyfrowania są powszechne wśród bezpieczenych protokołów, nie które z nich wykorzystują jeden lub drugi rodzaj, nie które oba, wykorzystując jednen do jednej czynności drugi do kolejnej. Takimi protokołami są: IKE (podstawowy składnik sieci IPSec VPN), TLS (standard bezpieczeństwa komunikacji w sieciach), SSH czy PGP (zapewniające prywatną i poufną korespodencję elektroniczną z wykorzystaniem technik kryptografi).

Ciekawym algorymem kryptograficznym jest algorytm Diffie-Hellman, którego działanie opiera się na wygenerowaniu tego samego tajnego klucza po przez wymianę tak szczątkowych informacji, że nie które źródła podają że hosty ze sobą w ogóle się nie komunikują. Klucze tego algorytmu stosowane są przez IPSec (rodzaj sieci VPN), TLS czy wymianie danych SSH. Powszechną praktyką jest stosowanie algorytmu DH (Diffie-Hellman), do generowania klucza współdzielonego algorytmów symetrycznych jak 3DES czy AES.

Podsumowanie

Ten rodział przedstawił nam kompleksową wiedzę na temat zagrożeń bezpieczeństwa sieciowego, poznaliśmy rodzaje hakerów, ich narzędzia, rodzje złośliwego oprogramowania, typowe ataki sieciowe. Podatności protokołów sieciowych IP, TCP i UDP czy usług IP. Na koniec poznaliśmy najlepsze praktyki bezpieczeństwa oraz podstawy kryptografii.

3.4. Koncepcje ACL

ACL, czyli listy kontroli dostępu do seria poleceń IOS służąca do filtrowania ruchu. Filtrowanie ruchu odbywa się na podobnej zasadzie do routingu. Informacje z nagłówków są konfrontowane z kryteriami reguł ACL i na podstawie najlepszego dopasowania, ruch może zostać albo przepuszczony dalej albo zablokowany. Listy składają się z sekwencyjnych instrukcji zezwolenia albo odmowy te reguły są nazywane ACE - wpisami listy kontroli.

Poniżej znajduje się lista zadań, które mogą zostać wykonane za pomocą ACL:

Filtrowanie pakietów może wystąpić w warstwie 3 lub w 4, w zalezności od zastosowanych przez nas list kontroli dostępu. Routery Cisco obsługują dwa rodzaje list ACL:

Dla ACL ważny jest również kierunek przesyłanie pakietu. Każdy interfejs mimo, że transmisja odbywa się w dwóch kierunkach naraz to możemy określić czy dana transmisja pakietów opuszcza interfejs lub przez niego wchodzi. I to niezależnie od sieci, bowiem każdy z interfejsów przesyła ruch w obu kierunkach, a my możemy nałożyć po jednej z list każdy z kierunków.

Listy muszą mieć chociaż jedną wpis zezwolenia, w przeciwnym razie wszelki ruch zostanie odrzucony z powoduje niejawnego wpisu odrzucania całego ruchu. Każda z list posiada taką niejawną regułę.

Zadanie praktyczne - Packet Tracer

Demonstracja działania listy ACL - scenariusz
Demonstracja działania listy ACL - zadanie

3.4.2. Maska blankietowa w listach ACL

ACL używają w regułach masek blankietowych. Obliczanie tych masek poznaliśmy w przypadku omawiania OSPF-a. Dla przypomnienia aby tworzyć maskę blankietową, musimy odjąć od maski /32 bitowej maskę podsieci w postaciach dziesiętnych. W przypadku maski blankietowej, 0 oznaczają zgodność a 1 ignorowanie.

ACL-ki wprowadzają dwa słowa kluczowe dla konkretynych wartości masek blankietowych:

Możemy również tworzyć maski blankietowe dla zakresów IP, jeśli chcemy aby jeden wpis obejmował kilka sieci. to wówczas możemy utworzyć taki o to wpis w ACL:

access-list 10 permit 192.168.16.0 0.0.15.255

Ten wpis spowoduje zezwolenie na ruch z adresów 192.168.16.0 do 192.168.31.0.

3.4.2. Wytyczne do tworzenia ACL

Do interfejsu możemy przypisać określoną liczbę ACL, są to dwie listy dla każdego protokołu - IPv4 i IPv6, dla ruchu przychodzącego i wychodzącego.

Podczas implementacji ACL w sieci musimy wykazać się sporą starannością, ponieważ błędy w listach mogą doprowadzić do przestojów w łączności. Poniżej znajdują się zasady jakimi należy kierować się.

3.4.3. Typy list ACL IPv4

Routery Cisco obsługują dwa rodzaje ACL-ek:

Listę standardową możemy utworzyć na przykład za pomocą poniższego polecenia:

access-list 10 permit 192.168.10.0 0.0.0.255

Standardowa ACL, filtruje wyłącznie po adresie źródłowym, tym samym dopuszczając całą sieć 192.168.10.0. Rozszerzoną ACL możemy utworzyć na przykład za pomocą poniższego polecenia:

access-list 100 permit tcp 192.168.10.0 0.0.0.255 any eq www

Rozszerzona ACL, może znacznie bardziej kształtować ruch, w przypadku wyżej wymienionej list, to zezwala ona wyłącznie na ruch HTTP dla sieci 192.168.10.0/24.

ACL mogą być numerowane, tak jak to było w powyższym przypadku. Tutaj musimy wiedzieć jedną rzecz - z ACL numerowanymi wiąża się zakresy numerów jakie możemym nadać listom, tym samym deklarując ich typ. Listy standardowe mają numery od 1 do 99 oraz od 1300 do 1944. Natomiast Listy rozszerzone mają numery od 100 do 199 oraz od 2000 do 2699.

Inną opcją są listy nazwane, ich tworzenie przypomina trochę zakładanie puli DHCP. Na początku wydajemy polecenie z rodzajem oraz nazwą listy, i następnie w trybie konfiguracji listy podajemy kolejne wpisy.

Czynnikiem dość istotnym podczas wdrażania ACL-ek jest określenie miejesca gdzie należy je umieścić. Generalnie posługujemy się zasadą, że ACL-ki umiescza w miejscach gdzie będą one miały najwiekszy wpływ na wydajność i wobec tego istnieją dwie reguły oparte o rodzaj ACL-ek:

Najlepiej obrazuje to blokowanie, ponieważ ruch który ma niedocierać jest już wycinany na pierwszym routerze. Z kolei jeśli już stosujemy standardowe ACL-ki, to warto wykorzystać je do dopuszczenia ruchu z zaufanych sieci, na końcu każdej listy znajduje się nie jawna reguła, która zablokuje pozostały ruch.

Podsumowanie

W tym rodziale dowiedzliśmy się w jaki sposób kształtować ruch za pomocą ACL. Poznaliśmy czym są listy dostępowe, ich rodzaje oraz dobre praktyki podczas ich tworzenia przypomnieliśmy sobie również w jaki sposób oblicza się maski blankietowe.

3.5. Konfiguracja list ACL dla IPv4

W poprzednim rodziale dowiedzieliśmy się czym są ACL-ki i w jaki sposób możemy wykorzystać je do kształtowania ruchu. Poznaliśmy również podstawowe polecenia, ale bez ich omawiania. Ten rozdział przedstawi nam w jaki sposób tworzyć oraz modyfikować, standardowe i rozszerzone listy ACL oraz dodatkowo jak wykorzystać ACL do kontroli zdalnego dostępu do urządzeń.

3.5.1. Konfiguracja standardowych ACL dla IPv4

Tworzenie ACL najlepiej rozpocząć od zapisania w edytorze tekstu specyfiki polityki bezpieczeństwa organizacji, następnie musimy przełożyć te zasady na polecenia IOS, w tym momencie warto dołączać komentarze. Kiedy nasza lista jest hipotetycznie gotowa, możemy ją skopiować do środowiska testowego - może to być PT lub fizyczne urządzenia.

Chcąc utworzyć standardową numerowaną listę ACL w konfiguracji globalnej wydajemy następujące polecenie:

Router(config)# access-list access-list-number {deny | permit | remark text}
source [source-wildcard] [log]

Jeśli będziemy chcieli usunąć listę użyjemy polecenia: no access-list access-list-number

Poszczególne elementy składni polecenia tworzenia standardowych numerycznych ACL znajduje się poniżej:

Chcąc utworzyć listę ACL standardową nazwaną, w konfiguracji globalnej musimy wydać następujące polecenie:

Router(config)# ip access-list standard access-list-name

access-list-name to unikatowa nazwa dla listy. Zatwierdzenie tego polecenia, spowoduje, że przejedziemy w trybu konfiguracji listy ACL. Wówczas konfiguracja takiej listy skupia się tworzeniu reguł rozpoczynających się od słów kluczowych permit, deny i ewentualnie remark.

R1(config)# ip access-list standard PERMIT-ACCESS
R1(config-std-nacl)# remark ACE permits host 192.168.10.10
R1(config-std-nacl)# permit host 192.168.10.10

Chcąc usunąć taką listę poprzedzamy polecenie ip access-list standard PERMIT-ACCESS słowem kluczowym no.

Określenie listy nie czyni jej jeszcze działającą. Jak pamiętamy listy są przypisywane do interfejsów i to na określonych kierunkach transmisji, więc chcąc podłączyć listę do interfejsu należy wydać poniższe polecenie:

Router(config-if) # ip access-group {access-list-number | access-list-name} {in | out}

Po słowie access-group, podajemy albo numer listy, albo jej nazwę i na koncu podajemy kierunek dla ruchu wychodzącego - out a dla ruchu przychodzącego - in. Aby odwołać listę musimy poprzedzić polecenie ip access-group słowem no oraz podać numer bądź nazwę listy.

Zadanie praktyczne - Packet Tracer

Konfigurowanie numerowanych standardowych list ACL IPv4 - scenariusz
Konfigurowanie numerowanych standardowych list ACL IPv4 - zadanie
Konfigurowanie nazywanych standardowych list ACL IPv4 - scenariusz
Konfigurowanie nazywanych standardowych list ACL IPv4 - zadanie

3.5.2. Modyfikowanie list ACL dla IPv4

Modyfikowanie ACL-ek, nie uchodzi za szczególnie przyjmne zajęcie. To zadanie może zrealizować na dwa sposoby. Możemy użyć albo wcześniej zapisanej w edytorze tekstu listy - tę listę wdrożoną należy usunąć poprzez słowo no, zmieć co trzeba i następnie utworzyć nową listę wklejając jej polecenia z edytora. Drugim sposobem jest użycie numerów sekwencyjnych.

Numery sekwencyjne wyświetlane są gdy używamy polecenia show access-list do wyświetlenia list ACL.

R1# show access-lists 
Standard IP access list 1 
    10 deny 19.168.10.10 
    20 permit 192.168.10.0, wildcard bits 0.0.0.255
R1#

Do ich edycji musimy skorzystać z polecenia ip access-list standard, następnie usuwamy wadliwy wpis, w tym przypadku jest 10 poprzedzając numer sekwencji słowem no i następnie poprawiony wpis rozpoczynamy od numeru sekwencji. Poniżej znajduje się przykład z IOS:

R1# conf t
R1(config)# ip access-list standard 1
R1(config-std-nacl)# no 10
R1(config-std-nacl)# 10 deny host 192.168.10.10
R1(config-std-nacl)# end
R1# show access-lists
Standard IP access list 1
    10 deny   192.168.10.10
    20 permit 192.168.10.0, wildcard bits 0.0.0.255
R1#

W przypadku nazwanej listy postępujemy podobnie, tylko zamiast numeru podajemy nazwę. Użycie numerów sekencyjnych daje nam jeszcze jedną dodatkową funkcję, mianowicie pozwala nam wprowadzać wpisy w konkretne miejsca, na liście. Biorąc pod uwagę poprzedni przykład chcąc dodać host 192.168.10.5, którego ruch ma również zostać zablokowany, to jeśli dopiszemy ją to ta reguła nie będzieć mieć sensu. Druga reguła dopuszcza ruch z całej sieci 192.168.10.0/24. Zatem musimy wstawić regułę zablokowania hosta 192.168.10.5 pomiędzy regułę 10 a 20, na przykład. Możemy ją również wstawić na początku samej listy, również będzie ona miała swoje zastosowanie.

R1# configure terminal
R1(config)# ip access-list standard NO-ACCESS
R1(config-std-nacl)# 15 deny 192.168.10.5
R1(config-std-nacl)# end
R1#
R1# show access-lists
Standard IP access list NO-ACCESS
    15 deny   192.168.10.5
    10 deny   192.168.10.10
    20 permit 192.168.10.0, wildcard bits 0.0.0.255
R1#

Chcąc wstawić w regułę edytujemy listę za pomocą polecenia ip access-list następnie rozpoczynamy wpis od numer np. 15. Na koniec opuszczamy tryb konfiguracji listy i wyświetlamy zawartość listy. Wydawać by się mogło, że nie takiego efektu się spodziewaliśmy. Ten efekt jest spowodowany działaniem funkcji mieszaczjącej na standardowych listach ACL dla IPv4.

Wyświetlając listę za pomocą polecenia show access-lists możemy zauważyć, że IOS zlicza przypasowania do wpisów w ACL, dzięki czemu możemy zauważyć, czy te wpisy mają w ogóle zastosowanie. Czyszczenia liczników możemy dokonać za pomoca polecenia:

R1# clear access-list counters

Wydanego w trybie uprzywilejowanym EXEC.

3.5.3. Zabezpieczenia linii VTY za pomocą standardowyej ACL IPv4.

Przy użyciu ACL możemy określić, kto może się podłączyć do naszego urządzenia zdalnie, a kto nie. Cała metoda polega na utworzeniu standardowej listy ACL i następnie na liniach VTY możemy za pomocą polecenia access-class wskazać ACL, która będzie zezwalać lub blokować zdalny dostęp dla zapisanych w niej sieciach lub hostach. Poniżej znajduje się składania polecenia access-class:

R1(config-line)# access-class {access-list-number | access-list-name} { in | out } 

Zwróć my uwagę to polecenie pozwala również na ustalenie kierunku. Stosowanym w praktyce kierunkiem jest in, drugi kierunek odfiltrowuje ruch VTY wychodzący i jest on rzadko stosowany.

R1(config)# username ADMIN secret class
R1(config)# ip access-list standard ADMIN-HOST
R1(config-std-nacl)# remark This ACL secures incoming vty lines
R1(config-std-nacl)# permit 192.168.10.10
R1(config-std-nacl)# deny any
R1(config-std-nacl)# exit
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
R1(config-line)# access-class ADMIN-HOST in
R1(config-line)# end
R1#

Przy tak skonfigurowanej liniach VTY, dostęp przez SSH do urządzenia będzie mieć wyłącznie host o adresie 192.168.10.10.

3.5.4. Rozszerzone listy ACL

Rozszerzone listy ACL pozwalają nam na dodanie większej ilości kryteriów dopasowania pakietów. Listy rozszerzone podobnie jak listy standardowe również mogą być numerowane oraz nazwane. Składnia tworząca listę wraz ze wpisem wygląda następująco:

Router(config)# access-list access-list-number {deny | permit | remark text} 
protocol source source-wildcard [operator {port}] destination destination-wildcard
[operator {port}] [established] [log]

Pierwszą zmianą odnośnie list standardowych jest: protocol - nazwa lub numer protokołu sieci Internet. Typowymi słowami kluczowymi są tutaj: ip, tcp, udp, icmp. Pełną listę możemy wyświetlić za pomocą znaku zapytania (?). Słowo kluczowe IP pasuje do wszystkich protokołów IP; destination i destination-wildcard - adres ip oraz maska blankietowa dla sieci bądź hosta docelowego. Mogą tutaj występować słowa kluczowe host oraz any; operator - porównuje porty źródłowe i docelowe. Możliwe argumenty to: lt (mniejsze niż), gt (większe niż), eq (równy), neq (nie równy) oraz range (zakres); port - numer bądź nazwa portu TCP lub UDP. Pod znakiem zapytania (?), dostępna jest pełna lista wraz z numerami portów; established - funkcja zapory pierwszej generacji, tylko dla TCP.

Włączanie list rozszerzonych wygląda tak samo jak w przypadku list standardowych, oto przykład:

R1(config)# access-list 110 permit tcp 192.168.10.0 0.0.0.255 any eq www
R1(config)# access-list 110 permit tcp 192.168.10.0 0.0.0.255 any eq 443
R1(config)# interface g0/0/0
R1(config-if)# ip access-group 110 in
R1(config-if)# exit
R1(config)#

Stosowanie list rozszerzonych umożliwia nam dostęp do bardzo wygodnej funkcji. Jeśli chcemy zabezpieczyć naszą sieć wewnętrzną za pomocą ACL-ek, to utworzyli byśmy dwie listy jedną na ruch wchodzący do interfejsu sieci wewnętrznej, zezwalający np. jej użytkownikom na korzystanie z HTTP/S. Wówczas hosty naszej sieci, nie będą mogły korzystać z innych protokołów, jednak ta pojedyncza lista daje możliwość skomunikowania się z hostami naszej sieci z zewnątrz. Potrzebujemy drugiej ACL-ki, która zablokuje taką możliwość. Mogli byś my utworzyć pustą listę i przypisać ją do kierunku wychodzącego naszego interfejsu wewnętrzego i to tyle. Cały ruch zablokowany, w tym odpowiedzi od serwerów WWW dla hostów naszej sieci. Oczywiście przy takiej transmisji moglibyśmy dopuścić ruch na porcie źródłowym TCP/80 lub TCP/443 (HTTP, HTTPS). Co nie jest dobrym rozwiązaniem, ponieważ nie jest problemem wysłanie pakietu o sfałszowanym porcie źródłowym. W tym przypadku skorzystamy z wpisu dopuszczającego cały TCP dla sieci 192.168.10.0/24, ale tylko dla połączeń już nawiązanych, blokując tym samym możliwość nawiązania nowego połączenia z zewnatrz temu służy opcja established. Należa zapamiętać, że z tej funkcji może skorzystać tylko dla protokołu TCP.

R1(config)# access-list 120 permit tcp any 192.168.10.0 0.0.0.255 established
R1(config)# interface g0/0/0
R1(config-if)# ip access-group 120 out 
R1(config-if)# exit
R1(config)#

Wiele pozostałych czynności dokonywanych na listach rozszerzonych dokonuje się w sposób analogiczny do listy standardowych. Przyczym w przypadku wstawiania zasad do listy, to na listach rozszerzonych nie działa algorytm mieszający, zatem kolejność wpisów powinna być taka jaką my sobie zadeklarowaliśmy, ale nie jak ustalił to IOS.

Do weryfikacji ACL, możemy wykorzystać polecenia: show ip interface, pokaże nam ono jakie listy są przypisane do tego interfejsu; show access-list, zwróci zdeklarowane w systemie listy ACL; show running-config | begin ip access-list, wyświetla listy ACL z bierzącej konfiguracji urządzenia.

Zadanie praktyczne - Packet Tracer

Konfiguracja rozszerzonych list ACL IPv4 - Scenariusz 1 - scenariusz
Konfiguracja rozszerzonych list ACL IPv4 - Scenariusz 1 - zadanie
Konfiguracja rozszerzonych list ACL IPv4 - Scenariusz 2 - scenariusz
Konfiguracja rozszerzonych list ACL IPv4 - Scenariusz 2 - zadanie

Zadanie praktyczne - Packet Tracer

Wdrażanie ACL IPv4 - wyzwanie - scenariusz
Wdrażanie ACL IPv4 - wyzwanie - zadanie

Laboratorium

Konfiguracja i weryfikacja rozszerzonych list ACL IPv4

Podsumowanie

Ten rozdziała pokazał nam w jaki sposób tworzyć oraz modyfikować listy ACL. Poznaliśmy sposób na zabezpieczenie linii VTY za pomocą ACL oraz funkcję established rozszerzonych list dostępu. Na koniec poznaliśmy w jaki sposób możemy weryfikować listy ACL na naszych urządzeniach.

3.6. NAT dla IPv4

Jak może pamiętamy z poprzedniego modułu pula adresów IPv4 jest na wyczerpaniu. W obecnym stanie rzeczy nie wystarcza adresów dla wszystkich urządzeń podłączonych do Internetu. Gdy osoby odpowiedzialne za rozwój sieci globalnej spostrzegli, że pula adresów jest alokowana w bardzo szybkim tempie i za jakiś czas ich po prostu zacznie brakować, wydzielono trzy klasy adresów prywatnych. Adresy tego rodzaju są nie jednoznaczne dlatego też nie mogą być routowane w Internecie. Nie należą bowiem one do żadnej organizacji. Za definicję adresów odpowiada dokument RFC 1918, wydzielając tym samym:

Lokalne sieci komputerowe wykorzystują klasę adresów prywatnych do adresowania swoich komputerów. Jako, że te adresy nie mogą funkcjonować poza sieciami lokalnymi, to musi istnieć mechanizm, który pozwoli na zamianę adresów prywatnych na adresy publiczne. Tym właśnie jest NAT. Jak wszsystko na świecie, ta funkcjonalność posiada wady i zalety, które zostaną omówione w tym rozdziale.

Mechanizm translacji adresów, zamienia adresy prywatne na adresy publiczne. W zależności czy są to adresy prywatne czy publiczne lub ruch jest przychodzący lub wychodzący spotkamy się z takimi określeniami adresów jak:

Terminy te wypełniąją taką instyucję jak tablica NAT, zawiera ona wszystkie mapowania adresów oraz portów.

3.6.1. Typy NAT

Mechnizm NAT może występować w kilku wariantach. Które różnią się technikami mapowania adresów. Pierwszym z nich jest statyczny NAT, w którym to jeden adres prywatny zamieniany na jeden adres publiczny. Translacja jeden-do-jeden (1:1). Takie mapowania są wykonywane przez administratora i są niezmienne bez rekonfiguracji.

Drugim rodzajem jest dynamiczny NAT - przypisuje on adresy na podstawie kolejności żądań dostępu do sieci zewnętrznej. Obie te metody NAT, wymagają odpowiednio dużej puli adresów publicznych przydzielonych przez operatora internetowego, jeśli pula będzie za mała, to tylko część z hostów będzie mieć dostęp do sieci zewnętrznej. A jak możemy się domyślić to operatorzy obecnie już nawet klientom biznesowym niechętnie ustępniają adresy IPv4.

Istnieje również mechanizm, który jest w stanie zapewnić dostęp do sieci zewnętrznej przy jednym lub kilku adresach zewnętrznych. Takim mechanizmem jest PAT (Port Address Translation) nazywany również NAT-em z przeciążeniem. Ponieważ przeciążamy jeden adres, ruchem większym niż pochodzący z jednego komputera. Poza zwykłą translacją adresów, działa on na zasadzie zmiany portu źródłowego jeśli do routera docierają połączenia z różnych hostów z tymi samymi numerami portów źródłowych. Wówczas dla adresu wewnętrznego globalnego przypisywany jest inny numer portu i tak przetworzony pakiet wysyłany jest do hosta docelowego. W taki sposób działają mechnizmy NAT w urządzeniach domowych lub przeznaczonych dla małych firm.

Podczas działania mechaznizm PAT stara się zachować oryginale porty, jeśli jest to jednak niemożliwe, wówczas używa on pierwszego dostępnego z odpowiedniej grupy portów: 0-511, 512-1023 lub 1024-65535. Jeśli jakimś cudem wszystkie porty zostaną wykorzystane, to dopiero mechanizm przechodzi do kolejnego adresu.

Porównując PAT oraz NAT. To NAT:

A PAT z kolei:

W przypadku mechanizmu PAT, pozostaje jedna nierozwiązana kwestia. Otóż wymiana komunikatów echo protokołu ICMP przez PAT. Tak naprawdę to TCP, UDP i ICMP przez PAT osbługiwane są w nieco inny sposób. W przypadku działania narzędzia ping wykorzystywane jest pole Query ID zawarte w komunikatach echo request i echo reply. To pole zwiększane jest o jeden z każdym wysłanym zapytaniem do sieci zewnętrznej.

Zadanie praktyczne - Packet Tracer

Badanie działania NAT - scenariusz
Badanie działania NAT - zadanie

3.6.2. Zalety i wady mechanizmu NAT

Do zalet mechanizmu NAT możemy zaliczyć:

Natomiast do wad mechanizmu NAT możemy zaliczyć:

3.6.3. NAT statyczny w IOS

Załóżmy hipotetycznie, że mamy serwer WWW o adresie 192.168.1.10, ma on być dostępny dla klientów z sieci zewnętrznej pod adresem 209.169.201.6. Co należy zrobić, aby zrealizować to zadanie przy użyciu routera Cisco?

Otóż na początek tworzymy odwzorowanie między adresem wewnętrznym lokalnym, a adresem wewnętrznym globalnym.

Router(config)# ip nat inside source static 192.168.10.254 209.169.201.5

W powyższym polecenie użyliśmy słów kluczowych: inside ze względu, że dokonujemy mapowań wewnętrznych (lokalny do globalnego), source, ponieważ router ma zamieniać adresy źródłowe oraz static, ustawiamy NAT statyczny, to jest mapowanie adresów 1:1.

Następnym zadaniem jest określenie stron translacji. Sieć LAN wykorzystuje Ethernet więc ostatni port będzie łączem z sieci do routera. Natomiast port szeregowy będzie symulować naszą sieć rozległą.

Router(config)# interface GigabitEthernet0/2
Router(config-if)# ip address 192.168.1.2 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# exit
R2(config)# interface serial 0/1/1
R2(config-if)# ip address 209.169.200.1 255.255.255.252
R2(config-if)# ip nat outside

Teraz adresy źródłowe serwera WWW będą tłumaczone na nasz adres wewnętrzny globalny.

Jeśli chcielibyśmy sobie przeanlizować jak to wygląda, to klient gdzieś w Internecie, wpisuje adres strony. System DNS tłumaczy ten adres strony na adres IP pod którym widnieje nasz serwer w sieci zewnętrznej. Pakiet z żądaniem strony dociera do naszego serwer i ten mu odpowiada. Pakiet z odpowiedzią zawiera adres źródłowy prywatny - tj. 192.168.1.10 i adresem docelowym jest adres źródłowy żądania strony. Oczywiście adres jest poza siecią więc docelowym adresem MAC ramki Ethernet będzie adres MAC interfejsu bramy. W momecie gdy pakiet osiągnie router, dochodzi do translacji adresów. W tym momencie dochodzimy różnicy w rodzajach mechanizmu NAT, ponieważ w przypadku statycznego NAT-u, adres źródłowy zostanie zamieniony na zmapowany wcześniej adres publiczny. Zatem do naszej bramy adresem źródłowym będzie: 192.168.1.10, natomiast po jej opuszczeniu adresem źródłowym będzie 209.169.201.5.

Do w celu weryfikacji ustawień NAT-u możemy posłużyć się dwoma poleceniami:

3.6.4. Dynamiczny NAT w IOS

Poprzedni rodzaj NAT-u wymagał zmapowania adresów prywatnych z publicznymi, jeden do jeden. W tym przypadku mapowanie będzie odbywać się na podstawie żądania do sieci zewnętrznej i będzie odbywać się dynamicznie. Wcześnie to administrator decydował o tym jaki adres prywatny będzie mapowany na adres publiczny. Teraz decyduje o tym router. Ten stan rzeczy powoduje, że konfiguracja będzie nieco bardziej skomplikowana.

Załóżmy, że mamy dwa komputery w dwóch różnych sieciach, mają one następujące adresy: 192.168.10.10/24 oraz 192.168.11.10/24. Komputery chcą skomunikować się z serwerem od adresie 209.165.200.254.

Na początku musimy rozpocząć naszą konfigurację od określenia puli adresów, jakie mogą być mapowane podczas dynamicznego NAT-u. Taką pulę zazwyczaj uzyskuje się od swojego dostawcy usług internetowych. W naszym przypadku są to adresy od 209.165.200.226 do 209.165.200.240 z maską /27. Aby skonfigurować pulę w trybie konfiguracji globalnej wydajemy poniższe polecenie:

Router(config)# ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224

Za pomocą powyższego polecenia zdefiniowaliśmy pulę o nazwie NAT-POOL1. Teraz musimy utworzyć warunek, dzięki któremu określimy jakie sieci mają kwalifikować się tłumaczenia lub ich adresy mają być tłumaczone na jasno określoną pulę adresów. Takie warunki tworzy się za pomocą standardowych list ACL.

Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255

Teraz należy połaczyć ze sobą pulę adresów NAT-u oraz listę ACL, w jednej definicji dynamicznej translacji adresów.

Router(config-if)# ip nat inside source list 1 pool NAT-POOL1

Przyczym, ACL nie musi być numerowana, nazwana również jest możliwa do użycia w tym przypadku. Ostatnią czynnością jest określenie wewnętrznych i zewnętznych interfejsów.

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip nat inside
Router(config)# interface GigabitEthernet0/2
Router(config-if)# ip nat inside
Router(config)# interface serial 0/1/1
Router(config-if)# ip nat outside

Wersje sprzętowe IOS posiadają dodatkowy słowo kluczowe verbose dla polecenia show ip nat translations. Która wyświetla więcej informacji na temat wpisów w tablicy NAT.

Router# show ip nat translation verbose
Pro Inside global      Inside local       Outside local      Outside global
tcp 209.165.200.228    192.168.10.10      ---                ---
    create 00:02:11, use 00:02:11 timeout:86400000, left 23:57:48, Map-Id(In): 1, 
    flags: 
none, use_count: 0, entry-id: 10, lc_entries: 0
tcp 209.165.200.229    192.168.11.10      ---                ---
    create 00:02:10, use 00:02:10 timeout:86400000, left 23:57:49, Map-Id(In): 1, 
    flags: 
none, use_count: 0, entry-id: 12, lc_entries: 0

Zwróćmy uwagę na to, że wpisy w tablicy NAT-u widnieją przez określony czas. W przypadku NAT-u dynamicznego, domyślnie są to 24 godziny, chyba że zdefiniowano inaczej przy pomocy polecenia ip nat translation timeout. Nie musimy jednak wyczekiwać na wygaśnięcie wpisów. Możemy je ręcznie usunąć, czy przy użyciu tego samego polecenia (clear ip nat translation), które czyści całą tablicę - w tym przypadku podajemy inside lokalny-adr globalny-adr lub outside lokalny-adr globalny-adr.

W przypadku dynamicznego NAT i polecenie show ip nat statistics wzraca więcej informacji, np. procent zaalokowanej puli.

Router# show ip nat statistics 
Total active translations: 4 (0 static, 4 dynamic; 0 extended)
Peak translations: 4, occurred 00:31:43 ago
Outside interfaces:
  Serial0/1/1
Inside interfaces: 
  GigabitEthernet0/1
  GigabitEthernet0/2
Hits: 47  Misses: 0
CEF Translated packets: 47, CEF Punted packets: 0
Expired translations: 5
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 1 pool NAT-POOL1 refcount 4
 pool NAT-POOL1: netmask 255.255.255.224
	start 209.165.200.226 end 209.165.200.240
	type generic, total addresses 15, allocated 2 (13%), misses 0
...

Wyświetlając bierzącą konfiguracje z poleceniem filtrujący include, możemy podejrzeć konfiguracje NAT-u.

R2# show running-config | include NAT
ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
ip nat inside source list 1 pool NAT-POOL1

Zadanie praktyczne - Packet Tracer

Konfigurowanie dynamicznego NAT - scenariusz
Konfigurowanie dynamicznego NAT - zadanie

3.6.5. PAT w IOS

W większości przypadków, konfiguracji sieci czy to w mniejszych, czy większych organizacjach, nie skorzystamy z żadnej z powyższych metod, gdyż wymagają one puli adresów publicznych, a te obecnie są bardzo rzadko przydzielane. Najczęstszym rodzajem NAT-u jaki będziemy konfigurować jest właśnie PAT.

Scenariusz z dynamicznego NAT-u rozszerzymy od dodatkowy serwer. Serwery będą mieć adresy 209.165.201.1 oraz 209.165.202.129. Adres sieci zewnętrznej naszego routera to 209.165.200.224/27. Natomiast adres interfejsu podłączonego do sieci zewnętrznej to: 209.165.200.225. Adres sieci zewnętrznej określa pulę przydzielonych adresów publicznych od usługodawcy.

Konfigurując PAT, mamy do wyboru tak naprawdę dwa podejścia. Pierszym z nich jest przeciążenie pojedynczego adresu, który mamy przypisany do interfejsu. Tak zazwyczaj będzie w przypadku domów lub małych biur. Konfigurację rozpoczynamy od utworzenia ACL-ki w celu określenia jakie sieci źródłowe mają być tłumaczone.

Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255

Następnie musimy powiązać listę ACL z interfejsem, podobnie jak w przypadku dynamicznego NAT-u, kiedy powiązaliśmy ACL z pulą. W celu uruchomienia PAT-u, dodajemy do polecenia słowo kluczowe overload.

Router(config)# ip nat inside source list 1 interface serial 0/1/1 overload

W tym przypadku wykorzystaliśmy słowo kluczowe interface i podaliśmy ID interfejsu. Teraz wszystkie połączenia z dwóch naszych podsieci będą tłumaczone na ten jeden adres, który jest ustawiony na interfejsie serial 0/1/1. Poza słowem overload reszta polecenia pozostaje taka sama. Ostatnią czynnością jest określenie stron na interfejsach.

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip nat inside
Router(config)# interface GigabitEthernet0/2
Router(config-if)# ip nat inside
Router(config)# interface serial 0/1/1
Router(config-if)# ip nat outside

Drugim podejściem jest translacja adresów na adresy z wcześniej zdefiniowanej puli. Tutaj wykonujemy wszystkie czynności w taki sam sposób jak w przypadku dynamicznego NAT-u, ale do polecenia dowiązania listy ACL do puli dodajemy słowo kluczowe overload.

Router(config)# ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
Router(config)# access-list 1 permit 192.168.0.0 0.0.255.255
Router(config-if)# ip nat inside source list 1 pool NAT-POOL1 overload
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip nat inside
Router(config)# interface GigabitEthernet0/2
Router(config-if)# ip nat inside
Router(config)# interface serial 0/1/1
Router(config-if)# ip nat outside

Po uruchomieniu NAT-u wyżej wymienionymi metodami, router będzie starał zachować oryginalne porty, jednak jednak u któregoś z hostów porty źródły będzie się powtarzać to zostanie zmieniony na pierwszy wolny. Router przeszukuje trzy grupy w poszukiwaniu odpowiedniego portu do zmiany. Jeśli w jakiś sposób porty się wyczerpią, wówczas dopiero, albo dalsza możliwość tłumaczenia zaniknie, jeśli tłumaczyliśmy na pojedynczy adres, albo zostanie wykorzystany kolejny adres z puli. Poniżej znajdują się zrzuty tablicy NAT oraz statystyk dotyczących skonfigurowanego przez nas PAT-u.

Router# show ip nat translations
  Pro Inside global          Inside local         Outside local      Outside global
  tcp 209.165.200.225:1444  192.168.10.10:1444  209.165.201.1:80   209.165.201.1:80
  tcp 209.165.200.225:1445  192.168.11.10:1444  209.165.202.129:80 209.165.202.129:80

Router# show ip nat statistics 
Total active translations: 4 (0 static, 2 dynamic; 2 extended)
Peak translations: 2, occurred 00:31:43 ago
Outside interfaces:
  Serial0/1/1
Inside interfaces: 
  GigabitEthernet0/1
  GigabitEthernet0/2
Hits: 4  Misses: 0
CEF Translated packets: 47, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 3] access-list 1 pool NAT-POOL1 refcount 2
  pool NAT-POOL1: netmask 255.255.255.224
      start 209.165.200.225 end 209.165.200.240
      type generic, total addresses 15, allocated 1 (6%), misses 0
...

Zadanie praktyczne - Packet Tracer

Konfiguracja PAT - scenariusz
Konfiguracja PAT - zadanie

3.6.6. NAT64

Protokół IPv6 nie potrzebuje takich mechanizmów jak NAT, zawiera bardzo dużo adresów - nie wiadomo czy kiedyś się one skończą, Zawiera on także adresy lokalne podobne do tych z RFC1918, ale nie mają one takiej samej funkcji. NAT w IPv6, nazwany NAT64 ma zupełnie inną funkcję, otóż służy on do tworzenia transparentnych połączeń pomiędzy sieciami IPv6 a IPv4. Jest to technologia przejściowa na czas całkowite migracji do IPv6.

Zadanie praktyczne - Packet Tracer

Konfiguracja NAT dla IPv4 - scenariusz
Konfiguracja NAT dla IPv4 - zadanie

Laboratorium

Konfiguracja NAT dla IPv4

Podsumowanie

W tym rozdziale zapoznaliśmy się z mechanizmem sieciowym NAT dla IPv4. Mechnizm ten zapewnia dostęp komputerom sieci lokalnej do sieci zewnętrznych. Poznaliśmy jego metodę działania oraz jego odmiany. Dowiedziliśmy się w jaki sposób uruchomić go na sprzęcie Cisco z systemami IOS. Na koniec wyjaśniono czym jest NAT64.

3.7. Koncepcje sieci WAN

Sieci lokalne LAN, są sieciami budowanymi na małym obszarze lub na małą skalę. Jednego budynku, jednego przedsiębiorstwa na niewielkim obszarze. Innym rodzajemy sieci jest sieć WAN - sieć rozległa, która rozciąga się swoim poza budynki, często wykorzystując infrastrukturę miejską, łącząc ze sobą również inne miasta czy mniejsze miejscowości. W tym temacie opowiemy sobie o technologiach, które stoją za tym, że w domu mamy puszkę światłowowodową, kabel koncentryczny czy gniazdo telefoniczne za ich pośrednictwem możemy mieć dostęp do sieci Internet, ale i nie tylko. Mając odpowiednie zasoby finansowe możemy połączyć ze sobą dwa budynki będące w różnych częściach mista lub w różnych miastach dedykowanym tylko dla nas łączem.

Sieci LAN, są wyłącznie naszą sprawą prywatną. W przypadku gdy przy sieciach rozległych sprawa nie jest aż tak oczywista. Mimo iż struktura takiej sieci należy do naszego usługodawcy to współdzielimy ją z innymi abonentami. Wyjątkiem tutaj są dzierżawione linie abonenckie, gdzie usługodawca zestawia nam połączenie sieci WAN (w tych technologiach) między jednym a drugim naszym punktem. Jednak ich cena, nawet bogatsze firmy zmusza do wykorzystywania infrastruktury publicznej, oczywiście jako klienci biznesowi są lepiej traktowani i mają wiecej możliwości. Jest jednak branża, która dalej będzie korzystać z dzierżawionych łączy i jest nią bankowość.

Sieci rozległe podobnie jak ich lokalne odpowiedniki posiadają topologie, i wśród nich możemy wyróżnić:

W sieciach korporacyjnych możemy spotkać się z większą niż jeden liczbą połączeń do sieci rozległej, najczęściej zapewnianą przez dwóch różnych operatorów. Ma to na celu zapewnienie niezawodności - dalszego działania usług, pomimo awarii jednego z łączy oraz wydajności poprzez równoważnie obciążenia przez te łącza. Klienci biznesowi (duże firmy) zazwyczaj podpisują z operatorem umowę o poziomie usług - SLA, w której to mogą znajdować się takie zapisy jak możliwa długość braku dostępu do usługi w skali roku lub deklarowana przepustowość.

Sieci lokalne mogą ewoluować, rozrastać się pod względem ilości hostów czy podsieci, ale również rozrastać fizycznie wraz rozwojem firmy. Wówczas technlogie sieci lokalnych, mogą okazać nie wydajne i zbyt drogie, aby móc połączyć ze sobą nawet dwa budynki, ale znajdujące się np. w różnych częsciach miasta czy kraju. Remedium na tego typu problemy są właśnie sieci rozległe oraz ich technologie.

3.7.1. Operacje WAN

Za standardy sieci WAN odpowiedzialne są takie organizacje jak: TIA/EIA, ISO, IEEE.

Sieci WAN najczęsciej operują w warstwie 1 oraz 2. Protokoły warstwy pierwszej opisują elementy elektryczne, mechaniczne oraz operacyjne przesyłania bitów przez medium transmisyjne. Obecnie najczęściej wykorzystywane są światłowody o dużej odległości, a rozwiązania stosowane to między innymi:

SDH oraz SONET zasadniczo świadczą te same usługi. SDH upowszechnił się na kontencie europejskim natomiast SONET stosowany jest w krajach Ameryki Północnej. Te dwie technologie mogą rozszerzyć swoją nośność dzięki zastosowaniu DWDM.

Protokoły warstwy drugiej definiują sposoby przesyłania danych w ramkach. Do rozwiązań stosowanych przez sieci WAN w tej warstwie możemy zaliczyć takie protokoły jak:

Do rzadziej stosowanych technologii, możemy zaliczyć: Point-to-Point Protocol (PPP), czy High-Level Data Link Control (HDLC).

Ze względu na fakt działania sieci WAN w wartstwie 1 i 2 musimy zapoznać się z terminologią związaną z fizycznymi połączeniami pomiędzy siecią firmową a siecią usługodawcy. Poniżej znajduje się lista terminów związanych z sieciami WAN:

Do urządzeń sieci rozległych możemy zaliczyć, różnego rodzaju modemy konwertery optyczne, a czasem nawet routery czy punkty dostępowe.

Komunikację sieciową można zrealizować za pomocą komunikacji z komutacją (przełączaniem) łączy. Sieć z komutacją łączy ustanawia dedykowany obwód (lub kanał) między punktami końcowymi, zanim użytkownicy będą mogli się komunikować. Najpopularniejsze technologie WAN, wykorzystujące komuntację łączy to: PTSN - publiczna komuntowana sieć telefoniczna i cyfrowa sieć z integracją usług - ISDN. Sieci tego rodzaju są zaszłością i zostały wyparte przez sieci z przełączaniem pakietów, takie jak Ethernet WAN (Metro Ethernet) czy MPLS.

Standardy sieci WAN warstwy pierwszej - SONET/SDH, definiują sposób przesyłania ogromnych ilości danych, danych głosowych czy komunikacji wideo, przez swiadłowód na duże odległości. Standardy te są użwane w topologii pierścienia, zawierająca ścieżki nadmiarowe umożliwiające przepływ ruchu w obu kierunkach. Technologia DWDM zwiększa nośność dla SDH i SONET poprzez przesyłanie przez ten sam światłowód impulsów świetlnych o różnej długości fali, zapewniając tym samy odrębne kanały komunikacyjne.

3.7.2. Obecne technologie sieci WAN

Generalnie technologia Ethernet, nie była przeznaczona dla innych sieci poza lokalnymi ze względu na ograniczenia długości okablowania miedzianego, jednak zmianę tego punktu widzenia przyniosły światłowowdy. Dzięki nim Ethernet, stał się jedną z opcji dostępowych dla sieci WAN. Niektóre standardy potrafią przesyłać informacje na odległosci do 70 km (IEEE 1000BASE-ZX).

Innym przykładem może być MPLS to wysoce wydajna technologa routingu WAN dla dostawcy usług bez względu na metodę dostępu lub rodzaj obciążenia. MPLS, może obsługiwać różne metody dostępu klienta - czy łączy się przez Ethernet, czy za pomocą kabla koncentrycznego. MPLS może enkapsulować wszystkie typy protokołów w tym IPv4 czy IPv6. Obecnie MPLS jest najczęściej stosowanym protokółem warstwy 2 w sieciach rozległych.

3.7.3. Łączność internetowa

Sieci WAN, napewno większości będą kojarzyć się z połączeniem z siecią Internet i jest w większości przypadków dobra myśl. Ponieważ jak wcześniej wspominaliśmy, nawet duże przedsiębiorstwa rzadko decydują się na ustanowienie prywatnej sieci WAN, przez jednego z operatorów. Najczęściej wykorzystują oni sieć publiczną - współdzieloną z innymi abonentami, już nie koniecznie biznesowymi. Zapewniając tym samym łączność miedzy np. oddziałami firmy wraz z dostępem do Internetu.

Technologie łączności internetowej możemy podzielić na przewodowe oraz bezprzewodowe. Do sieci przewodowowych możemy zaliczyć technologię takie jak:

DSL jest wykorzystaniem linii telefonicznej dla połączeń szerokopasmowych. Technologia ta wykorzystuje nieużwane przez rozmowy telefoniczne przestrzeń częstotliwości. Istnieje kilka jej odmian oferujących różne przepustowości. Odmiana ADSL - asymetryczny DSL - wykorzystuje węższy zakres częstotliwości dla wysłania danych i szerszy dla ich pobierania, co przełoży się na różnice w przepustowości łącza w tych kierunkach transmisji. Poza częstotliwością na szybkość DSL wpływa długość pętli lokalnej, rodzja użytego kabla oraz jego stan. Dla odmiany ADSL, długość pętli lokalnej możemy wynosić maksymalnie 5,46 km. Poza ADSL, istnieje kilka wersji takich jak, ADSL2+ czy SDSL - symetryczny DSL. Modemy DSL-owe, konwertują sygnał Ethernet-u na sygnał DSL, który jest przesyłany do urządzenia DSLAM i tam jest rodzielany na połaczenie telefoniczne oraz połącznie internetowe. W przypadku DSL każdy abonent ma oddzielne połącznie z DSLAM, który znajduje się w CO operatora, więc ilość użytkowników nie ma wpływu na jego obciążenie, tak jak w przypadku połączenia kablowego.

Technlogia DSL dla warstwy drugiej używa protokołu PPP, mimo że jest on przestarzały to zapewnia następujące czynniki, które z poziomu usługodawcy mogą być dość istotne:

Modemy mają złącza DSL do podłączenia linii telefonicznej oraz Ethernet do podłączenia routera lub hosta. Ethernet nie wspiera PPP i wówczas należy wdrożyć taką metodę jak PPPoE. Host z uruchomionym klientem PPPoE, enkapsuluje ramkę PPP w ramce Ethernet i wysyła ją do modemu. Modem denkapsuluje ramkę PPP z ramki Ethernet i przesyłą ją do usługodawcy za pomocą sygnałów DSL. Jedną z metod wdrożenia PPPoE jest albo uruchomienie klienta na hosie, wówczas jego interfejs zostanie zaadresowany za pomocą publicznego adresu IP. Drugim wariantem jest uruchomienie routera z funkcją PPPoE. Wówczas hosty komunikują się z nim w taki sam sposób jak z innym urządzeniem. Router zajmuję się już obsługą PPPoE.

Technologia kablowa, jest sposobem na uzyskanie dostępu do Internetu przy użyciu kabla koncentrycznego. Nowoczesne systemy technologi kablowej konwergują usługi dostarczając do domostw Internet, telewizję oraz telefonię. Technologie kablowe opisuje standard DOCSIS obecnie w wersji 3, pozwalającej na stosowanie HFC. Jest to topologia hybrydowa pozwalającą wykorzystanie połączenia światłowodowego pomiędzy np. budynkiem wielorodzinnym, a CO operatora. Umożliwia ona przepustowości nawet powyżej 1Gb/s.

W przypadku wyboru światłowodu jako metody na dostęp do Internetu, będzie mieć doczynienia z technologiami Fiber to the i do wyboru możemy mieć:

Obecnie stosowane technologie dostępu do szerokopasmowego Internetu, zapewniają dostęp do niego bez potrzeby przeciągania żadnych kabli. Do wyboru bowiem mamy technologie bezprzewodowe, spośród, których możemy wyróżnić:

Rozpatrując wybór technologii dostępu do Internetu, musimy również zadbać o bezpieczeństwo naszych połączeń. Należy pamiętać, że współdzielimy sieć operatora wraz z innymi abonentami. Jeśli pracownicy naszej firmy będą pracować zdalnie, muszą mieć zapewnione bezpieczne połączenie. I jednym punktem wejścia do firmowej sieci powinny być wirtualne sieci prytwane - VPN. Sieci tego typu są alternatywą dla drogich lączy dzierżawionych, ponieważ mogą wirtualnie zapewniać połączenie punkt-punkt. Sieci VPN zazwyczaj szyfrują swój ruch. Chociaż istnieją rodzaje tuneli (połączenia, wewnątrz innego połączenia), które formalnie są VPN, ale nie zapewniają tej warstwy szyfrowania. Korzyści jakie płyną ze stosowania VPN to:

Do zaimplementowania będziemy mieć dwa podejścia, w zależności od naszych potrzeb. Jeśli będziemy łączyć oddziały w firmie, to wybierzemy podejscie Site-to-site, gdzie tunel rozpoczyna się i kończy na routerach. Klienci nie są swiadomi tego, że ich ruch jest tunelowany (pakiety IP, są przesyłane wewnątrz innej transmisji IP). Drugim podejściem jest dostęp zdalny gdzie np. pracownicy pracują zdalnie i powinni korzystać z tunelu w trakcie pracy lub w momencie gdy potrzebują dostępu do konkretnego zasobu w sieci firmowej. Tunel wówczas jest zestawiany pomiędzy routerem a urządzeniem docelowym - laptopem pracownika.

Oczywiście musimy miec na uwadze fakt, że mogą zdarzyć się takie sytuacje, że nasz operator może mieć awarie i nasi pracownicy zdalni nie są wstanie podłączyć dokońca tunelu VPN. Taka sytuacja będzie mieć miejsce, w momencie nasze połączenie z usługodawcą jest w trybie single-homed - oznacza ono jedno łącze do usługodawcy, rozwiązaniem tego może być tryb dual-homed, który wprowadza nadmiarowość w łączach do operatora. Jednak w naszym przypadku to usługodawca jest kiepski i nonstop ma jakieś mniejsze lub większe awarie. Wówczas pozostaje nam zakupić łączne od kolejnego usługodawcy. Takie podejście nazywamy multihomed, a jeszcze lepiej by było, abyśmy mieli po dwa łącza do każdego z nich - dual-multihomed.

Podsumowanie

W tym rodziale zapoznaliśmy się z technologiami sieci rozległych. Ich działaniem oraz cechami charakterystycznymi poszczególnych ich rodzajów. Na koniec poznaliśmy popularne rodzaje łączności szerokopasmowych zapewniających dostęp do Intenetu. Wspomniane zostały także sieci VPN.

3.8. Koncepcje VPN oraz IPSec

Wirtualne sieci prywatne VPN są obecnie standardem zapewnienia bezpiecznego zdalnego dostępu do zasobów przedsiębiorstw. Sieci te wykorzystują publiczną infrastrukturę do przesyłania szyfrowanych danych.

Jeśli mówimy o sieciach VPN, często mamy namyśli szyfrowany tunel. Istnieje wyjątek od tej reguły. Protokół GRE firmy Cisco jest zwykłym tunelem sieci IP, nie zapewnia warstwy szyfrowania, służy do enkapsulowania protokołów IPv4 i IPv6 tworząc tym samym wirtualny tunel punkt-punkt.

W przypadku technologii VPN firmy najczęściej same zajmują się jej wdrażaniem wśród pracowników czy między oddziałami firmy, wówczas do wyboru dla połączeń lokacja-lokacja mamy takie rozwiązania jak:

Dla połączeń zdalnego dostępu możemy skorzystać z takich rozwiązań jak:

Jeśli firma nie posiada odpowiedniego personelu, który mógłby wdrożyć usługi VPN może wówczas skorzystać z usług VPN oferowanych przez usługowdawcę. Tego rodzaju sieci VPN operają się o protokół MPLS rozszerzając jego działanie na warstwę trzecią.

3.8.2. Rodzaje sieci VPN

W przypadku zdalnego dostępu, mamy dwie opcje - możemy skorzystać z przeglądarki (uwierzytelniając się na specjalnie przygotowanej do tego stronie) zabezpieczając połączenie przy użyciu SSL. Wówczas mówimy o połączeniu VPN bez klienta, połączenia wychodzące z przeglądarki są zabezpieczone tego typu tunelem. Ten tunel działa tylko i wyłącznie dla protokołów obsługiwanych z przez przeglądarki.

Innym rodzajem zdalnego dostępu jest użycie klienta VPN, w przypadku Cisco jest to program Any Connect Secure Mobilty. Użytkownicy muszą zainicjować połączenie VPN i uwierzytelnić się w bramie sieci VPN. Ruch uwierzytelnionych pracowników może być kierowany do sieci firmowej w celu uzyskania dostępu do jej zasobów. Oczywiście wszystko zależy od ustawionych tras. Oprogramowanie klienta szyfruje ruch za pomocą protokołów IPSec lub SSL.

Połączenie VPN przy użyciu SSL ma dość duże ograniczenia - jest więc dość rzadko stosowane. Tunele służące do dostępu zdalnego są najczęściej realizowane przy użyciu klienta VPN z wykorzystaniem szyfrowania IPSec.

Połączenia między routerami, a co za tym idzie między lokalizacjami, wykorzystują szyfrowanie IPSec. Tego rodzaju połączenia VPN są transparentne, użytkownicy sieci lokalnych nawet nie wiedzą, że ich połączenia są szyfrowane i przekazywane przez tunel, w siedzibie firmy brama VPN usuwa nagłówki, następnie deszyfruje i przekazuje pakiet do sieci wewnętrznej.

Wadą połączeń VPN z wykorzystaniem szyfrowania IPSec jest zdolność jedynie do przenoszenia ruchu unicast-wego. Taka zależność powoduje, że protokoły routingu wykorzystujące adresy multicast nie bedą mogły działać przez tunel. Rozwiązaniem tego problemu jest wspomniany już wcześniej protokół GRE, choć tutaj wadą tego protokołu jest brak warstwy bezpieczeństwa. Nie mniej jednak możliwe jest umieszczenie wewnatrz tunelu IPSec danych tunelu GRE. W tej technice używa się nazewnictwa protokołu transportowego - protokołu faktycznie używanego do przekazania pakietów, protokół przewoźnika - protokół używany do noszenia oryginalnego protokołu, w tym przypadku jest GRE oraz protokół pasażera - protokół faktycznie niosący dane, w przypadku protokołów routingu może to byc OSPF.

Połączenia lokacja-lokacja sprawdzają się w przypadku gdy oddziałów jest kilka. Ponieważ bramy VPN oddziałów wymagały statycznej konfiguracji każdego innego oddziału lub oddziału centralnego. Rozwiązaniem tego ograniczenia może być użycie technlogii DMVPN, która działa w technologii Hub-and-spoke. Lokalizacje są konifigurowane przy użyciu wielopunktowej enkapsulacji generycznej routingu (mGRE), wiec dodanie nowej lokalizacji wykorzysta tę samą konfigurację. Natomiast bramy VPN w poszczególnych oddziałach mogą wykorzystać informacje z lokalizacji centralnej do ustanowienia tuneli VPN pomiędzy sobą. Technologia DMVPN wykorzystuje tunel IPSec.

Innym uproszczeniem procesu konfigracji obsługi wielu lokalizacji i zdalnego dostępu jest VTI - interfejs wirtualnego tunelu IPsec. IPSec VTI może wysyłać i odbierać zaszyfrowanych ruch zarówno unicast IP jak i multicast dzięki czemu protokoły routingu są obsługiwane automatycznie i nie ma potrzeby stosowania GRE.

Dostawcy usług MPLS mogą zapewnić klientom zarządzane rozwiązanie VPN, wówczas za zabezpieczenie ruchu odpowiadać będzie dostawca. Istnieją dwa rodzaje rozwiązań MPLS VPN:

3.8.2. IPsec

IPsec to standard definiuje sposób zabezpieczenia VPN w sieciach IP. IPsec chroni i uwierzytelnia pakiety IP między źródłem a miejscem docelowym.

IPsec zapewnia następujące podstawowe funkcje bezpieczeństwa:

IPsec składa się z pięciu różnych funkcji zabezpieczeń:

Skojarzenia zabezpieczeń - SA, są podstawowym element składowym protokołu IPsec. Podczas ustanawiania łącza VPN, urządzenia peerów muszą wynegocjowawać powyższe parametry, aby mieć zgodne SA. Jeśli paramety zostaną ustalone wówczas dochodzi do zestawienia tunelu.

3.8. Podsumowanie

W tym rozdziale zapoznaliśmy się z koncepcjami VPN dowiedzialiśmy się czym są tak naprawdę wirtualne sieci prywatne. Omówiliśmy ich rodzaje, w których to używa się protokołu IPsec, który zapewnia bezpieczeństwo transmisji pakietów w.3. Standard ten tutaj również został omówiony. Poznaliśmy kilka dodatkowych technologii, pozwalających lepsze zarządzanie wieloma tunelami typu lokacja-lokacja.

3.9. Koncepcje QoS

Obecnie w sieciach występuje duże natężenie różnorakiego ruchu. Nowe rodzaje komunikatorów, zamiast wysyłania wyłącznie wiadomości tekstowych pozwalają na komunikację głosową czy transmisję wideo. Tego rodzaju transmisje zarówno dźwieku jak i obrazu w czasie rzeczywistym wymagają lepszych warunków sieciowych.

Niestety często jest tak, że wiele linii komunikacjnych gromadzi się pojedynczym urządzeniu, takim jak np. router. Takie ilości danych są następnie przesyłane przez kilka mniejszych łączy lub jedno łącze o niskiej przepustowości. Takie obchodzenie się z pakietami doprowadza najcześciej do zatorów. Jest to stan, w którym wydłuża się czas oczekiwania na informacje przesyłane przez sieć. Innym czynnikiem powodującym zatory jest transmisja dużych pakietów, która uniemożliwia dostęp do pasma tym mniejszym.

Jeśli nie można przesłać, pewnych informacji ze względu na duże natężenie ruchu, pakiety te są kolejkowane w pamięci operacyjnej urządzeń, w oczekiwaniu na zwolnienie się łącza i swoją kolej do do przesłania. Oczywiście do urządzenia mogłą napływać dalsze transmisje tego rodzaju, czego urządzenie nie będzie mogło zmieścić, zostanie poprostu odrzucone. Takie zachowanie generuje opóźnienia we właściwej transmisji z aplikacji do aplikacji. Rozwiązanie tego typu problemu może być klasyfikowanie ruchu.

Router na podstawie różnych parametrów, może utworzyć dla całego ruchu kilka odrębnych kolejek i przesyłać ten ruch do hostów na podstawie przydzielonego kolejkom priorytetu.

Wraz z klasyfikacją ruchu sieciowego używa się kilku terminów, których wyjaśnienie znajduje się poniżej:

Spośród źródeł opoźnienia możemy wyróżnić sobie takie czynniki jak:

Powyższe aspekty transmisji danych, są częścią mechamizmów zapewniających jakość usług - QoS w sieciach IP.

W wyniku przeciążenia urządzenia może ono zacząć odrzucać pakiety. Bez mechaznizmów QoS, pakiety transmisji w czasie rzeczywistym są traktowane na równi z transmisją, której dane nie są za bardzo wrażliwe na opóźnienia. Utrata pakietów jest bardzo często przyczą problemów z jakością głosu w sieci IP. Kodeki obsługujące tego rodzaju ruch posiadają pewną tolerację utraty pakietów bez znacznej utraty jakości połączenia. Aby zapewnić czytelność transmisji w czasie rzeczywistym, używa się mechanizmów QoS do klasyfikowania pakietów pod kątem zerowej utraty pakietów. Często nadaje się tego rodzaju transmisjom pierwszeństwo na innymi mniej wrażliwymi na utratę pakietów.

3.9.1. Specyfikacja ruchu sieciowego

Na początku XXI w. w ruchu sieciowym można było zaobserwować takie transmisje jak klasyczna transmisja danych oraz transmisje głosowe VoIP. Obecenie również dużą częścią ruchu zajmują również transmisje wideo, zarówno spotkania przy użyciu komunikatorów jak i telewizja wykorzystująca obecnie w dużej mierze sieć Intenet. Te rodzaje ruchu mają bardzo specyficzne wymagania odnośnie jakości połączenia.

Ruch transmisji głosowej jest bardzo wrażliwy na opóźnienia oraz na utracone pakiety. Retransmisje w tym przypadku nie mają sensu, dlatego też ruch tego rodzaju musi mieć wyższy priorytet niż ruch innego rodzaju. Transmisje głosowe dopuszczają poźnienie do 150 ms, jitter do 30 ms, strata pakietów do 1% oraz wymaganie przepustowości od 30 do 128 Kb/s. Cechami charakterystycznymi tego ruchu są: płynność, łagodność, wrażliwość na opoźnienia i przerwania oraz preferencja transmisji UDP nad TCP.

W przypadku ruchu wideo jest on bardziej niespójny i nieprzewidywalny w porównaniu do ruchu głosowego. W zależności od dynamiki wyświetlanych treści ruch ten może przesłać znacznie więcej danych tym samym odcinku czasu. Podobnie do ruchu głosowego, ruch ten jest wrażliwy na warunki sieciowe, ale nie aż tak bardzo jak ruch głosowy. Ruch wideo również powinien posiadać zwiększony priorytet, kosztem ruchu mniej wrażliwego na zakłócenia - takiego jak ruch danych. W przeciwnym wypadku transmisje czy strumienie wideo mogą być niezdatne do oglądania. Transmisje wideo dopuszczają opoźnienia na poziomie do 200 - 400 ms. Jitter do 30-50 ms, stratę pakietów na poziomie od 0,1% do 1% oraz minimalną przepustowość na poziomie od 384 Kb/s do 20 Mb/s. Cechy charakterystyczne dla ruchu wideo to: gwałtowność, zachłanność, wrażliwość na przerwania i opóźnienia oraz wybór UDP nad TCP.

W przypadku transmisji danych aplikacje wykorzystują protokoły UDP oraz TCP. Gdy aplikacja nie toleruje błędów, wybrany zostanie protokoł TCP nad UDP, gdyż dokonuje on korekcji błędów przez retransmisje. Ruch danych może być płynny lub gwałtowny, ale zazwyczaj jest płynny i przewidywalny. Przypadku ruchu danych to niektóre aplikacje TCP mogą wykorzystać tyle przepustowości ile da się uzyskać. Ruch danych jest stosunkowo niewrażliwy na spadki i opóźnienia w porównaniu z ruchem wideo czy głosowym, to przy ustalaniu priorytetów, należy wziąć po uwagę doświadczenia użytkowników - istnieją dwa kryteria:

Jeśli aplikacja jest interaktywa, a dane są krytyczne to należy ustawić priorytet dla ruchu tej aplikacji aby uzyskać opoźnienia mieszczące się w granicach ludzkiego czasu reakcji. Około 1 do 2s. Jeśli na dane nie są krytyczne do aplikację zyskają na większym priorytecie/mniejszym opoźnieniu.

Jeśli aplikacja jest nie interaktywna, a dane są krytyczne to opóźnienie może znacznie się różnić, o ile zostanie zapewniona minimalna przepustowość. Jeśli dane są nie krytyczne, aplikacja może pobrać dla siebie pozostałą część przepustowości związaną z obsługą głosu, wideo oraz innych danych.

3.9.2. Algorytm kolejkowania

Do implementacji jakości usług potrzebne są algorytmy kolejkowania. Te mechanizmy stają się aktywne gdy na łączu występuję przeciążenie. Kolejkowanie jest narzędziem do zarządzania ograniczeniami, które można buforować ustalać priorytety i ewentualnie, jeśli to konieczne zmieniać kolejność pakietów przed przesłaniem ich do miejsca docelowego. Do wyboru mamy takie algorytmy jak:

Pierwszą kolejką jest FIFO. Jest to najprostszy model kolejki, przekazuje on pakiety dalej w kolejności ich przybycia. Kolejka tego typu nie rozpoznaje ani priorytetów, ani klas ruchu. Ta kolejka może dopuścić do utraty pakietów ważnego dla nas ruchu. Jeśli nie są wdrożone żadne inne kolejki jest domyślna kolejka dla wszystkich interfejsów z wyjątkiem interfejsów szeregowych E1 (europejskie łącza dzierżawione).

WFQ jest zautomatyzowaną metodą planowania, zapewniającą uczciwy podział przepustowści dla całego ruchu. WFQ stosuje priorytet lub wagi do zidentyfikowania ruchu. WFQ nie zezwala na konfiguracji opcji klasyfikacji. WFQ klasyfikuje ruch do rozmów lub przepływów, następnie określa ile każdy przepływ ma otzymać przepustowości względem innych. WFQ umożliwia nadanie niewielkiemu interaktywnemu ruchowi typu SSH lub ruch głosowy pierszeństwa w stostunku do dużego ruchu takiego jak FTP. WFQ opiera swoje klasyfikacje na adresacji pakietów, adresach MAC, numerach protów, protokołach oraz wartości pola typu usługi (ToS) w nagłówku IPv4. Przy ruchu o niskiej przepustowości otrzymają usługę preferencyjną, która pozwoli na terminowe przesłanie całego ładunku transmisji. Wiekszy ruch jest dzielony proporcjonalnie między pozostałą przepustowość. WFQ nie jest obsługiwana przez funkcje tunelowania oraz szyfrowania, ponieważ te funkcje modyfikują informacje o zawartości pakietów wymaganej przez WFQ do klasyfikacji. Mechanizm ten również trochę mniej precyzyjnie zapewnia kontrolę nad alokacją pasma.

CBWFQ rozszerza standardową funkcjonalność WFQ zapewniając obsługę klas ruchu. Za pomoca CBWQF możemy zdefiniować klasy na podstawie dopasowania do protokołów, listy ACL, czy interfejsów wejściowych. Klasy są przypisywane według kryteriów dopasowania. Definiując klasę określamy jej przepustowość, wagę czy maksymalny limit pakietów, zdefiniowana przepustowość jest to gwarantowana szerokość pasma dostarczana klasie podczas przeciążenia. Chcąc określić klasę, należy również określić limit kolejki dla tej klasy, tj. maksymalną liczbę pakietów, które mogą się w niej znajdować. Po osiągnięciu tego limitu pakiety każdy pakiet docierający na koniec kolejki (nowy pakiet) będzie porzucany. Ten mechanizm nazywa się tail drop - porzucenie ogona. Tail drop, traktuje ruch jednakowo i nie rozróżnia klas usług.

LLQ jest funkcja kolejki zapewniająca ścisłe kolejkowanie priorytetowe (PQ) dla CBWFQ. Ścisłe PQ zapewnia wysłanie pakietów wrażliwych na opoźnienia takich jak transmisja głosowa przed pakietami w innych kolejkach. LLQ zapewnia ścisłą kolejkę priorytetową dla CBWFQ, zmieniejszając zniekształcenia w transmisji głosowej.

3.9.3. Modele QoS

Istnieją trzy modele QoS, które możemy wdrożyć:

QoS jest zaimplementowany w sieci przy użyciu IntServ lub DiffServ. Podczas gdy IntServ zapewnia najwyższą gwarancję jakości usług jest bardzo zasobochłonny, a zatem nie jest łatwo skalowalny. Natomiast DiffServ jest mniej zasobochłonny i bardziej skalowalny. Te dwa podejścia są czasami współwdrażane w sieciowych implementacjach QoS.

Modele do wdrożenia QoS:

3.9.4. Techniki wdrażania QoS

Utrata pakietów jest zwykle wynikiem przeciążenia na interfejsie. Większość aplikacji korzystających z protokołu TCP spowoduje to spowolnienie, ponieważ TCP automatycznie dostosowuje się do przeciążenia sieci. Porzucone segmenty TCP powoduje, że sesje TCP zmniejszają rozmiary okien. Niektóre aplikacje nie używają TCP i nie obsługują zrzutów. Następujące podejścia mogą zapobiegać spadkom w aplikacjach wrażliwych:

Narzędzia do wdrażania QoS:

Zanim pakiet będzie mógł mieć zastosowaną politykę QoS musi zostać sklasyfikowany. Klasyfikacja i znakowanie pozwalają nam identyfikować lub oznaczać typy pakietów. Klasyfikacja określa klasę ruchu, do której należą pakiety lub ramki. Dopiero po zaznaczeniu ruchu można zastosować do niego zasady.

Sposób, w jaki pakiet jest klasyfikowany, zależy od implementacji jakości usług. Metody klasyfikacji przepływów ruchu na warstwie 2 i 3 obejmują korzystanie z interfejsów, ACL i map klas. Ruch można również klasyfikować w warstwach od 4 do 7 przy użyciu funkcji rozpoznawania aplikacji sieciowych (NBAR).

Oznakowanie ruchu dla QoS:

Standard 802.1Q obejmuje również schemat priotetyzacji QoS znany jako IEEE 802.1p. Wykorzystuję on pierwsze trzy bity w polu TCI (Tag Control Information), znane jako pole priorytetu PRI (Priority), to 3-bitowe pole identyfikuje oznaczenia klasy usług (CoS). Trzy bity oznaczają, że ramką Ethernet warstwy 2 może być oznaczona jednym z ośmiu poziomów priorytetu (wartość 0-7).

Wartość klasy usług (CoS) Ethernet:

IPv4 i IPv6 określają 8-bitowe pole w nagłówkach pakietów: Type of Service (ToS) dla IPv4 oraz pole Trafic Class dla IPv6.

Typu usługi (IPv4) i klasa ruchu (IPv6) zawierają oznaczenia pakietów przypisane przez narzędzia do klasyfikacji QoS. To pole jest następnie okreslane przez urządzenia odbierające, które przekazują ruch w oparciu o odpowiednio przypisną politykę jakości usług. RFC 2474 zastępujący RFC 791 i na nowo definiuje pole ToS poprzez zmianę nazwy i oraz rozszerzenie pola IP Precedence (IPP), które wcześniej było używane do oznaczeń QoS - RFC 791. Nowe pole na 6-bitów przydzielone do QoS. Nazwane DSCP (Differentiated Services Code Point) przez długość 6 bitów oferuje maksymalnie 64 klasy usług. Pozostałe dwa bity IP Extended Congestion Notification (ECN) mogą być używane przez routery obsługujące ECN do oznaczanie pakietów zamiast ich odrzucania. Oznakowanie ECN informuje urządzenia o występującym przeciążęniu w ruchu pakietów.

Wartość DSCP są podzielone na trzy kategorie:

Gwarantowane wartości przesyłania. Kolejki posortowane są od najlepszej do najgorszej.

  1. Klasa 4 - niski spadek: AF41 (34), średni spadek: AF42 (36), wysoki spadek: AF43 (38).
  2. Klasa 3 - niski spadek: AF31 (26), średni spadek: AF32 (28), wysoki spadek: AF33 (30).
  3. Klasa 2 - niski spadek: AF21 (18), średni spadek: AF22 (20), wysoki spadek: AF23 (22).
  4. Klasa 1 - niski spadek: AF11 (10), średni spadek: AF22 (12), wysoki spadek: AF13 (14).

AFxy - wzór jest określony w następujący sposób:

Na przykład AF32 należy do klasy 3 (binarny 011) i ma preferencje średniej utraty pakietów (binarny 10). Pełna wartość DSCP wynosi 28, ponieważ zawiera 6 bit 0 (binarny 011100).

Ponieważ pierwsze 3 bity pola DSCP wskażują klasę, bity te są również nazywane bitami selektora klasy (CS). Te 3 bity odwzorwują bezpośrednio 3 bity pola CoS i pola IPP, aby zachować zgodność z 802.1p i RFC 791.

Ruch powinien być klasyfikowany i oznaczony tak blisko źródła, jak jest to technicznie i administracyjnie wykonalne. Granicę zaufania definiują:

  1. Zaufane punkty końcowe mają możliwość do oznaczania ruchu aplikacji do odpowiednich wartości CoS warstwy 2 i/lub DSCP warstwy 3. Przykłady zaufanych punktów końcowych obejmują telefony IP, bezprzewodowe punkty dostępowe, bramy i systemy wideokonferencyjne, stacje konferencyjne IP i inne.
  2. Bezpieczne punkty końcowe mogą mieć ruch oznaczony na przełączniku warstwy 2.
  3. Ruch można również oznaczać na przełącznikach/routerach warstwy 3.

Często również dochodzi do ponownego oznaczenia ruchu, np. przekładając wartość CoS na IPP lub DSCP.

Zarządzanie zatorami obejmuje kolejkowanie i metody planowania, w których nadmiarowy ruch jest buforowany lub umieszczany w kolejce (a czasami odrzucany), gdy czeka na wysłanie przez interfejs wyjściowy. Narzędzia do unikania monitorują obciążenie ruchu sieciowego, starając się przewidywać i unikać zatorów we wspólnych wąskich gardłach sieci i intersieci, zanim zatory staną się problemem.

Niektóre techniki unikania zatorów zapewniają preferencyjne traktowanie, w przypadku którego pakiety są odrzucane. Na przykład Cisco IOS QoS obejmuje ważone losowe wczesne wykrywanie (WRED) jako możliwe rozwiązanie pozwalające uniknąć zatorów. Algorym WRED pozwala na unikanie przeciążeń na interfejsach sieciowych, zapewniając zarządzania buforami i pozwalając na zmniejszenie lub ogranicznie ruchu TCP przed wyczpaniem buforów. Korzystanie z WRED pomaga uniknąć spadków i maksymalizuje wykorzystanie sieci i wydajność aplikacji opartych na protokole TCP. Nie ma jednak techniki unikania zatorów w ruchu opartym na protokole UDP (User Datagram Protocol), takim jak ruch głosowy. W przypadku ruchu opartego na UDP metody takie jak kolejkowanie i techniki kompresji pomagają zmniejszyć, a nawet zapobiec utracie pakietów UDP.

Kształtowanie ruchu i kształtowanie polityki to dwa mechanizmy zapewniane przez oprogramowanie Cisco IOS QoS w celu zapobiegania zatorom. Kształtowanie ruchu zatrzymuje nadmiarowe pakiety w kolejce, a następnie planuje nadwyżkę od poźniejszej transmisji w odstępach czasu. Wynikiem kształtowania ruchu jest wygładzona szybkość przesyłania pakietów. Kształtowanie implikuje istnienie kolejki i wystarczające ilości pamięci do buforowania opóźnionych pakietów, podczas gdy zasady nie działają. Kształtowanie wymaga funkcji planowania dla poźniejszej transmisji wszelkich opóźnionych pakietów. Kształtowanie jest koncepcją wychodzącą - pakiety wychodzące do interfejsu są umieszczane w kolejce i mogą być kształtowane. Natomiast polityka jest stosowan dla ruchu przychodzącego na interfejsie. Gdy natężenie ruchu osiągnie skonfigurowaną maksymalną szybkość, nadmiar ruchu jest odrzucany (lub oznaczany). Usługi polityki są powszechnie wdrażane przez dostawców usług w celu wyegzekwowania wkaźnika informacji o klientach objętych umową (CIR). Jednakże dostawca usług może również zezwolić na przepuszczanie przez CIR, jeśli sieć usługodawcy nie jest obecnie przeciążona.

Polityka QoS musi uwzględniać pełną ścieżkę od źródła do celu. Jesli jedno z urządzeń używa innej zasady niż jest wymagane, może mieć to wpływ na całą implementację QoS. Na przykład zacina się podczas odtwarzania wideo może być wynikiem jednego przełącznika na ścieżce, który nie ma odpowiedniej wartości CoS. Poniżej znajduje się kilka wskazówek, które pomgają zapewnić lepsze wrażenia użytkownikom końcowym:

Podsumowanie

Na początku zdefiniowaliśmy sobie takie pojęcia jak klasyfikowanie ruchu, opoźnienia i jitter. Dowiedzilismy się także czym grozi utrata ruchu. Następnie sklasyfikowaliśmy sobie ruch sieciowy, poznaliśmy algorytm kolejkowania oraz modele QoS na koniec zaznajomiliśmy się z teoretycznymi podstawmi technik wdrażania mechnizmu QoS.

3.10. Zarządzanie siecią

Za pomocą protokołu CDP możemy utworzyć mapę sieci. CDP to zastrzeżony protokół warstwy 2 firmy Cisco, który służy do zbierania informacji o urządzeniach Cisco współużytkujących to samo łącze danych. Protokół CDP jest niezależny od mediów czy innych protokołów działa na wszystkich urządzeniach Cisco, takich jak routery, przełączniki czy serwery dostępowe.

Urządzenia wysyłają między sobą okresowe ogłoszenia CDP z informacjami na temat rodzaju wykrytego urządzenia, jego nazwie oraz typie i ilości interfejsów. Protokół ten może pomóc w podejmowaniu decyzji dotyczących projektu sieci, rozwiązywaniu problemów czy wprowadzaniu zmian w sprzęcie. Protokół może być również używany jako narzędzie do wykrywania sieci w celu określenia informacji i sąsiednich urządzeniach. Te informacje mogą pomóc przy tworzeniu logicznej topologii sieci.

Protokół CDP jest domyślnie włączony na wszystkich urządzeniach w sieci, jednak ze względów bezpieczeństwa może być pożądne jego wyłączenie, na niektórych interfejsach bądź globalnie. Może on zdradzać cenne informacje jakie adresy IP, wersja Cisco IOS oraz typ urządzenia.

Aby zweryfikować stan CDP i wyświetlić informacje o CDP w trybie uprzywilejowanym EXEC wydajemy następujące polecenie:

Router# show cdp
Global CDP information:
      Sending CDP packets every 60 seconds
      Sending a holdtime value of 180 seconds
      Sending CDPv2 advertisements is enabled

Aby wyłączyć CDP globalnie dla wszystkich obsługiwanych interfejsów w trybie konfiguracji globalne wydajemy następujące polecenie:

Router(config)# no cdp run
Router(config)# exit
Router# show cdp
CDP is not enabled

Natomiast włączenie globalne CDP, odbywa się w tym samym trybie przy użyciu następującego polecenia:

Router(config)# cdp run

Wyłączenie oraz włączenie CDP dla interfejsów odbywa się w trybie konfiguracji interfejsu, poprzez wydanie polecenia no cdp enable - dla wyłączenia CDP na interfejsie lub cdp enable dla włączenia CDP na interfejsie.

Aby wyświetlić listę sąsiadów, możemy użyć polecenia show cdp neighbors w trybie uprzywilejowanym EXEC. CDP zwraca kilka przydanych informacji.

Router#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID
Switch       Gig 0/1          146            S       2960        Gig 0/2

Za pomocą polecenia show cdp interface możemy wyświetlić podsumowanie interfejsów z włączonym CDP.

Router#show cdp interface
Vlan1 is administratively down, line protocol is down
  Sending CDP packets every 60 seconds
  Holdtime is 180 seconds
GigabitEthernet0/0 is administratively down, line protocol is down
  Sending CDP packets every 60 seconds
  Holdtime is 180 seconds
GigabitEthernet0/1 is up, line protocol is up
  Sending CDP packets every 60 seconds
  Holdtime is 180 seconds

Polecenie show cdp neighbors zawiera przydantne informacje o każdym sąsiednim urządzeniu.

Router#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID
Switch       Gig 0/1          146            S       2960        Gig 0/2

Zadanie praktyczne - Packet Tracer

Użyj CDP do mapowania sieci - scenariusz
Użyj CDP do mapowania sieci - zadanie

3.10.1. Odkrywanie urządzeń z protokołem LLDP

Protokół LLDP (Link Layer Discovery Protocol) robi to samo co CDP, ale jest on protokołem otwartym, dostępnym również na sprzęcie Cisco.

W zależności od urządzenia LLDP może być domyślnie wyłączone, tak też jest w przypadku sprzętu Cisco (preferują swój protokół CDP). Aby włączyć protokół LLDP, w trybie konfiguracji globalnej wydajemy poniższe polecenie:

Switch(config)#lldp run

Protokół LLDP możemy włączyć również niekoniecznie dla całego urządzenia, ale dla konkretnych interfejsów. W przeciwieństwie do CDP, LLDP na interfejsie musi być skonfigurowany zarówno do odbierania i wysyłania pakietów, tak jak na poniższym przykładzie:

Switch(config)# interface gigabitethernet 0/1
Switch(config-if)# lldp transmit
Switch(config-if)# lldp receive
Switch(config-if)# end

Za pomocą polecenia show lldp możemy sprawdzić stan protokołu na naszym urządzeniu. Natomiast za pomocą polecenia show lldp neighbors możemy wyświetlić listę wykrytych sąsiadów oraz kilka informacji o nich.

Router#show lldp
Global LLDP Information:
    Status: ACTIVE
    LLDP advertisements are sent every 30 seconds
    LLDP hold time advertised is 120 seconds
    LLDP interface reinitialisation delay is 2 seconds
Router#show lldp neighbors
Capability codes:
    (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
    (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other
Device ID           Local Intf     Hold-time  Capability      Port ID
Switch              Gig0/1         120        B               Gig0/2

Total entries displayed: 1

LLDP zwraca podobną ilość informacji jak CDP, jedak brakuje tutaj informacji o platformie. Przełączniki tutaj są oznaczane jako mosty (B - Bridge).

Zadanie praktyczne - Packet Tracer

Użyj LLDP do mapowania sieci - scenariusz
Użyj LLDP do mapowania sieci - zadanie

3.10.2. NTP

Poprawne ustawienie daty i czasu na urządzeniach sieciowych jest ważne jeśli korzystamy z usługi dziennika - syslog (omówiony poźniej w tym rozdziale). Samą czynność ustawienia bierzącej daty i czasu możemy dokonać na dwa sposóby, albo za pomocą polecenia clock set w trybie uprzywilejowanym EXEC, albo za pomocą protokołu NTP. Mając wiele urządzeń ciężko sobie wyobrazić, że będziemy ręcznie ustawiać wszystkie zegary, dlatego też wykorzystamy protokół NTP.

Protokół NTP umożliwia routerom w sieci synchronizację ustawień czasu z serwerem NTP. Klienci wykorzystujący NTP, uzyskują informacje o czasie i dacie z jednego źródła i mają bardziej spójne ustawienia czasu. Protokół NTP jest zaimplementowany w sieci, mozna go skonfigurować tak, aby synchronizował się z prywatnym zegarem głównym lub może synchronizować się z publicznie dostępnym serwerem NTP w Internecie. NTP używa protokołu UDP na port 123.

Protokół NTP jest usługą hierarchiczna, każdy z poziomów nazywany jest warstwą lub Stratum, im niższa warstwa czas jest mniej dokładny. Warstwa maksymalnie jest 15. Wartstwa 0 zawiera urządzenia wystawiające wzrorzec czasu, kiedy przechodzi między warstwami jego stan odchyla się stanu rzecywistego (są to wartości, które zwykłym ludzią nie robią różnice, ale jednak występują). Warstwa 16 oznacza brak synchronizacji z NTP.

Konfiguracja serwera NTP na sprzęcie Cisco polega na wydaniu poniższego polecenia w trybie konfiguracji globalnej.

R1(config)# ntp server 209.165.200.225

Synchronizacje naszego urządzenia z serwerem NTP możemy zweryfikować za pomocą poleceń:

R1# show ntp associations   
  address         ref clock       st   when   poll reach  delay  offset   disp
*~209.165.200.225 .GPS.           1     61     64   377  0.481   7.480  4.261
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

R1# show ntp status 
Clock is synchronized, stratum 2, reference is 209.165.200.225
nominal freq is 250.0000 Hz, actual freq is 249.9995 Hz, precision is 2**19
ntp uptime is 589900 (1/100 of seconds), resolution is 4016
reference time is DA088DD3.C4E659D3 (13:21:23.769 CET Mon Dec 09 2024)
clock offset is 7.0883 msec, root delay is 99.77 msec
root dispersion is 13.43 msec, peer dispersion is 2.48 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is 0.000001803 s/s
system poll interval is 64, last update was 169 sec ago.

Serwer NTP znajduje się w warstwie 1, swiadczy o tym kolumna st zwracana przez polecenie show ntp associations. Nasz router, zaś w warstwie drugiej, urządzenia Cisco, które są skonfigurowane na synchonizację czasu z NTP, automatycznie też stają się serwerami tej usługi świadcząc wzorzec czasu na danym poziomie w sieci.

Zadanie praktyczne - Packet Tracer

Skonfiguruj i zweryfikuj NTP - scenariusz
Skonfiguruj i zweryfikuj NTP - zadanie

3.10.3. SNMP

SNMP został opracowany aby umożliwić administratorom zarządzanie wezłami, takimi jak serwery, stacje robocze, routery, przełączniki itp. Umożliwia administratorom sieci monitorowanie jej wydajności, zarządzanie nią znajdowanie i rozwiązywanie problemów, planowanie rozwoju sieci. SNMP jest protokołem warstwy aplikacji, zapewniającymi format wiadomości, wykorzystywany w komunikacji pomiędzy urządzeniami, tzw. menedżerami a agentami. System SNMP składa się z trzech elementów:

Menadżer SNMP jest częścią zarządzania siecią. Uruchamia się na nim oprogramowanie do zarządzania SNMP. Może on zbierać informacje od agenta SNMP za pomocą akcji get i zmieniać konfigurację za pomocą akcji set. Dodatkowo agenci mogą przekażywać informacje bezpośrednio do menedżera sieci za pomocą traps (pułapek).

Agent SNMP i baza MIB znajdują się na urządzeniach klienckich SNMP. Urządzenia sieciowe wyposażone są w oprogramowanie agenta SNMP. Bazy MIB przechowuje dane o urządzeniu oraz statystyki operacyjne. Agent SNMP jest również odpowiedzialny za zapewnienie dostępu do bazy MIB. Protokół określa też, w jaki sposób informacje sterujące wymieniane są miedzy aplikacjami zarządzającymi siecią a agentami. Menedżer SNMP bada agentów i wysyła zapytania dla agentów SNMP na porcie UDP 161, agenci wysyłają pułaki do menedzera na porcie 162 UDP.

Pułapki (Traps) to komunikaty alarmowe generowane bez żądania, informujące menedżera SNMP o stanie sieci i ewentualnych zdarzeniach, które wystąpiły. Przykładowo komunikaty trap mogą zawierać informacje i nieprawidłowym uwierzytelnieniu, zmianach stanu łączy, czy nawet zamknięciach połączeń TCP. Powiadomienia kierowane przez pułapki zmniejszają zasoby sieci i agentów, eliminując potrzebę niektórych żądań odpytywania SNMP.

SNMP istnieje w 3 wersjach. Wersja 1 jest starym roziwązaniem i nie jest już często spotykana. W ramach tego kursu zajmiemy się wersjami 2c oraz 3. Druga wersja zawiera mechamizmy grupowego pobierania i szczegółowego raportowania do menedżerów, posiada ona także poprawioną obsługę błędów w tym rozszerzone kody błędów. Wersja 1 oraz 2 oferują minimalne funkcje bezpieczeństwa, co zostało poprawione z wersją 3 posiada ona bowiem kilka dodatkowych modeli i poziomów bezpieczeństwa:

Wybór odpowiedniej wersji SNMP wymaga konfiguracji agenta na urządzeniu, ponieważ może on komunikować się z wieloma menedżerami SNMP, możliwe jest skonfigurowanie oprogramowania do obsługi komunikacji przy użyciu protokołu SNMPv1, SNMPv2c lub SNMPv3.

W celach uwierzytelniania, protokoły SNMPv1 oraz SNMPv2 wykorzystują tzw. community strings - łańcuchy społeczności, które kontrolują dostęp do bazy MIB. Są to hasła zapisane jawnym tekstem. Łańcuchy społeczności SNMP uwierzytelniają dostęp do obiektów MIB.

Istnieją dwa rodzaje ciągów społeczności:

Zmienne MIB pozwalają oprogramowaniu zarządzającemu na monitorowanie i zarządzanie urządzeniami. Zmienne są zorgranizowane w sposób hierachiczny. Formalnie, baza MIB definiuje każdą zmienną przy pomocy identyfikatora obiektu OID. OID umożliwia unikatową identyfikację zarządzanych obiektów w hierarchii MIB. Baza MIB organizuje obiekty OID w sposób hierarchiczny, zazwyczaj w postaci drzewa bazujac na standardadach RFC. Standardy te definiują wspolne zmienne publiczne. Większość urządzeń implementuje te zmienne MIB. Ponadto, producenci sprzętu sieciowego, tacy jak Cisco, mogą definiować własne gałęzie drzewa i tym sposobem wprowadzać nowe zmienne specyficzne dla swoich urządzeń. Identyfikatory należą do Cisco są ponumerowane w następujący sposób: .iso(1) .org(3) .dod(6) .internet(1) .private(4) .enterprises(1) .cisco(9). Dlatego OID to .1.3.6.1.4.1.9.

Chcąc uzyskać jakieś informacje za pomocą SNMP możemy wydać następujące polecenie.

$ snmpget -v2c -c community 10.250.250.14 .1.3.6.1.4.1.9.2.1.58.0
SNMPv2-SMI::enterprises.9.2.1.58.0 = INTEGER: 11

To polecenie jest element wieloplatformowego pakiety obsługującego protokół SNMP. -v2c - jest wersją protokołu SNMP, -c community - jest podanie ciągu społeczności, następnie występuje adres oraz numer OID pobieranego parametru. Tym parametrem jest 5-minutowa średnia krocząca procentu zajętości procesora.

Laboratorium

Oprogramowanie do monitorowania sieci badawczej

3.10.4. Syslog

Syslog - standard uzyskiwania dostępu do komunikatów systemowych (wpisów dziennika zdarzeń), również pod postacią protokołu sieciowego pozwalającego na wysłanie powiadomień do specjalnie przygotowanego serwera. Syslog używa portu 514 UDP.

Usługi rejestrowania syslog zapewniają trzy podstawowe funkcje takie jak:

Urządzenie Cisco generują komunikaty syslog w następstwie różnych zdarzeń sieciowych. Każdy komunikat syslog zawiera obiekt, którego dotyczy oraz stopień ważności. Im niższy numer stopnia ważności, tym poważniejszy problem sygnalizowany przez urządzenie. Poniżej znajduje się lista poziomów syslog.

Oprócz poziomu ważności, komunikaty syslog zawierają także informacje o obiekcie, którego dotyczą. Obiety syslog to identyfikator usługi, pozwalającej zidentyfikować i skategoryzować dane na temat stanu systemu na potrzeby raportowania błedów i zdarzeń. Opcje rejestrowania, dostępne dla danego obiektu są specyficznego dla danych urządzeń. Do typowych obiektów syslog, raportowanych w komunikatach na routerach z systemem Cisco IOS, należą:

Domyślny format komunikatów syslog oprogramowania Cisco IOS, wygląda następująco:

%facility-severity-MNEMONIC: description 

Natomiast przykładowy komunikat z systemu Cisco IOS może wyglądać w następujący sposób:

%LINK-3-UPDOWN: Interface Port-channel1, changed state to up

Obiektem tutaj jest LINK, ustawiono poziom ważności komunikatu na 3, natomiast nazwą menmoniczną jest obiektu jest UPDOWN.

Domyślnie komunikaty diagnostyczne zwracane przez urządzenie wyświelane i przekazywane poźniej do syslog bez daty czy godziny. Co może czynić je bezużytecznymi. Jednak możemym użyć poniższego polecenia w trybie konfiguracji globalnej, aby wymusić wyświetlanie zrejestrowanych zdarzeń z datą oraz godziną.:

R1(config)# service timestamps log datetime

3.10.5. Konserwacja plików routera i przełącznika.

System plików Cisco IOS (IFS) umożliwia administratorowi przechodzenie do różnych katalogów i wyświetlanie listy plików w katalogu. Administrator może również tworzyć podkatalogi w pamięci flash lub na dysku. Dostępność katalogów zalęzy od urządzenia.

Za pomocą polecenia show file systems, możemy wyświelić listę obsługiwanych przez nasze urządzenie systemów plików.

Dla nas najbardziej istotnymi systemami plików (obsługa) będzie TFTP, pamięć flash oraz pamięć NVRAM. Wyświetlenia zawartości pamięci flash, możemy dokonać za pomocą polecenia dir. Natomiast aby wyświetlić zawartość NVRAM, należy przejść do niej i wydać ponownie polecenie dir. Pokazano to na poniższym przykładzie.

Router#
Router# cd nvram: 
Router# pwd
nvram:/
Router# dir
Directory of nvram:/
32769  -rw-             1024                      startup-config
32770  ----               61                      private-config
32771  -rw-             1024                      underlying-config
    1  ----                4                      private-KS1
    2  -rw-             2945                      cwmp_inventory
    5  ----              447                      persistent-data
    6  -rw-             1237                      ISR4221-2x1GE_0_0_0
    8  -rw-               17                      ecfm_ieee_mib
    9  -rw-                0                      ifIndex-table
   10  -rw-             1431                      NIM-2T_0_1_0
   12  -rw-              820                      IOS-Self-Sig#1.cer
   13  -rw-              820                      IOS-Self-Sig#2.cer
33554432 bytes total (33539983 bytes free)
Router#

Wersje systemów IOS na przełączniki również obsługują kilka rodzajów plików. Na pewno te same, które mogą nas interesować. Pełną listę wspieranych przez przełączniki systemów plików, możemym podejrzeć znanym nam już poleceniem.

Wiele programów pozwalających nam podłączyć nasz system do konsoli urządzenia posiada w swoich opcjach funkcje logowania sesji, to jest zapisania do tekstowego wszystkie co jest wyświetlone w oknie programu. Dzięki tej funkcji możemy wyświetlić bierzącą konfigurację i automatycznie zapisać ją jako kopię bezpieczeństwa. Niektóre z programów pozwalają nawet wysłać pliki linia po linii przez konsole do urządzenia jako kolejne wpisywane polecenia.

Innym sposobem zachowanie kopii konfiguracji, może być użycie serwera TFTP (prostej usługi transferu plików, bez uwierzytelniania, bez poleceń, poprostu adres serwera, nazwa docelowa dla pliku i plik zostaje przesłany. To samo w odwrotną strone. TFTP używa protokołu UDP zamiast TCP). TFTP jest docelowym systemem plików. Do wykonania kopii wykorzystamy standardowe polecenie copy

R1# copy running-config tftp
Remote host []?192.168.10.254
Name of the configuration file to write[R1-config]? R1-Gru-2024
Write file R1-Gru-2024 to 192.168.10.254? [confirm]
Writing R1-Gru-2024 !!!!!! [OK]

Niektóre z routerów Cisco są wyposarzone w porty USB, pozwalają one podłączenie pamięci flash USB firmy Cisco i wykonanie na nich kopii zapasowej czy to konfiguracji czy też obrazów z systemem IOS. Procedura wygląda identycznie jak w przypadku protokołu TFTP, ale zamiast tftp podajemy usbflash0: i przywracanie również wygląda analogicznie.

Jednak co się stanie jeśli zapomnimy hasła do np. trybu uprzywilejowanego? Otóż posiadając fizyczny dostęp do urządzanie, mogąc podłączyć się do niego za pomocą konsoli. Jednak to nie wszystkie czynności jakie trzeba wykonać. Po podłączeniu konsoli należy:

  1. Wejść w tryb ROMMON.
    Jest tak jakby dostęp do urządzenia z poziomu programu ładującego. Aby wejść w ten tryb należy albo nacisnąć Ctrl+Break (dla programu PuTTY), zaraz po podłączeniu urządzenia do prądu. Drugą możliwością jest usunięcie zewnętrznej pamięci Flash gdy urządzenie jest wyłączone.
  2. Zmienić rejestr konfiguracji.
    Tryb ROMMON jest dość biednie wyposarzony, ale obsługuje jedno interesujące nas polecenie - jest nim confreg. Jako argument tego polecenia podajemy wartość 0x2142. Ten tryb wymusi na IOS, aby ten nie ładował konfiguracji z NVRAM-u, udostępnił czysty nie skonfigurowany system. Po zmianie rejestru wznawiamy ładowanie systemu operacyjnego poleceniem reset.
  3. Skopiować konfigurację startowa do bierzącej.
    To tutaj odbywa się cała magia. Za pomocą zmiany tryby mamy pełen dostęp do urządzenia bez hasła, teraz więc możemy załadować konfigurację, w której znajduje się zapomniane hasło i je zmienić. System nas nie wyloguje, nie wyrzuci, ani nie zapyta o stare hasło.
  4. Zmienić hasło.
  5. Skopiować bierzącą konfigurację do startowej.
    Przed tą czynnością można już przywrócić normalny tryb rozruchu, tym razem konfigurując rejestr już z poziomu systemu za pomocą polecenia config-register przy użyciu argumentu 0x2102.
  6. Załadować ponownie urządzenie

Zadanie praktyczne - Packet Tracer

Tworzenie kopii zapasowych plików konfiguracyjnych - scenaiusz
Tworzenie kopii zapasowych plików konfiguracyjnych - zadanie

Laboratorium

Użyj Tera Term do zarządzania plikami konfiguracyjnymi routera
Stosowanie TFTP, Flash i USB do zarządzania plikami konfiguracyjnymi
Zbadaj procedury odzyskiwania hasła

3.10.6. Zarządzanie obrazami IOS

Podobnie do plików konfigurajcyjnych możemy chcieć zapisać - oczywiście ze względów bezpieczeństwa obraz Cisco IOS na naszym serwerze. Jednak najbardziej prawdopodobnym scenariuszem będzie sytuacja odwrotna, gdzie wykorzystamy nasz serwer TFTP do aktualizacji wersji IOS na naszym urządzeniu. Z serwerem TFTP mieliśmy styczność we wcześniejszym podrozdziale. Aby dokonać takie aktualizacji, na początku sprawdzamy czy nasz serwer TFTP jest osiągalny z naszego urządzenia - za pomocą polecenia ping.

R1# ping 2001:db8:cafe:100::99
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:CAFE:100::99,
timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), 
round-trip min/avg/max = 56/56/56 ms

Następnie za pomocą ostaniej linii wyjścia polecenia show flash: ostalamy ilość wolnego miejsca w pamięci flash.

R1# show flash: 
-# - --length-- -----date/time------ path
...
6294806528 bytes available (537251840 bytes used) 
R1#

Następną czynnością jest skopiowanie obrazu IOS z TFTP do pamięci flash.

R1# copy tftp: flash: 
Address or name of remote host []?2001:DB8:CAFE:100::99
Source filename []? isr4200-universalk9_ias.16.09.04.SPA.bin
Destination filename [isr4200-universalk9_ias.16.09.04.SPA.bin]? 
Accessing tftp://2001:DB8:CAFE:100::99/ isr4200-
universalk9_ias.16.09.04.SPA.bin...
Loading isr4200-universalk9_ias.16.09.04.SPA.bin
from 2001:DB8:CAFE:100::99 (via
GigabitEthernet0/0/0): !!!!!!!!!!!!!!!!!!!!
 
[OK - 517153193 bytes]
517153193 bytes copied in 868.128 secs (265652 bytes/sec)

Po zakończonym kopiowaniu należy pamiętać o aktualizacji domyślnego obrazu IOS. Dokonać tego możemy za pomocą poniższego polecenia w trybie konfiguracji globalnej.

R1(config)# boot system flash0:isr4200-universalk9_ias.16.09.04.SPA.bin

Po tej czynności nie pozostaje nam nic innego jak zapisać konfigurację i uruchomić nasze urządzenie ponownie.

Zadanie praktyczne - Packet Tracer

Użyj serwera TFTP do aktualizacji obrazu Cisco IOS - scenariusz
Użyj serwera TFTP do aktualizacji obrazu Cisco IOS - zadanie

3.10. Podsumowanie

W tym rozdziale zapoznaliśmy się z protokołami CDP, LLDP oraz protokołem synchronizacji czasu NTP. Następnie omówilśmy sobie w jaki sposób może być przydatny protokół SMNP oraz jak czytać komunikaty diagnostyczne zwracane na przez urządzenia. Na koniec dowiedzieliśmy się w jaki sposób tworzyć kopie bezpieczeństwa konfiguracji urządzeń oraz wykorzystać serwer TFTP do aktualizacji Cisco IOS.

3.11. Projektowanie sieci

Obecnie swiat cyfrowy ulega znacznym przemianom. Wiele firm dzięki dostępności Internetu oraz sieci firmowej nie musi już być ograniczona do pojedynczych biur, nawet pracownicy mogą zamieć biura na kąt w domowy zaciszu pracując zdalnie lub nawet pracować z dowolnego miejsca na świecie. To powoduje, że nie tylko branża IT ale także wszystkie inne gałęzie gospodarki państw stają się uzależnione od infrastruktury sieciowej. Dzięki niej firma może się rozwijać. Zmiany te mają znaczący wpływ na wymagania sieci, która musi skalowalna.

Sieć musi być opracowywana w architektonicznym podejściu, które posiada wbudowaną inteligencję, upraszcza operacje oraz jest skalowalna pod przyszłe wymagania. Takie sieci są nazwywane nieograniczonymi sieciam przełączanymi.

Budowa takie sieci oparta jest o następujące zasady:

Projektowanie nieograniczonej sieci przełączanej w sposób hierarhiczny tworzy podstawę, która zezwala projektantom sieci na pokrycie bezpieczeństwa, mobilności oraz jednolitych właściwości komunikacyjnych. Dwie sprawdzone w czasie i sprawdzone hierarhiczne struktury projektowe dla sieci kampusowych to modele trójwarstwowe oraz dwuwarstwowe.

Model trójwarstwowy posiada warstwę dostępu, dystrybucji oraz rdzenia. Każda z tych warstw jest dobrze zdefiniowany strukturalnym modułem pełniącym określone role i funkcje w sieci. Model dwuwarstwowy, spłyca warstwę dystrybucji oraz rdzenia do jednej wspólnej warstwy. Takie rozwiązanie może zostać zastosowane w mniejszych sieciach kampusowych.

3.11.1. Sieci skalowalne

Aby obsługiwać dużą czy mała sieć, projektant musi opracować strategię umożliwijającą dostęp do sieci oraz efektywne i łatwe skalowanie. Skalowalność to termin, dla sieci która może się rozwiajać bez utraty dostępności i niezawodności. Poniżej znajdują się podstawowe zalecenia odnośnie projektowania sieci:

W sieciach skalowanych, ważne jest zapewnienie redundancji, metodą jej implementacji może być trasy nadmiarowe - dodatkowe fizczne połączenia między urządzeniami służace do transmisji danych przez sieć. Zapewniają one wysoką dostępność w sieciach przełączanych. Jednakże, ze względu na zasadę działania przełączników, trasy nadmiarowe w sieci przełączanych mogą powodować pętle na poziomie warstwy 2. W takie sytuacji wymagane jest zastosowanie protokołu STP. Korzystanie z warstwy 3 w szkielecie to inny sposób na nadmiarowość bez konieczności stosowania STP w warstwie 2. Warstwa 3 zapewnia również nalepszy wybór ścieżek i szybszą konwergencję podczas pracy awaryjnej.

W dobrze zaprojektowanej sieci nie tylko występuje odpowiednia kontrola ruchu, orgraniczony jest także rozmiar domeny awarii. Domena awarii to obszar, w którym sieć jest narażona jest na uszkodzenie w sytuacji gdy występują problemy z urządzeniem lub usługą sieciową. Zakres domeny awarii wyznaczony jest przez funkcję, jaką spełnia urządzenie, które początkowo uległo awarii. Przykładowo, nieprawidłowe działanie przełącznika w segmencie sieci, w normalnej sytuacji wpływa tylko na hosty w tym segmencie. Jednakże, w momencie gdy awarii ulegnie router, lączący ten segment z innymi, jej zakres będzie znacznie większy. W celu zminimalizowani ryzyka awarii, powinno się stosować bardziej niezawodne urządzenia klasy enterprise oraz łącza nadmiarowe.

W sieci hierarhicznej konieczne może być zwiększę przepustowości na niektórych łączach. W tym celu możemy wykorzystać EtherChannel oraz ogólne technologii agregacji łączy, wykorzystując do tego porty przełącznika. Z punktu widzenia urzadzenia kanał widoczny jest jako jedno łącze. EtherChannel jest także sposobem na lepsze wykorzystanie łączy nadmiarowych, wyłączonych przez STP.

Sieć musi zostać zaprojetowana tak, aby można było ją rozszerzyć w zależności od indywidualnych potrzeb oraz dostępnych urządzeń. Do komunikacji bezprzewodowej, urządzenia końcowe wymagają bezprzewodowej karty sieciowej, natomiast aby hosty bezprzewodowe mogły korzystać z zasobów sieci kablowej potrzebny punkt dostępu, umożliwiwający im dostęp do sieci firmowej (kablowej).

W większych sieciach stosowany jest OSPF. Jest to protokół routingu według stanu łącza. Routery OSPF ustanawiają i utrzymują sąsiedztwo z innymi podłączonymi routera OSPF. Routery synchronizują swoją bazę stanu łącza. W przypadku zmiany sieci wysłane są aktualizacje stanu łączą, które informują inne routery OSPF o zmianie i ustanawiają nową najlepszą ścieżkę, jeśli jest dostępna.

3.11.2. Platformy sprzętowe przełączników

Jednym z prostych sposobów tworzenia hierarchicznych i skalowanych sieci jest użycie odpowiedniego sprzętu do pracy. Istnieje wiele platform przełączników i innych funkcji, które należy wziąć pod uwagę przed wyborem przełącznika. Projektując sieć, ważne jest, aby wybrać odpowiedni sprzęt, który spełni aktuane wymagania sieci, a także pozwoli na rozbudowę sieci. Urządzenia takie jak przełączniki i routery spełniają w korporacjach kluczową role w procesie komunikacji sieciowej.

Administratorzy sieci muszą określić czynniki, na podstawie których będą decydować o wyborze przełącznika. Obejmuje to stałą konfigurację, konfigurację modułową, możliwość układania w stos lub ich brak.

Parametr gęstości portów przełącznika określa ilość dostępnych portów przypadającą na jeden przełącznik. Przełącznik o stałej konfiguracji obsługują różne konfiguracje gęstości portów. Przełączniki 48 portowe mogą być dodatkowo wyposażane o dodatkowe porty.

Szybkość przekazywania jest miarą ilości danych, które przełączniki może przetworzyć w ciągu sekundy. Serie przełączników są klasyfikowane na podstawie ich szybkości przekazywania. Przełączniki niższej klasy mają na ogół mniejszą przepustowość niż przełączniki klasy enterprise Szybkość przekazywanie jest istotnym parametrem, który można uwzględnić, dobierając przełącznik. Na przykład typowy 48-portowy przełącznik gigabitowy działający z pełną prędkością okablowania generuje ruch 48Gb/s. Jeśli przełącznik obsługuje tylko szybkość przekazywania 32Gb/s, nie może działać z pełną prędkością na wszystkich portach.

Funkcja zasilanie przez Ethernet (PoE - Power over Ethernet) umożliwia przełącznikowi dostarczenie enegrii elektrycznej do urządzenia przez istniejące okablowanie ethernetowe. Ta funkcja może być używana przez Telefony IP i niektóre bezprzewodowe punkty dostępowe, dzięki czemu można jest zainstalować w dowolnym miejscu, w którym jest kabel Ethernet. Przełączniki tego typu są dość drogie, więc trzeba się upewnić czy na pewno potrzebujemy takiej funkcji.

Przełączniki wielowarstwowe są zwykle wdrażane w warstwie rdzenia i warstwach dystrybucyjnych sieci przełączanej. Ich cechą charakterystyczną jest możliwość tworzenia tablic routingu, obsługa niektórych protokołów routingu oraz przekazywanie pakietów IP z szybkością zbliżoną do przełączania w warstwie 2. Obecnie w sieciach występuje tendencja tworzenia środowisk opartych wyłącznie na urządzeniach warstwy 3. Obecnie prawie wszystkie przełączniki obsługują routing. Prawodopodobnie wkrótce wszystkie przełączniki będą miały wbudowany procesor routingu. Przełączniki Catalyst 2960 ilustrują migrację do czystego środowiska warstwy 3. Przed IOS 15.x, przełączniki obsługiwały tylko jeden interfejs SVI, od momentu wydania IOS 15.x przełączniki obsługują teraz wiele aktywnych interfejsów SVI. Oznacza to, że przełącznik może mieć wiele skonfigurowanych adresów IP w różnych podsieciach i łączyć się zdalnymi sieciami.

3.11.3. Komponenty sprzętowe routera

Wybór routera to kolejna bardzo ważna decyzja. Routery odgrywają kluczową rolę w tworzeniu sieci. Wykorzystują one część sieciową (prefiks) docelowego adresu IP do kierowania pakietów do właściwego miejsca docelowego. W przypadku zerwania łącza wybierają alternatywną ścieżkę. Wszystkie hosty w sieci lokalnej umieszczają swojej konfiguracji adres IP interfejsu lokalnego routera, podłączonego do tej sieci. Interfejs ten pełni funkcję bramy domyślnej. Zdolnośc do wydajnego trasowania i odtwarzania po awarii łącza sieciowego ma kluczowe znaczenie dla dostarczania pakietów do miejsca przeznaczenia.

Istnieją różne kategorie routerów Cisco:

Zadanie praktyczne - Packet Tracer

Porównaj urządzenia warstwy 2 i warstwy 3 - scenariusz
Porównaj urządzenia warstwy 2 i warstwy 3 - zadanie

3.12. Rozwiązywanie problemów z sieciami

Rozwiązywanie problemów na początek rozpoczniemy od zagadanienia utworzenia i prowadzenia dokumentacji.

Aby skutecznie monitorować i rozwiązywać problemy z siecią, wymagana jest dokładna i kompletna dokumentacja sieciowa. Taka dokumentacja powinna zawierać nastepujące elementy:

Dokumentacja sieciowa powinna być przechowywana w formie papierowej w jednym miejscu lub w sieci na chronionym serwerze. Jej kopia zapasowa powinna być zabezpieczona i przechowywana w osobnej lokalizacji.

Topologia fizyczna - przedstawia fizyczny układ urządzeń podłączonych do sieci. Informacje zapisne w topologi fizycznej zazwyczaj obejmują:

Topologia logiczna - ilustruje w jaki sposób urządzenia są ze sobą logicznie połaczone. Odnosi się do sposóbu przsyłania danych przez sieć podczas komunikacji z innymi urządzeniami. Informacje zapisane w logicznej topologii sieći mogą obejmować:

Jeśli nasz sieć działa w podwójnym stosie to możemy również dodać do topologi logicznej adresy IPv6, lub utworzyć dla niej zupełnie oddzielną.

Dokumentacja urządzeń sieciowych powinna zawierać dokładne i aktualne zapisy sprzętu sieciowego. Dokumentacja powinna zawierać wszystkie istotne informacje takie jak nazwa urządzenia, model, opis, lokalizację, wersję oprogramowania oraz datę ostatniej jego aktualizacji. W przypadku routerów ważne jest opisanie każdego z interfejsów, przypisanych mu adresów IP, adresu MAC oraz przeznaczenia, podobnie w przypadku przełączników opis z czym łaczy się dany port, opisy konfiguracji VLAN czy port trunk czy działa w EtherChannel, dla trunk-ów ID natywnego VLAN oraz stan portów - włączony/wyłączony.

Celem procesu monitorowania sieci jest obserwacja wydajności i porównanie jej z wyznaczonym punktem odniesienia. Stan odniesienia służy do ustalenia normalnej wydajności sieci lub systemu w celu określenia osobowości sieci w normalnych warunkach. Wyznaczenie stanu odniesienia wymaga zebrania danych o wydajności z poszczególnych portów i urządzeń, niezbędnych do działania sieci. Stan odniesienia powinien odpowiadać na następujące pytania:

Przygotowując punkt odniesienia należy:

  1. Określić jakie typu dane trzeba zebrać, aby analiza była łatwa ale zarazem miarodajna.
  2. Zindentyfikować interesujące urządzenia i porty, na który powinien odbywać się pomiar. Mogą być to porty urządzeń sieciowych, serwery czy kluczowi użytkownicy.
  3. Określ czas zbieraniania danych, aby ustalić normalny obraz sieci.

Podczas zbierania informacji do dokumentacji, możemy swobodnie posługiwać się poznanymi dotychczas wariacjami polecenia show.

3.12.1. Proces rozwiązywania problemów

Istnieje kilka procesów rozwiązywania problemów, dla przykładu możemy użyć trzech prostych logicznych etapów.

  1. Etap 1: - zebranie objawów.
  2. Etap 2: - wyizolowanie problemu.
  3. Etap 3: - wdrożenie działań naprawczych.

Jeśli problem wydaje się rozwiązny, to należy udokumentować rozwiązania i zapisz zmiany. Jeśli nie, lub też tworzony kolejny problem to należy cofnąć działania naprawcze i rozpocząć od początku.

Oczywiście istnieje bardziej szczegółowy 7-etapowy proces rozwiązywania problemów, nie ma on już tak określonej kolejności dziań i dowolnie można skakać między wewnętrznymi krokami. Poniżej znajdują się omawiane kroki:

Krok pierwszy oraz ostatni można uznać za kroki zewnętrzne.

Wiele problemów z siecią jest początkowo zgłaszanych przez użytkownika końcowego. Jednakże dostarczone informacje są często niejasne lub wprowadzają w błąd. Na przykłąd użytkownicy często zgłaszaja problemy takie jak "sieć jest wyłączona", "Nie mogę uzyskać dostępu do mojej poczty", lub "Mój komputer jest wolny". Do komunikacji z użytkownikiem mogą być stosowane następujące zlecenia.

Zbierając objawy z podejrzanego urządzenia sieciowego, możemy użyć takich poleceń jak:

Podczas izolowania problemów, możemy się posłużyć modelem ISO/OSI. Dla przykładu: warstwy od 7-5 - będą dotyczyć urządzenia końcowego, warstwy 4-3 - routera lub przełącznika wielowarstwowego, warstwa 2 - przełącznika standardowego oraz warstwa 1 - interfejsów, przewodów oraz portów.

Istnieje kilka uporządkowanych podejść do rozwiązywania problemów, które można wykorzystać. Każde z nich będzie zależalo od sytuacji.

3.12.2. Narzędzia do rozwiązywania problemów

Na rynku dostępnych jest szereg narzędzi sprzętowych i programowych, wspomagających rozwiązanie problemów. Mogą one być wykorzystywane do zbierania i analizowania symptomów niewłaściwej pracy sieci.

Analizatory protokołów mogą badać zawartość pakietów podczas przepływu przez sieć. Analizator protokołu dekoduje zapisaną ramkę dla każdej warstwy przedstawia informacje o zawartych w niej protokołach w relatywnie protstym formacie. Takim analizatorem może być Wireshark.

Do rozwiązywania problemów z siecią możemy wykorzystać narzędzia sprzętowe. Takie jak:

Implementacja usług rejestrowania jest ważnym elementem związanym z bezpieczeństwem sieci i rozwiązywaniem problemów. Urządzenia Cisco mogą rejestrować informacje dotyczące zmian w konfiguracji, naruszeń ACL, stanu interfejsów i wielu innych rodzajów zdarzeń. Mogą też wysyłać logi do kilku różnych obiektów, takich jak:

3.12.3. Objawy i przyczyny problemów z siecią

Problemy występujące w sieci często są związane z wydajnością. Oznacza to że istnieje różnica między wydajnością oczekiwana a obserwowaną i czy system nie funkcjonuje tak, jak powinien. Działanie wyższych warstwa modelu żależy od funkcjonowania warstwy fizycznej, administrator musi umieć w sposób efektywny wyizolować i wyeliminować w problemy w warstwie fizycznej. Poniżej znajdują się symptomy oraz przyczyny problemów w tej warstwie.

Symptomy:

Przyczyny:

Problemy powstające w warstwie drugiej objawiają się w specyficzny sposób i jeśli zostaną odpowiedniu szybko rozpoznane, ich identyfikacja może nastąpić dość szybko. Poniżej znajdują symptomy oraz przyczny problemów z warstwą łącza.

Symptomy:

Przyczyny:

Problemy warstwy sieciowej obejmują każdy problem, który obejmuje protokół warstwy 3, takie jak IPv4, IPv6, EIGRP, OSPF itp. Poniżej znajdują się objawy oraz przyczny problemów z warstwą sieciową.

Symptomy:

Przyczny:

Problemy sieci mogą w przypadku routerów wynikać z problemów warstwy transportowej, szczególnie na granicy sieci gdzie ruch jest filtrowany i modyfikowany. Zarówno listy kontroli dostępu - ACL, jak i translacja adresów - NAT działają w warstwie sieciowej i mogą obejmować operacje warstwy transportowej. Symptomy:

Przyczyny:

Do najczęstsze problem z listami ACL, na jakie możemy natrafić to:

Istnieje kilka problemów z NAT, takich jak brak integracji z usługami, takimi jak DHCP i tunelowanie. Mogą to być błędnie skonfigurowany NAT wewnątrz, NAT na zewnątrz lub listy ACL. Pozostałe problemy dotyczną interoperacyjności z innymi technologiami sieciowymi, szczególnie takimi, które wykorzystują informacje o adresacji hosta w sieci umieszczone w pakiecie.

Problemy w warstwie aplikacji blokują dostarczenie usług do programów obsługujących je. Usterka w warstwie aplikacji może w rezultacie sprawić, że zasoby sieci będą nieosiągalne lub niemożliwe do użycia, podczas gdy pozostałe warstwy funkcjonują prawidłowo. Połączenie z siecią jest prawidłowe, jednak aplikacje nie są w stanie ostarczać danych.

3.12.4. Rozwiązywanie problemów z łącznością IP.

Gdy nie ma łączności typu end-to-end, a administrator decyduje się na rozwiązanie problemów z podejściem oddolnym można wykonać następujące czynności:

  1. Sprawdź fizyczne połącznie w punkcie, w którym zauważono przerwę w komunikacji sieciowej. Obejmuje ono sprzęt i okablowanie. Problem może być spowodowany przez uszkodzony przewód lub interfejs, albo może dotyczyć nieskonfigurowanego lub wadliwego urządzenia. Do badania warstwy fizycznej możemy wykorzystać takie polecenia jak:
    • show interfaces
    • show memory
    • show processes cpu
  2. Sprawdź zgodność interfejsu, poleceniem show interface.
  3. Sprawdź adresację warstwy łącza danych i warstwy sieci lokalnej. Należy skontrolować takie elememnty jak tablice ARP IPv4, tablicę sąsiadów IPv6 tablicę MAC oraz przepisania do sieci VLAN. Polecenia:
    • arp -a (MS Windows)
    • netsh interface ipv6 show neighbor (MS Windows)
    • show arp
    • show mac address-table
  4. Upewnij się, że brama domyślna jest prawidłowo ustawiona. Polecenia:
    • show ip route | include Gateway|0.0.0.0
    • netstat -r lub route print (MS Windows).
  5. Upewnij się, że urządzenia ustalają prawidłową trasę od źródła do celu. Jeśli to konieczne skorygować informacje o routingu. Polecenia: show ip/ipv6 route.
  6. Sprawdź, czy warstwa transportowa działa prawiłowo, do tego można użyć polecenia telnet lub nc.
  7. Sprawdź, czy nie skonfigurowano list blokujących ACL. Polecenia:
    • show ip access-lists
    • show ip interface ifX/Y | include access list
  8. Upewnij się czy ustawienia DNS są prawidłowe. Przynajmniej jeden serwer DNS powinien być osiągalny. Polecenia:
    • show running-config
    • ip host nazwa adres_ip
    • ping
    • nslookup (MS Windows, Linux)
    Polecenia ip host służy do tworzenia statycznych mapować nazw na adresy IP.

3.12. Podsumowanie

W tym temacie poruszyliśmy kwestie prowadzenia dokumentacji sieci. Przestawiono wiedzę na temat metod rozwiązywania problemów, narzędzi fizycznych jak i oprogramowania. Poznaliśmy symptomy oraz objawy problemów z poszczególnymi warstwami na koniec dowiedzialiśmy w jaki sposób rozwiązywać problemy w połączeniach end-to-end.

3.13. Wirtualizacja

Przetwarzanie w chmurze obejmuje dużą liczbę komputerów połączonych siecią, które mogą być fizycznie zlokalizowane w dowolnym miejscu. Dostawcy w dużym stopniu polegają na wirtualizacji, aby świadczyć usługi w chmurze. Przetwarzanie w chmurze może obniżyć koszty operacyjne dzięki wydajniejszemu wykorzystaniu zasobów. Rozwiązuje ono różne problemy związane z zarządzaniem danymi:

Usługi w chmurze są dostępne w różnych opcjach, dostosowanych do wymagań klientów. Trzy głóne usługi przetwarzania w chmurze zdefiniowane przez NIST to:

Poniżej przedstawiono 4 modele chmur:

Terminu centrum danych i przetwarznie w chmurze często jest używane nieprawidłowego. Oto poprawne definicje centrum danych oraz przetwarzanie w chmurze.

Centra danych to fizyczne obiekty, które zaspokajają potrzeby obliczeniowe, sieciowe i magazynowe usług przetwarzania w chmurze. Dostawcy usług w chmurze używają centrów danych do hostowania usług i zasobów.

3.13.1. Wirtualizcja

Wirtualizacja oddziela system operacyjny OS od sprzetu. Różni dostawcy oferują usługi w chmurze wirtualnej, które mogą dynamicznie dostraczać serwery zgodnie w wymaganiami.

Wirtualizacja serwerów wykorzystuje nieużywane zasoby i konsoliduje liczbę serwerów. Pozwala to instnienie wielu systemów operacyjnych na jednej platformie sprzętowej.

Stosowanie wirtualizacji zwykle obejmuje redundancję. W razie awarii hiperwizora, maszyna wirtualna (pojedynczy serwer wirtualny, reprezentujący tak jakby fizyczną maszynę), może zostać uruchomiona na innym hiperwizorze. Ponad to można ją uruchomić w taki sposób, aby korzystała z większej ilości zasobów niż tylko pojedynczego hiperwizora.

Hiperwizor to program, który dodaje warstwę abstrakcji na fizycznym sprzęcie. Warstwa ta pozwala na tworzenie maszyn wirtualnych, które mogą miec dostęp do całego sprzetu serwera fizycznego.

Jedną z zalet wirtualizacji jest koszt: wymagana jest mniejsza ilość sprzętu, za co za tym idzie zmniejszone jest także zużycie energii elektrycznej oraz potrzebne mniej miejsca. Dodatkowymi zaletami są łatwiejsze prototypowanie (tworzenie środowisk testowych), szybsze udostępnienia serwerów, większy czas ich działania, lepsze odzyskiwanie po awariach czy wsparcie dla starszych wersji.

Hiperwizor typu 2 to oprogramowanie, które tworzy i uruchamia wystąpienia maszyn wirtualnych. Komputer, na którym hiperwizor obsługuje co najmniej jedną maszynę wirtualną, jest maszyną hosta. Hiperwizory typu 2 są również nazywane hiperwizorami hostowanymi. Dzieje się tak, ponieważ hiperwizor jest instalowany na istniejącym systemie operacyjnym. Typowe hiperwizory typu 2 obejmują:

Większość z nich jest bezpłatnych, lub posiadających płatne rozszerzenia. Ważne jest aby komputer, który ma hostować maszyny miał odpowiednie parametry: wielorzdzeniowy procesor oraz większą ilość pamięci RAM.

3.13.2. Infrastruktruktura sieci wirtualnej

Hiperwizor typu 1 są również nazwane podejściem bare metal, ponieważ hiperwizor jest instalowany bezpośrednio na sprzęcie. Hiperwizory typu 1 są zwykle używane na serwera przedsiebiorstwa i urządzeniach sieciowych w centrach danych. Instancje systemów operacynych są instalowane na hiperwizorze.

Po zainstalowaniu hyperwizora typu 1 i ponownym uruchomieniu serwera wyświetlane są tylko podstawowe informacje, takie jak wersja systemu operacyjnego, ilość pamięci RAM i adres IP. Na tym ekranie nie można utworzyć instancji systemu operacyjnego. Hiperwizor typu 1 wymaga konsoli zarządzania. Oprogramowania zarządzające służy do zarządzania wieloma serwerami przy użyciu tego samego hiperwizora. Konsola zarządzania może automatycznie konsolidować serwery, wyłączać je lub włączać w zależności od potrzeb.

Infrastruktura sieciowa również może skorzystać z wirtualizacji. Funkcje sieciowe można zwirtualizować, każde urządzenie sieciowe można podzielić na wiele urządzeń wirtualnych, które działają jako niezależne urządzenia. Przykłady obejmują podinterfejsy, interfejsy wirtualne, sieci VLAN i tablice routingu. Wirtualny routingu nazywany jest wirtualnym routingiem i przekazywaniem.

3.13.3. Sieć definiowana programowo

SDNy czy sieci definiowane programowo jest model konfigracji sieci, w którym za logikę sieci odpowiedzialny jest centralny sterownik, natomiast samym urządzeniom pozostaje przekazywanie danych ze źródła do miejsca docelowego.

Urządzenia sieciowe zawierają dwie płaszczyzny.

Technologią podobną do SDN jest CEF, ponieważ nie wykorzystuję ona procesora do przekazywania pakietów są one kierowane w oparciu o informacje zapisane w FIB, która jest wstępnie wypełniana na podstawie tablicy rouingu przez płaszczyznę sterowania. CEF jednak nie usuwa z urządzenia warstwy kontrolnej w przeciweństwie do SDN. W przypadku modelu SDN urządzenia będą skupiać się wyłącznie na przekazywaniu danych.

Opracowano dwie główne architektury sieciowe w celu obsługi wirtualizacji sieci:

Składniki SDN mogą obejmować:

W tradycyjnej architekturze routera lub przełącznika funkcje płaszczyzny sterowania i płaszczyzny danych występują w tym samym urządzeniu. Decyzje o routingu i przekierowanie pakietów są odpowiedzialne za system operacyjny urządzenia. W SDN zarządzanie płaszczyzną sterowania jest przeniesione do scentralizowanego kontrolera SDN. Kontroler SDN do jednostka logiczna, która umożliwia administratorom sieci zarządzanie ruchem w sieci i dyktowanie tego w jaki sposób płaszczyzna danych urządzeń ma obsługiwać ruch sieciowy. Organizuje, pośredniczy i ułatwia komunikację między aplikacjami i elementami sieci.

3.13.4. Kontrolery SDN

Wszystkie złożone funkcje wykonywane są przez kontroler. Sterownik wypełnia tablę przepływu, przełącznika zarządzają tablemi przepływu. Kontrole SDN wykorzystuje protokół OpenFlow do komunikacji z przełącznikami kompatybilnymi z tym protokołem, protokół ten jest bezpieczny wykorzystuje TLS. Przełącznika OpenFlow łączą się ze sobą oraz z urządzeniami końcowymi.

Cisco ACI to rozwiązanie sprzętowe do integracji chmury obliczeniowej i zarządzania centrum danych. Na wysokim poziomie element zasad sieci jest usuwany z płaszczyznyc danych. Upraszcza to sposób tworzenia sieci centrów danych.

Są trzy podstawowe elementy architektury ACI:

Sieć szkieletowa Cisco ACI składa się z APIC i przełączników Cisco Nexus 9000 wykorzystując dwupoziomową technologię Spine-Leaf. Przełączniki szkieletowe Leaf, zawsze przyczepiają się do przełączników dostępowych Spine, ale nigdy nie łączą się ze sobą. Podobnie przełączniki dostępowe Spine łączą się tylko do przełączników szkieletowych Leaf oraz do rdzenia. W tej dwuwarstwowej topologii wszystko jest oddzielone jednym przeskokiem od wszystkie innego.

Istnieją trzy typy sieci definiowanych programowo.

3.13. Podsumowanie

Ten rodział poruszył temat wirtualizacji, dowiedzieliśmy się czym są maszyny wirtualne oraz hiperwizory 1 i 2 typu. Dowiedzieliśmy się, że możemy wirtualizować elementy sieciowe. Na koniec zapoznaliśmuy się z pojęciem SDN oraz kontrolerami sieci definiowanej programowo.

3.14. Automatyzacja sieci

Automatyzacja to każdy proces samoczynnie napędzany, który ogranicza i potencjalnie eliminuje potrzebę interwencji człowieka.

3.14.1. Formaty danych

Format danych to sposób przechowywania i wymiany danych w ustrukturyzowanym formacie. Jednym z takich formatów jest HTML.

Formaty danych mają reguły strukturę podobną do tych, które mamy w przypadku języków programowania i języków pisanych. Każdy format danych będzie miał miał specyficzne cechy:

Systemy automatyzacji mogą wykorzystywać następujący typy danych:

3.14.2. Interfejs API

API to oprogramowanie, które umożliwia innym aplikacjom dostęp do jego danych lub usług. Jest to zestaw reguł opisujących, w jaki sposób jedna prosta aplikacja może współdziałać z inną, oraz instrukcje umożliwiające taką interakcje. Użytkownik wysyła żądanie API do serwera z prośbą o podanie określonych informacji i otrzymuje odpowiedź z serwera wraz z żądanymi informacjami.

Możemy wyróżnić trzy rodzaje api, patrząc względem dostępności:

Usługa sieci Web to usługa dostęna w Internecie za pośrednictwem sieci WWW. Istnieją cztery rodzaje interfejsów API dla usług internetowych.

3.14.3. REST

REST to styl achitektury do projektowania aplikacji internetowych. Odnosi się do stylu architektury internetowej, która ma wiele podstawowych cech i reguluje zachowanie klientów i serwerów. Najprościej mówiąc REST API to API, które działa w oparciu o protokół HTTP. Definiuje zestaw funkcji, którego programiści mogą używać do wykonywania żądań i odbierania odpowiedzi za pośrednictwem protokółu HTTP, takich jak GET i POST. Zgodność z ograniczeniami architektury REST jest ogólnie określana jako RESTful. Interfej API można uznać za RESTful, jeśli ma następujące funkcje: Klient-Serwer, Bezstanowość, Pamięć podręczna.

Zasoby i usługi internetowe, takie jak interfejsy API RESTful, są identyfikowane za pomocą identyfikatora URI. URI to ciąg znaków, który identyfikuje określony zasób sieciowy.

Przeanalizujmy sobie poniższe żądanie API:

http://www.mapquestapi.com/directions/v2/route?outFormat=json&key=KEY&from=Warsaw,PL&to=Berlin,DE

W tym URI występuje: serwer API (http://www.mapquestapi.com/), żądany zasób (directions/v2/route), następnie przechodzimy już do formatu właściwego zapytania. Zapytanie rozpoczyna się podaniem żądanego formatu danych - ?outFormat=json, następnie podawany jest klucz (metoda uwierzytelniania, kontroli dostępu do API) - &key=KEY. Na końcu podajemy parametry, o które chcemy zapytać - &from=Warsaw,PL&to=Berlin,DE.

Większość serwisów udostępniających API, udostępnia także dokumentację opisując dostępne zasoby oraz w jakis sposób uzyskać do nich dostęp. Natomiast do tworzenia API możemy wykorzystać takie programy jak Postman lub języki programowania takie jak Python.

3.14.4. Narzędzia do zarządzania konfiguracją

Podsiadając wiele urządzeń do skonfigurowania, możemy konfigurować je po kolei i spędzić nad tym trochę czasu. Poźniej możemy kontrolować nasze urządzenia za pomocą protokołu SNMP. Jednak jeśli przyjdzie nam zmienić jedną opcję na 80 przełącznikach? To znów spędzimy nad tym trochę czasu. Takie kolejne konfigurowanie to tradycyjny sposób konfiguracji i zarządzania nią.

Jedna jeśli nasz sieć jest dość pokaźnych rozmiarów lub lubimy wyzwania możemy wykorzystać informacje zawarte w tym rozdziale i przygotować jedno z narzędzi automatyzacji. Na codzień takie narzędzia używane są np. do przygotowania środowiska do uruchomienia bądź rozwijania różnego rodzaju aplikacji. Do wyboru mamy:

Wykorzystują one żądania RESTful API do automatyzacji zadań i mogą być skalowalne na tysiące urządzeń.

3.14. Podsumowanie

W tym rodziale poruszylimy kwestie automatyzacji oraz jej składników takich jak choćby interfejsy API. Dowiedzieliśmy się również w jaki sposób automatycznie skonfigurować wiele urządzeń. Ten temat kończy 3 moduł oraz cały kurs CCNA. Poniżej znajdują się opisy zadań przygotowawczych oraz opis samego egzaminu praktycznego.

P.S. Jeśli ktoś na podstawie tego materiału uważa, że zda egzamin certyfikacyjny. To jak go zda do niech się do mnie odezwie.

Opisy egzaminów próbnych oraz egzaminu koncowego, są takie same - w przypadku częsci pisemnej (testów), jak we wcześniejszych modułach więc ich opis jest daremny.

3. Przygotowanie do egzaminu praktycznego (PTSA) - ENSA

Przygotowanie do egzaminu praktycznego z modułu 3, obejmowało takie zagadnienia jak: OSPF w konfiguracji przez interfejs, OSPF w konfiguracji przez polecenie network. Ustawienie identyfikatorów dla routerów w OSPF, ustawienie priorytetu routera na interfejsie dla OSPF. Ustawienie statycznej bramy domyślnej i rozpropagowanie jej za pomocą OSPF, ustawienie na jednym z łączy jednego odrębnych odstępów czasu: dla wysłania pakietów hello oraz oczekiwania na nie (dead interval), ustawienie wartości referencyjnej dla obliczania kosztów ścieżek, ustawienie stałego kosztu dla jedenej z scieżek oraz wyłącznie rozgłaszania pakietów hello gdzie to jest zbędne. W drugiej częsci mamy do skonfigurowania NAT statyczny dla jednego hosta 1:1 oraz PAT do puli adresów. W części trzej konfigurujemy ACL-ki: pierwsza ma zezwalać na dostęp zdalny dla jednej z sieci, druga chronić jedną sieć przed dostępem drugiej sieci. Natomiast zadaniem ostatniej jest zabronienie jednej z sieci na dostęp do serwera WWW w innej sieci, ale pozostawienie innego ruchu. Część czwarta ostatnia, chce aby ustawić na jednym routerów serwer NTP (serwer w sieci tego routera) oraz skopiowanie obrazu IOS na serwer przy użyciu TFTP.

3. Egzamin praktyczy - ENSA

Topologia logiczna zadania składa się z trzech routerów, dwóch przełączników, dwóch PC oraz dwóch serwerów. Do zadań konfiguracyjnych należy: zaadresowanie wszystkich interfejsów routerów oraz uruchomienie łączy. Serwerom należy statycznie przypisać adresy. Na routerze podłączonym do sieci z PC-ami, należy skonfigurować DHCP dzierżawiące adresy od .100 do .200, dostarczyć adres bramy, adres serwera DNS (jeden z serwerów) oraz odpowiednią nazwę domeny. Na tym urządzeniu należy skonfigurować NAT dla wszystkich hostów. Na wszystkich routerach należy skonfigurować OSPF, wykorzystując do numer procesu 1, sieci powinny być skonfigurowane za pomocą słowa kluczowego network, na jednym z routerów jest powinien być interfejs loopback, emulujący łącze do sieci publicznej. Należy skonfigurować je jako bramę domyślną tego urządzenia i udostępnić tę trasę przez OSPF. Ostatnim zadaniem jest skonfigurowanie ACL, które pozwolą PC-om na dostęp do usługi WWW (80) serwera WWW oraz usługi FTP (20/21) serwera FTP.

Koniec kursu CCNA