Celem projektu jest zbudowanie eksperymentalnego modelu sieci opartej na protokole IPv6 z zaimplementowanymi mechanizmami bezpieczeństwa bazującymi na protokole IPSec oraz ich przetestowanie.
Do zestawienia sieci wykorzystano dwa routery CISCO serii 7200, do których zostały przyłączone stacje robocze. Komunikację między routerami zapewniły dwa interfejsy typu serial, natomiast medium transmisyjnym, przy pomocy którego zapewniono komunikację routerów z hostami, był kabel sieciowy UTP-5 (100BaseT).
Konfigurację interfejsów routerów oraz kart sieciowych komputerów użytych do zbudowania modelu (Rys. 1) przeprowadzono tak, aby zapewnić bezproblemową komunikację między routerami, oraz aby hosty należące do sieci 1 i sieci 2 miały adresy sieciowe należące do różnych podsieci.
Po skonfigurowaniu modelu dokonano transmisji danych między hostami. Porównano wyniki otrzymane podczas przesyły danych z włączonymi i wyłączonymi mechanizmami bezpieczeństwa opartymi na integralności i szyfrowaniu danych.
Model składać się będzie z dwóch części. W pierwszej model posłuży do zbadania zabezpieczeń w trybie transportowym IPSec , w drugiej badane będą zabezpieczenia trbu tunelowego IPSec.
Rys. 1. Schemat eksperymentalnej sieci opartej na protokole IPv6.
Po włączeniu routera w oknie terminala pojawia się zestaw komunikatów związanych ze startem routera. Proces uruchamiania routera składa się z kilku etapów i jest inicjowany przez program rozruchowy (bootstrap), znajdujący się w pamięci ROM. Po przeprowadzeniu testów diagnostycznych sprzętu w ramach procedury POST, w której sprawdza się m.in. działanie procesora, pamięci i interfejsów, poszukiwany jest i ładowany obraz systemu operacyjnego IOS - zgodnie z ustawieniami w rejestrze routera oraz poleceniami zawartymi w skrypcie konfiguracyjnym.
Przy pierwszym uruchomieniu routera skrypt konfiguracyjny w pamięci NVRAM nie istnieje, co powoduje automatyczne uruchomienie dialogu konfiguracyjnego, który jest interaktywną sekwencją pytań i odpowiedzi, pozwalających utworzyć pierwszą, bazową konfigurację routera.
Tabela 1. Podstawowe tryby pracy routera
| Tryb pracy | Działanie |
| Tryb użytkownika Router> | Ograniczony zestaw poleceń "nieniszczących"; definiowanie ustawień terminala; wyświetlanie statusu routera. |
| Tryb uprzywilejowany Router# | Pełen zestaw poleceń; tryb konfiguracyjny; śledzenie pracy routera poprzez polecenie debug. |
| Tryb konfiguracyjny Router(config)# | Globalne i główne polecenia konfiguracyjne; wywoływany z trybu uprzywilejowanego. |
Konfiguracja routera odbywa się w konsoli typu CLI (ang. command Line interface). Po załadowaniu IOS-u pojawia się konsola w trybie użytkownika, którą identyfikuje prompt string „>”. W celu konfiguracji routera należy, przy użyciu komendy Router>enable, przejść do trybu uprzywilejowanego, który rozpoznajemy przez prompt string „#”. W trybie uprzywilejowanym będącym podstawowym panelem administracyjnym możemy posługiwać się komendami służącymi do uzyskania informacji o bieżących ustawieniach routera i aktualnie wykonywanych procesach. Do przeprowadzenia konfiguracji routera należy przejść do shell-a konfiguracyjnego identyfikowanego przez prompt string (config)#.
Przełączenie się do tego trybu jest następstwem wykonania komendy Router#config t, która to jest skróconą wersją komendy Router#config terminal.
Routery CISCO umożliwiają skracanie wykonywalnych komend przyspieszając tym ich konfigurację przez skrócenie czasu potrzebnego na wpisanie pełnych komend. Jeśli na danym poziomie konfiguracyjnym nie ma komend które brzmią identycznie nazwy komend można skrócić. Przykładowo „fastethernet 0/1” skracamy do „fa 0/1”.
Z poziomu konsoli konfiguracyjnej można przemieszczać się do konsol konfiguracyjnych poszczególnych interfejsów, które rozpoznajemy przez prompt string (config-if)#. Odbywa się to przy pomocy komendy Router(config)#interface
Przechodzenie wstecz z konsoli konfiguracyjnej danego interfejsu do globalnej konsoli konfiguracyjnej odbywa się przy pomocy komendy exit zaś przejście wstecz do trybu uprzywilejowanego następuje w efekcie wykonania komend end lub wciśnięcia kombinacji klawiszy CTRL+Z.
Przy wpisywaniu komend należy zwracać uwagę w jakiej konsoli się znajdujemy, związane jest to z faktem, że większość komend może być wykonana tylko w ściśle określonej powłoce konfiguracyjnej.
Poniższe rysunki przedstawiają pełne dialogi konfiguracyjne routerów Router1 i Router2. Jak łatwo zauważyć każda linia dialogu zawiera tylko jedną wykonywaną komendę wraz z jej wszystkimi parametrami.
| Rys 2. Dialog konfiguracyjny routera Router1 | Rys 3. Dialog konfiguracyjny routera Router2 |
W przypadku konfiguracji sieci opartej na protokole IPv6 nie można posługiwać się komendami konfiguracyjnymi sieci bazujących na protokole IPv4. Zakres zmian jest dość szeroki zaczynając od modyfikacji nazw poleceń, przykładowo konfiguracja adresów IP a kończąc na zmianie całego trybu konfiguracyjnego niektórych usług np. konfiguracja protokołu routingu RIPng.
Po przejściu do trybu konfiguracyjnego Router(config)# pierwszą wykonywaną komendą jest ipv6 unicast-routing. Polecenie to włącza przekazywanie pakietów IPv6 na routerze.
Następnym krokiem w konfiguracji routera w modelu było wybranie protokołu routingu. W budowanym modelu jako protokół odpowiedzialny za komunikację wybrano RIPng będący pierwszym protokołem IGP obsługiwanym przez system CISCO IOS.
Komenda ipv6 router rip służy do definiowania procesu RIPng na routerze i jednocześnie jest pierwszym krokiem jego uruchamiania. Parametr jest ciągiem znaków, za pomocą którego identyfikuje się proces RIPng. W przypadku konstruowanego modelu procesy te oznaczone zostały nazwami „znacznik1” dla identyfikacji procesu RIPng na routerze pierwszym i odpowiednio „znacznik2” służący identyfikacji procesu RIPng na routerze drugim.
Efektem wykonania powyżej omawianej komendy jest przejście do powłoki konfiguracyjnej proces RIPng, która umożliwia ustawianie lub zmianę parametrów procesu routingu. Zastosowano komendę split-horizon odpowiedzialna jest za przetwarzanie uaktualnień typu „podzielony horyzont”. Proces ten usuwa ogłoszenia prefiksów sieciowych IPv6 na interfejsach, z których zostały one poznane przez RIPng. Zasadę tą określa się sformułowaniem „Uczeń nie uczy swojego nauczyciela”.
Ex jest skróconą formą komendy exit, której działanie zostało już omówione.
Rys.4. Lista dostępnych na routerze interfejsów będąca wynikiem wykonania komendy „sh ipv6 int brief”. |
Efektem ostatniej linii dialogu jest powrót do trybu konfiguracyjnego. Po zainicjowaniu procesu routingu przy użyciu protokołu RIPng należy zająć się konfiguracją poszczególnych interfejsów dostępnych na routerze. Jednak zanim się do tego przystąpi warto sprawdzić jakie interfejsy są dostępne a szczególną uwagę należy zwrócić na ich numery identyfikacyjne. Listę dostępnych dla IPv6 interfejsów sprawdzamy poleceniem show ipv6 interface brief którą można zapisać w skrócie sh ipv6 int brief. Po zatwierdzeniu polecenia otrzymujemy poniżej prezentowaną listę interfejsów.
Analogicznie identyczną listę interfejsów mamy do dyspozycji na drugim z routerów użytych do zbudowania modelu. Otrzymane informacje mówią o tym, że nie został przypisany do żadnego interfejsu adres IPv6 oraz, że żaden protokół nie działa ani w warstwie fizycznej ani w warstwie łącza danych.
Do zestawienia połączeń w modelu wybrano interfejsy FastEthernet 1/0 do zapewnienia komunikacji hostów z routerami oraz interfejsy serial 2/0 i serial 2/1 odpowiedzialne za komunikację między routerami.
Konfiguracja interfejsu FastEthernet 1/0 odbyła się przy zastosowaniu poniższych linii dialogu konfiguracyjnego.:
| Rys.5. Dialog konfiguracyjny interfejsu fastethernet 1/0 na routerze Router1. |
Pierwsza linia poleceń int fa1/0 powoduje przejście do panelu konfiguracji interfejsu. Jest to skrócona forma polecenia interface fastethernet1/0.
Następnym krokiem jest przypisanie do interfejsu adresu sieciowego oraz określenie maski sieci do której dany interfejs ma należeć. Warto przypomnieć o zmianie formy prezentacji maski sieci w adresacji IPv6, która dopuszcza tylko format, w którym maska jest przedstawiana za pomocą liczby dziesiętnej, określającej ilość „1” w binarnej reprezentacji maski sieci, poprzedzonej znakiem „/”. Zgodnie z powyższym ustawiono na interfejsach Fastethernet 1/0 routerów następujące adresy IPv6 :FEC0:23::C801:CFF:FE5C:1C/64 i FEC0:24::C800:CFF:FE5C:1C/64
W obu przypadkach długość maski sieci wynosi 64 bity zatem przypisane adresy sieciowe należą do sieci odpowiednio:
FEC0:23::/64 i FEC0:24::/64
Po przypisaniu odpowiednich adresów IPv6 należy uruchomić na danym interfejsie proces RIPng komendą ipv6 rip enable, przykładowo na routerze Router1 polecenie to ma postać ipv6 rip znacznik1 enable. Kolejnymi krokami są: wyłączenie polecenia shutdown blokującego interfejs i opuszczenie trybu konfiguracyjnego interfejsu. Działania te wykonujemy komendami no shutdown i exit.
W przypadku interfejsów szeregowych (ang. serial ) konfiguracja jest bardziej złożona, ponieważ oprócz parametrów warstwy sieciowej (adres IP czy maska podsieci) określić należy również ustawienia dla warstwy łącza danych oraz warstwy fizycznej.
Przy komunikacji synchronicznej, typu punkt-punkt z wykorzystaniem interfejsów szeregowych, jedno urządzenie w parze pełni rolę urządzenia biernego typu DTE, zaś drugie jest urządzeniem aktywnym DCE, definiującym parametry transmisyjne, np. parametr zegara transmisji. W typowej sytuacji, gdy router podłącza się do sieci WAN, rolę DCE pełni urządzenie brzegowe dostawcy, a DTE - interfejs szeregowy routera oraz odwołanie domyślnie włączonego polecenia shutdown, które blokuje pracę interfejsu. Czynności te mogą być niepotrzebne, jeśli interfejs skonfigurowano z poziomu dialogu konfiguracyjnego. W warstwie łącza danych, jako typ hermetyzacji dla przesyłanych danych, wybierany jest automatycznie i domyślnie protokół HDLC. W zależności od potrzeb protokół ten można zmienić.
Jeżeli interfejs szeregowy routera pracuje jako urządzenie DCE, obowiązkowo dla tego interfejsu zdefiniować należy parametr zegara transmisji. W tym celu wykonujemy następujące polecenie w ramach konfiguracji interfejsu, podając jako parametr jedną z dozwolonych wartości (wyrażoną w bps):
Router(config-if)#clock rate 128000
Dla wszystkich interfejsów szeregowych można dodatkowo skonfigurować przepustowość oraz opóźnienie wprowadzane przez dany interfejs. Trzeba jednak pamiętać, że obydwa te parametry są statycznie wpisywane przez administratora (początkowo mają wartości domyślne, wynikające z typu interfejsu), mają znaczenie etykietowe i nie odzwierciedlają w żadnym wypadku faktycznej komunikacji przez konkretny interfejs. Modyfikuje się je w celu zmiany środowiska pracy protokołów routingu dynamicznego, takich jak IGRP czy OSPF.
| Rys.6. Dialog konfiguracyjny interfejsów typu serial na routerze Router1. |
Konfiguracja odbywa się podobnie jak w przypadku interfejsu fastethernet 1/0 z tą różnicą, że przypisane adresy sieciowe do interfejsów serial 2/0 na obu routerach muszą należeć do tej samej podsieci. Analogicznie jest w przypadku interfejsów serial 2/1. Dodatkowo na interfejsie pełniącym rolę DCE pojawia się parametr zegara transmisji.
| Rys.7. Dialog konfiguracyjny interfejsów typu serial na routerze Router2. |
Po przeprowadzeniu konfiguracji routerów należy zweryfikować jej poprawność. W tym celu wyświetlono listę interfejsów sieciowych poleceniem sh ipv6 int brief.
Rys.8. Lista interfejsów sieciowych routera po wykonanej konfiguracji. | Rys.9. Odpowiedź konsoli na polecenie „sh ipv6 rip”. |
Do poszczególnych interfejsów zostały przypisane odpowiednie adresy IPv6 oraz interfejsy te zostały odblokowane.
Następnie zweryfikowano działanie protokołu RIPng poleceniem sh ipv6 rip.
Na rys.9. zawarta jest lista interfejsów na których został uruchomiony proces routingu tj. Serial2/1, Serial2/0 oraz FastEthernet1/0.
Następnie zweryfikowano tablicę routingu przy pomocy polecenia sh ipv6 route.
| Rys.10. Tablica routingu routera Router1. | Rys.11. Tablica routingu routera Router2. |
Jak łatwo zauważyć w tablicach routingu znajdują się wpisy dotyczące routingu RIPng, znajdują się przy nich adresy sieci „poznane” przez router przez wymienione interfejsy. Przykładowo router Router1 dowiedział się o sieci FEC0:24::/64 przez interfejsy serial 2/0 i serial 2/1.
Zdefiniowane dla interfejsów parametry oraz stan ich pracy można w dowolnej chwili obejrzeć poleceniem show ipv6 interfaces - wyświetla ono m.in. następujące komunikaty dla konkretnego interfejsu fastethernet (fa) i serial (s):
| Rys.12. Szczegółowe informacje o interfejsie fastethernet 1/0. | Rys.13. Szczegółowe informacje o interfejsie serial 2/0. |
Rys.14. Szczegółowe informacje o interfejsie serial 2/1 |
Informacja typu „Serial 2/0 is up” sygnalizuje poprawną pracę interfejsu w warstwie fizycznej (status down sugeruje przykładowo brak częstotliwości nośnej lub odłączony kabel). Komunikat "line protocol is up" mówi o poprawnym działaniu protokołu warstwy łącza danych, czyli odbieranie pakietów keepalive (status down może sygnalizować na przykład brak zgodności protokołu warstwy drugiej bądź niezdefiniowany zegar w urządzeniu pracującym jako DCE). W szczególnych sytuacjach stan interfejsu prezentowany jest jako "administratively down", co informuje, że w konfiguracji interfejsu włączono polecenie shutdown, które blokuje pracę interfejsu.
Wśród pozostałych informacji wyświetlanych poleceniem show odnaleźć można: adres sprzętowy MAC (dla interfejsów typu Ethernet/FastEthernet), przypisany adres IPv6, parametr MTU (ang. maximum transfer unit), przepustowość (BW), opóźnienie (DLY), niezawodność i obciążenie interfejsu (parametry rzeczywistej transmisji) oraz włączony protokół warstwy łącza danych (np. HDLC dla interfejsu szeregowego lub ARPA, czyli Ethernet II dla interfejsu typu Ethernet).
Polecenie Ping pozwala zweryfikować łączność na poziomie protokołu IP z innym hostem obsługującym protokół TCP/IP, wysyłane są komunikaty żądania echa protokołu ICMP (Internet Control Message Protocol). Potwierdzenia odpowiednich komunikatów odpowiedzi echa są prezentowane razem z czasami opóźnienia. Polecenie ping to podstawowe polecenie protokołu TCP/IP używane do rozwiązywania problemów z łącznością, dostępnością i rozpoznawaniem nazw.
Do obu sieci FEC0:23::/64 i FEC0:24::/64 zgodnie ze schematem modelu zostały włączone hosty i przypisane im adresy sieciowe IPv6 odpowiednio: FEC0:23::C801:CFF:FE5C:1D/64 i FEC0:24::C800:CFF:FE5C:1D/64. Następnie zweryfikowano łączność na poziomie protokołu IP pomiędzy wszystkimi węzłami sieci. Przykładowe wydruki konsoli będące odpowiedzią na polecenie ping prezentuje poniższy rysunek. Badano łączność ze stacji Host2 do stacji Host1 i obu routerów.[21]
| Rys.15. Odpowiedzi hostów i routerów na polecenie ping. |
Wyniki badania są oczywiste, odpowiedzi echa od węzła Host1 oddalonego najbardziej od hosta Host2 mają największe czasy opóźnień. Mniejszymi wartościami tych czasów charakteryzują się odpowiedzi echa od routerów Router1 i Router2. W każdym badanym przypadku wszystkie żądania echa uzyskały odpowiedź o czym świadczy ilość odebranych pakietów równa ilości pakietów wysłanych.
Punkt ten został ujęty w osobnym wpisie
Drugim wykonanym modelem jest model wykorzystujący do zabezpieczenia komunikacji protokół IPSec działający w trybie tunelowym tzw. gateway to gateway. Po skonfigurowaniu interfejsów sieciowych i routingu jak to zostało omówione w rozdziale 2, rozszerzono konfigurację o VTI (ang. Virtual Tunnel Interface) wirtualny tunel na którym możliwe jest skonfigurowanie protokołu IPSec. Poniżej prezentowany jest pełny listing konfiguracji routera R1:
config t
interface serial 0/0 crypto isakmp policy 1 crypto isakmp key 6 tajne123 address ipv6 3eee:8010:7:1702::2/128 crypto ipsec profile profile0 ipv6 cef
|
Dodatkowa konfiguracja polega na :
Konfigurując tunel należy podać jedo adres IPv6, zadeklarować routing, określić parametr „tunel source” – określa on początek tunelu (tzn. interfejs, z którego ruch będzie kierowany do tunelu). Nastepnie określamy koniec tunelu poprzez podanie parametru „tunnel destination” którym jest adres IPv6 interfejsu na drugim routerze przez który odbywać się będzie komunikacja. Następnie ustawiamy tryb pracy tunelu w naszym przypadku jest to „IPSec IPv6” a ostatnim krokiem jest przypisanie stworzonego profilu ISAKMP do konfigurowanego tunelu. Profil ISAKMP definiuje wszystkie reguły IPSec tryby szyfrowania, algorytmy wymiany kluczy. Odbywa się to w wierszu:
crypto ipsec transform-set 3des ah-sha-hmac esp-3des
Trans form-set jest kombinacją protokołów bezpieczeństwa i algorytmów, które są akceptowane przez routery posiadające wsparcie dla IPSec.
Poniżej zamieszczono pełny listing konfiguracyjny routera Router2
config t
int fa0/0 ipv6 rip znacznik1 enable no shutdown
interface serial 0/0
crypto isakmp policy 1
crypto isakmp key 6 tajne123 address ipv6 3eee:8010:7:1702::1/128
ipv6 cef ipv6 route fec0:24::/64 tunnel0 |
Należy dodać, że przy konfiguracji przebiegającej w powyższy sposób, wcześniej omawiana konfiguracja IPSec w systemie Windows Vista została usunięta przez wyłączenie zapory systemowej. Zabezpieczenie komunikacji odbywało się tylko i wyłącznie przez IPSec chroniący wymianę danych w tunelu wirtualnym.
| REKLAMA |
| REKLAMA |
| REKLAMA |
| REKLAMA |
| REKLAMA |
|
|
Matematyka Grupa dla wszystkich miłośników "Matki wszystkich nauk" Dyskusje, cyferki, zdania - jednym ... |
|
|
|
TRANSFORMATORY TOROIDALNE I ... Producenci i konstruktorzy transformatorów i zasilaczy |
|
|
|
Akty prawne, normy Akty prawne, normy i inne zagadnienia |
|
|
|
ELEKTRONICY Grupa poświęcona jest osobom pasjonującym się lub zawodowo związanym z elektroniką. |
|
| REKLAMA |
1. Rys. 1. maSchet eksperymentalnej sieci opartej na protokole IPv6.
Powinno być: Rys. 1. Schemat eksperymentalnej sieci opartej na protokole IPv6.
2. Przykładowo „fastethernet 0/1” skracamy do „fa 1/0”.
Powinno być: „fastethernet 0/1” skracamy do „fa 0/1”.