Cisco Catalyst 4912g to zaawansowany przełącznik sieciowy, który oferuje wysoką wydajność i funkcje, które pomagają w zarządzaniu sieciami. Umożliwia on wykonywanie podstawowych operacji takich jak tworzenie VLANów, konfigurowanie ścieżek dostępu, wdrażanie protokołów routingu i wspieranie technologii sieci bezprzewodowych. Przełącznik Cisco Catalyst 4912g oferuje również szybki i niezawodny dostęp do sieci, dzięki możliwości skalowania przełącznika do połączeń 10Gbps. Przełącznik jest również wyposażony w zaawansowane narzędzia do zarządzania, które umożliwiają zdalne monitorowanie i konfigurowanie sieci.
Ostatnia aktualizacja: Podstawowe operacje Cisco Catalyst 4912g
Przełączniki czy jak, kto woli switche, to obok routerów urządzenia niezbędne w nowoczesnej sieci. To właśnie one pozwalają na zwiększenie ilości hostów w naszej sieci. Bardzo często określa się przełączniki jako urządzenia warstwy 2 i jest to określenie jak najbardziej trafne gdyż pracują one w warstwie łącza danych. Zanim przejdziemy do omawiania konfiguracji przełączników CISCO, parę słów wprowadzenia i przypomnienia. Jak zostało napomknięte przełączniki operują w warstwie drugiej, czyli ich zadaniem jest kierowanie ruchem ramek ethernetowych, tak aby trafiły one do docelowego hosta. Cały proces komunikacji opiera się na wykorzystaniu adresów MAC (adres fizyczny). Adres MAC jest dwuczęściową, 48-bitową wartością przedstawianą w formie 12 cyfr szesnastkowych. Format zapisu adresu MAC może być różny, najczęściej spotkasz się z następującymi postaciami tego adresu: C8-60-00-C7-89-EB, C8:60:00:C7:89:EB bądź C860. 00C7. 89EB (wszystkie formy są poprawne i dozwolone choć podczas procesu konfiguracji przełącznika CISCO obowiązującym formatem jest zapis: C860. 89EB). Jak wiadomo MAC jest adresem, który jest na trwałe zapisany w pamięci ROM karty sieciowej, choć zdarzają się producenci sprzętu sieciowego, którzy pozwalają na lokalną zmianę tego adresu. Adres MAC jest składową dwóch części – pierwsze 24 bity adresu zostały przeznaczone na tzw. identyfikator OUI (ang. Organizational Unique Identifier), natomiast drugie 24 bity jest identyfikatorem urządzenia. Nadawanie identyfikatora OUI jest regulowane przez organizację IEEE natomiast zagospodarowaniem pozostałej przestrzeni zajmuje się producent urządzenia. Dodatkowo w identyfikatorze OUI zostały zarezerwowane dwa bity: Poniżej na rysunku przedstawiono strukturę adresu MAC na przykładzie karty sieciowej firmy ASUS. W sieci dostępne są strony, które na podstawie wpisanego adresu MAC zidentyfikują producenta urządzenia. Na rynku istnieje wiele firm produkujących przełączniki, od bardzo prostych po naprawdę zaawansowane, które pozwolą na ustawienie wielu parametrów pracy urządzenia. Proste przełączniki nie są konfigurowalne a sposób ich działania sprowadza się do przełączania ramek. Przełącznik taki instalujemy w naszej sieci a do jego portów podłączamy hosty, po włączeniu switch rozpoczyna przekazywanie ramek. Przełączniki tego typu zdadzą egzamin w małej sieci domowej bądź biurowej w przypadku pojawienia się nowych hostów, które muszą zostać zintegrowane z naszą siecią. Przełącznikom, które muszą pracować w dużych sieciach korporacyjnych, uczelnianych czy produkcyjnych są stawiane całkiem inne wymagania a determinują je funkcje i mechanizmy jakie switch musi wspierać. Dzięki obecności interfejsu konfiguracyjnego (przeglądarka, konsola) urządzenia można skonfigurować tak aby mogły pełnić powierzone im funkcje. My zajmiemy się przełącznikami bardziej zaawansowanymi a przy okazji omawiania poszczególnych funkcji i mechanizmów, pośrednio poznamy jak działa sieć. Konfigurację przełącznika zostanie omówiona z wykorzystaniem topologii przedstawionej na schemacie poniżej. Po uzyskaniu połączenia z konsolą przełącznika możemy przejść do jego konfiguracji. Polecenia muszą zostać wydane w odpowiednim trybie (podobnie jest z routerami) do dyspozycji mamy: Aby ułatwić sobie wprowadzanie poleceń i mieć możliwość odwołania się do poleceń już wydanych możemy włączyć funkcję historii poleceń. Domyślnie funkcja ta jest włączona a przełącznik w swojej pamięci zapisuje 10 ostatnio wydanych poleceń. Włączenie bufora historii wykonywanych poleceń odbywa się za pomocą polecenia: terminal history, natomiast by zmienić ilość zapamiętywanych poleceń należy skorzystać z polecenia: terminal history size <wartość> Podana wartość określa ilość zapamiętywanych pozycji. Pokazanie całego zestawu wydanych poleceń odbywa się za pomocą komendy: show history Aby całkowicie wyłączyć historię terminalu należy wydać polecenie: terminal no history natomiast by powrócić do domyślnej wartości dziesięciu pamiętanych pozycji użyj komendy: terminal no history size Podczas wydawania kolejnych poleceń czasem są one przerywane komunikatami pojawiającymi się w linii wiersza a informujących o aktualnie zaistniałych zdarzeniach. Aby uniemożliwić wypisanie komunikatu możesz wydać polecenie: logging synchronous Konfigurację przełącznika prowadzimy poprzez interfejs konsolowy dlatego polecenie to zostało wydane w trybie konfiguracji interfejsu konsolowego. Nieraz przy wydawaniu polecenia popełnimy błąd, irytujące bywa czekanie na ponowną możliwość jego wprowadzenia. Jeśli przełącznik nie potrafi odnaleźć polecenia próbuje wprowadzony ciąg wyrazów dopasować do nazwy hosta zdalnego. Dlatego w tym celu wysyłane jest rozgłoszenie mające na celu odnalezienie serwera DNS i podejmowana jest próba rozwiązania nazwy. Proces ten może chwile potrwać a my przez ten czas tracimy możliwość komunikacji z switchem. Aby do takiej sytuacji nie dopuścić i zabronić rozwiązywania nazw za pomocą DNS wydaj polecenie: no ip domain lookup I na koniec jeszcze jeden bardzo przydatny trik. Bardzo często będziesz prowadził konfigurację różnych parametrów pracy przełącznika i aby sprawdzić ich efekt oraz upewnić się co do poprawności wprowadzonych komend będziesz wykorzystywał różne warianty polecenia: show Aby za każdym razem nie przechodzić do trybu uprzywilejowanego w którym to polecenie jest standardowo dostępne możesz wydać w dowolnym miejscu trybu konfiguracyjnego przełącznika polecenie show lecz musisz je poprzedzić słowem: do Poniżej mały przykład – zostaje wyłączony interfejs f0/1, efekt wydania komendy zostaje sprawdzony za pomocą polecenia: do show ip interface brief Sprawdzenie wykonujemy z trybu konfiguracji interfejsu. Jednym z najczęstszych poleceń jakie będziemy wykonywać są polecenia związane z konfiguracją poszczególnych portów przełącznika. Switche tych portów posiadają bardzo wiele a często konfigurację, którą będziemy prowadzić będzie obejmowała szerszą ich grupę. Aby nie wykonywać tych samych operacji konfiguracyjnych na każdym z interfejsów osobno, wprowadzono polecenia, które pozwalają na wybranie kilku portów – wprowadzane komendy będą stosowane do wybranej grupy portów. Wybranie pojedynczego portu przełącznika realizujemy za pomocą polecenia: interface <nazwa_portu> Poniżej przykład przejścia do trybu konfiguracji interfejsu f0/1 Aby wybrać wiele interfejsów należy skorzystać z polecenia: interface range <nazwa_portu>, <nazwa_portu>, <itd. > Po zdefiniowaniu zakresu wszelkie polecenia będą stosowane do wybranych portów. Nazwy portów oddzielamy przecinkami i spacją. Poniżej przykład wybrania zakresu portów w skład, którego weszły trzy interfejsy: f0/1, f0/6 oraz f0/15. Jeżeli grupa portów będzie zakresem ciągłym możemy skorzystać z polecenia, w którym określamy pierwszy i ostatni interfejs: interface range <nazwa_portu_pierwszego>-<nazwa_portu_ostatniego> Poniżej przykład wybrania portów od f0/4 do f0/12. Gdy do jakieś grupy portów odwołujemy się stale możemy zdefiniować makro z przyjazną dla nas nazwą – od tej pory konfiguracja portów będzie przebiegać za pomocą odwołania. 1 – w pierwszej kolejności za pomocą polecenia: define interface-range <nazwa_makra> <zakres_portów> definiujemy makro. Konfigurowany zakres obejmuje porty od f0/1 do f/06 oraz port f0/12 (pomiędzy zdefiniowanym zakresem ciągłym i pojedynczym portem są znaki: spacja, przecinek, spacja) natomiast nazwa makra to: pietro2. 2 – odwołanie się do zdefiniowanego makra. Po wywołaniu makra konfiguracja będzie prowadzona dla portów przypisanych do makra. Poniżej przykład, w którym po przejściu do trybu konfiguracji interfejsu z użyciem makra zostaje wydane polecenia wyłączenia interfejsów: shutdown Aby móc łatwo zidentyfikować przeznaczenie portu przełącznika do każdego możemy dodać krótki opis. Definicję komentarzy realizujemy za pomocą komendy: description <opis> Poniżej przedstawiono przykład dodania opisu do interfejsu f0/13 Informację na temat zdefiniowanego makro oraz opisu portu oczywiście znajdziemy po wywołaniu polecenia wyświetlającego konfigurację bieżącą przełącznika: show running-config. Jednym z najczęściej wydawanych poleceń jest: show interface <nazwa interfejsu>. Po wywołaniu komendy zostaną wyświetlone informacje o stanie interfejsu, do najważniejszych należą: 1 – nazwa interfejsu oraz stan interfejsu, interfejs włączony i podłączony, 2 – adres MAC interfejsu, 3 – parametry interfejsu (w kolejności): MTU, szerokość pasma [kb/s], opóźnienie [mikrosekunda], niezawodność, obciążenie wysyłanie, obciążenie odbieranie, 4 – enkapsulacja ARPA, pętla zwrotna nie ustawiona, 5 – aktywność sygnalizowana co 10 sekund, 6 – ustawiony Full-duplex, prędkość 100Mb/s, nośnik 10/100BaseTX, 7 – czas przechowywania wpisu ARP 04:00:00. Aktualną wersję oprogramowania przełącznika oraz informację na temat komponentów sprzętowych poznanym po wydaniu komendy: show version Konfiguracja początkowa przełącznika zostanie wyświetlona po wydaniu polecenia: show startup-config Natomiast konfigurację bieżącą poznamy po użyciu komendy: show running-config Aby wprowadzone ustawienia z konfiguracji bieżącej przenieść do konfiguracji startowej tak aby po restarcie przełącznika nie trzeba było go ponownie konfigurować za pomocą polecenia: copy running-config startup-config Aby wyświetlić informację na temat plików zapisanych w pamięci flash należy użyć polecenia: show flash Konfigurację urządzenia dodatkowo możemy zapisać na pamięci flash. Komenda: copy startup-config flash:backupS1 nakazuje wykonanie kopii konfiguracji startowej i zapisanie jej w pamięci flash w pliku backupS1. Aby z wcześniej utworzonego pliku zapasowego konfiguracji przywrócić ustawienia posłuż się poleceniem: copy flash:backupS1 startup-config Aby wykasować z pamięci flash niepotrzebne pliki należy wydać polecenie: delete flash:<nazwa_pliku> Poniżej przykład wykasowania pliku backupS1. Pliki konfiguracyjne możemy również zapisać na hostach zewnętrznych, na których została uruchomiona usługa TFTP oraz FTP. Aby zapis pliku konfiguracyjnego przełącznika mógł się powieść w pierwszej kolejności do jednego z interfejsów switcha należy przypisać adres IP. Gdy o tym zapomnimy nie będzie możliwości wykonania poniższych czynności. Próba zapisu na serwerze zewnętrznym zakończy się niepowodzeniem. Jak przypisać adres IP do portu przełącznika? Odpowiedź na to pytanie znajdziesz kilka linijek niżej przy opisie zdalnego dostępu do urządzenia. Zadzwoń i dowiedz się więcej, tel. 68 411 40 00. Na komputerze zostaje uruchomiony serwer TFTP, polecenie nakazujące wykonać kopię bieżącej konfiguracji przełącznika wraz z zapisem tych informacji na serwerze przedstawia się następująco: copy system:running-config tftp://<adres_serwera_TFTP> Na rysunku poniżej przykład wykonania tej operacji – zapis pliku konfiguracji bieżącej przełącznika S1 do pliku s1-config na serwerze TFTP o adresie IP 10. 0. 10 Poniżej efekt wykonanej operacji po stronie TFTP, jak widać proces zapisu konfiguracji urządzenia powiódł się a my możemy przeglądnąć informacje zawarte w pliku ustawień switcha. Aby skorzystać z protokołu FTP wydajemy polecenie: copy system:running-config ftp://<nazwa_użytkownika>:<hasło>@<adres_serwera_FTP> Na listeningu poniżej przykład skopiowania konfiguracji bieżącej przełącznika S1 i zapis tych ustawień na zewnętrznym serwerze FTP o adresie 10. 10 do pliku backupS1 z wykorzystaniem konta luk o ustawionym haśle cisco. Jak widać poniżej, po stronie serwera wydanie komendy spowodowało wykonanie kopii ustawień przełącznika i zapis tych ustawień do pliku backupS1. O konieczności stosowania haseł celem zabezpieczenia się przed nieautoryzowanym dostępem do urządzenia chyba nie trzeba przypominać nikomu. W przełącznikach CISCO (zresztą również i w routerach) mamy dostępne kilka poziomów zabezpieczeń. Zacznijmy więc od zabezpieczenia możliwości wykonania połączenia poprzez interfejs konsoli. Aby ustalić hasło, które będzie trzeba podać po nawiązaniu połączenia z przełącznikiem należy przejść za pomocą polecenia: line console 0 do trybu konfiguracji linii konsolowej przełącznika. W tym trybie wydanie polecenia: password <hasło> a następnie login spowoduje włączenie trybu logowania. Po wykonaniu konfiguracji wykonujemy próbę połączenia z urządzeniem za pomocą portu konsolowego. Jak zostało zilustrowane poniżej dostęp do linii poleceń przełącznika jest możliwy po podaniu hasła. Konfigurację ustawionego hasła możemy sprawdzić w konfiguracji urządzenia. Po nawiązaniu połączenia za pomocą polecenia: exec-timeout <minuty> <sekundy> możemy określić czas automatycznego wylogowania (domyślnie 10 minut). W przypadku prowadzenia konfiguracji przełącznika aby konfiguracja ta nie została przerwana możemy wydać polecenie: exec-timeout 0 0 Wydanie polecenia spowoduje uniemożliwienie zamknięcia sesji poprzez ustawienie czasu na nieskończoność. Aby wrócić do ustawień domyślnych należy wydać polecenie: no exec-timeout Aby podnieść poziom bezpieczeństwa możemy ustawić dodatkowe hasło pozwalające na dostęp do trybu uprzywilejowanego. Hasło ustalamy za pomocą polecenia: enable secret <hasło> Od teraz za każdym razem gdy wydamy polecenie: enable będziemy musieli podać ustalone w poprzednim kroku hasło. Zdefiniowane hasła po wyświetleniu konfiguracji przełącznika są zapisane otwartym tekstem, każdy może je bez trudu odczytać. Aby hasło ukryć można wykorzystać parametr: secret – wydając polecenie: enable secret <hasło> spowoduje zaszyfrowanie hasła za pomocą algorytmu MD5. Niestety sposobu tego nie można wykorzystać do ukrycia hasła dostępu do linii poleceń. Aby ukryć hasło dostępu do linii poleceń należy w trybie konfiguracji globalnej użyć polecenia: service password-encryption Po wydaniu komendy wszystkie hasła zapisane tekstem jawnym zostaną zastąpione ciągiem znaków, ich generowanie opiera się na algorytmie Vigenere (oznaczenie siódemka – 7 za słowem password). Algorytm ten jest bardzo prosty do złamania ale użycie tej metody ochroni nas przed odczytaniem hasła przez osobę postronną, stojącą za naszymi plecami (zawsze to coś). Aby połączyć się z przełącznikiem zdalnie za pomocą protokołu Telnet (co z punktu widzenia security nie jest rozwiązaniem zalecanym) bądź SSH w pierwszej kolejności musimy ustalić adres IP, pod którym switch będzie dostępny w naszej sieci. Aby zdefiniować adres IP w trybie konfiguracji globalnej wydajemy polecenie: interface vlan 1 Czemu takie polecenie? Wybacz czytelniku ale nie będą w tej chwili rozwijał tematu, gdyż VLAN-y to odręby wątek na następny wpis. Zdradzę tylko tyle, że domyślnie każdy interfejs przełącznika jest przypisany do VLAN-u pierwszego stąd komunikacja może być prowadzona pomiędzy wszystkimi urządzeniami, które do przełącznika podepniemy, lecz wcale tak być nie musi ponieważ poszczególne porty możemy pogrupować w odzielne domeny pomiędzy, którymi komunikacja nie będzie możliwa. Temat ten omówimy w kolejnym wpisie dotyczącym przełączników. Tak więc po przejściu do trybu konfiguracji interfejsu, interfejsowi vlan 1 przypisujemy adres IP. Adres IP ustawiamy za pomocą polecenia: ip address <adres_IP> <maska_sieci>. Po ustaleniu adresu interfejs należy włączyć – polecenie: no shutdown Poprawność konfiguracji sprawdzimy wydając polecenie: show ip interface brief Aby połączenie mogło dojść do skutku do linii wirtualnych odpowiedzialnych m. in. za komunikację Telnet musimy przypisać hasło. Jak widać poniżej dostęp do wszystkim linii VTY chroni hasło: cisco Hasło zostało ustawione za pomocą polecenia: line vty <linia_pierwsza> <linia_ostatnia> – wybór interfejsów, a następnie za pomocą komendy: password <hasło> ustalamy hasło. Nie zapominamy dodać polecenia: login, które informuje przełącznik, że hasło ma zostać sprawdzone podczas logowania. Po wykonaniu tych wszystkich poleceń komunikacja z przełącznikiem za pomocą protokołu Telnet będzie możliwa. Poniżej sesja zestawiona z wykorzystaniem komputera HostA. Udało się nawiązać połączenie zdalne z przełącznikiem. Tę samą czynność powtórzmy lecz tym razem przy użyciu komputera HostB. Jak widać próba kończy się niepowodzeniem. Połączenia nie udało się nawiązać gdyż łączący się host pochodzi z innej sieci niż ta, w której znajduje się przełącznik. Aby przełącznik mógł komunikować się z hostami znajdującymi się w sieciach o odrębnej adresacji IP, podobnie jak na zwykłym komputerze do jego konfiguracji sieciowej należy dodać adres bramy domyślnej. Po dodaniu adresu bramy przełącznik będzie mógł prowadzić komunikację z hostami znajdującymi się poza jego własną siecią. Aby skonfigurować bramę należy użyć polecenia: ip default-gateway <adres_bramy> Po skonfigurowaniu adresu bramy domyślnej nawiązanie połączenia z switchem powinno się zakończyć sukcesem. Jak widać powyżej tak też się stało. Ponowna próba połączenia się z komputera HostB kończy się sukcesem. Zamiast korzystać z przestarzałego już protokołu /blog/uslugi/telnet/ (choć prawdę mówiąc wygodnego i nadal będącego w użyciu) do zestawienia połączenia zdalnego z przełącznikiem możemy wykorzystać połączenie zestawione za pomocą bezpiecznego protokołu SSH. Konfigurację połączenia z wykorzystaniem protokołu SSH zaczynamy od ustalenia nazwy przełącznika – polecenie: hostname <nazwa> oraz od konfiguracji nazwy domeny – polecenie: ip domain-name <nazwa_domeny> Kolejnym krokiem jest włączenie SSH oraz wygenerowanie kluczy RSA, które będą potrzebne do zabezpieczenia zestawianego połączenia. Klucze generujemy za pomocą komendy: crypto key generate rsa Po wydaniu polecenia zostaniemy poproszeni o określenie rozmiarów generowanych kluczy. Wartość ta jest definiowana z przedziału od 360 do 2048 bitów. Im wyższa wartość klucza tym klucz jest bezpieczniejszy. Zaleca się aby minimalna wartość klucza wynosiła 1024 bitów. Po procesie wygenerowania kluczy za pomocą poleceń: show ip ssh oraz show ssh możemy skontrolować stan serwera. Pierwsze polecenie pozwala na sprawdzenie ustawień serwera, drugie zaś jest wykorzystywane do sprawdzenia aktualnych połączeń, w których jest wykorzystywany protokół SSH. Dodatkowo za pomocą polecenia: ip ssh verion <numer_wersji> możemy wybrać wersję protokołu SSH jaka będzie używana. Zdefiniowanie wartości 1 spowoduje wybranie protokołu SSHv1 natomiast wybranie 2 protokołu SSHv2. Polecenie: ip ssh time-out <wartość> pozwala na zdefiniowanie czasu potrzebnego na ustanowienie połączenia. Wartość ta może być wybrana z przedziału od 0 do 120 sekund, domyślna wartość to 120 sekund. Natomiast komenda: ip ssh authentication-retries pozwala nam na określenie liczby ponownych wydłużeń sesji ponad domyślne ustawione 10 minut. Przedział dozwolonych wartości jest określony od 0 do 5. Domyślna wartość to 3. Wprowadzone opcje konfiguracyjne możemy zweryfikować za pomocą znanego już nam polecenia: show ip ssh Konfiguracja SSH dobiegła końca lecz niestety, jeśli na tym etapie chcielibyśmy zestawić połączenie z przełącznikiem to operacja ta się nie powiedzie. Problemem jest typ użytych zabezpieczeń. Aby połączenie mogło dojść do skutku musimy utworzyć w lokalnej bazie przełącznika konto, za pomocą którego będziemy się logowali, bądź możemy do tego celu użyć modelu AAA. Poniżej przykład skorzystania z lokalnej bazy kont zapisanej w pamięci przełącznika jeżeli będziesz chciał skorzystać z funkcji modelu AAA odsyłam do artykułu: https://www. pl/blog/informatyka/dostep-zdalny-oraz-prawa-uzytkownika-w-routerach-cisco/ gdyż w tym wpisie zawarłem informacje opisujące użycie tej metody. Wpis ten odnosi się do routerów, ale z powodzeniem można go zastosować również do konfiguracji przełącznika. Za pomocą polecenia: username <nazwa_konta> password <hasło> następuje utworzenie konta. Aby logowanie było możliwe dodatkowo w konfiguracji interfejsów wirtualnych linii musimy wydać polecenie: login local, które poinformuje Switch, że do weryfikacji użytkownika ma zostać użyta lokalna baza użytkowników. Zostało utworzone konto: jankow z hasłem: cisco Po wydaniu wszystkich przedstawionych powyżej poleceń możemy sprawdzić czy połączenie działa. Po uruchomieniu programu PuTTY i podaniu niezbędnych informacji możemy cieszyć się z nawiązania bezpiecznego połączenia (pierwsza próba wymaga zatwierdzenia wcześniej wygenerowanego klucza). Po zestawieniu połączenia, nasz przełącznik za pomocą protokołu SSH możemy konfigurować zdalnie. Po wydaniu polecenia: show ssh możemy potwierdzić fakt zdalnego połączenia SSH. Aby na przełączniku wymusić realizację tylko połączeń z wykorzystaniem protokołu SSH w trybie konfiguracji linii vty wydaj polecenie: transport input ssh Po wydaniu polecenia wszystkie połączenia zdalne korzystające z innych protokołów niż SSH zostaną zablokowane. Poniżej przykład wykonania połączenia Telnet jak widać próba zestawienia połączenia kończy się niepowodzeniem. Dostęp do switcha możemy również realizować poprzez interfejs WWW z poziomu przeglądarki internetowej. Aby przeprowadzić taką konfigurację w trybie konfiguracji globalnej należy wydać następujące polecenia: ip http authentication enable oraz ip http server Po wydaniu poleceń konfiguracja przełącznika będzie możliwa z wykorzystaniem protokołu HTTP. Do uwierzytelnienia zostało wykorzystane te samo konto co przy połączeniu Przełączniki aby mogły sprawnie przekazywać ramki pomiędzy swoimi portami zostały wyposażone w tablicę adresów MAC (w literaturze można również znaleźć określenie: tablica CAM), w której jest przechowywana informacja o powiązaniu adresu MAC z danym portem przełącznika oraz siecią VLAN. Proces uczenia się adresów MAC, które są dostępne pod wskazanym portem następuje podczas przekazywania ruchu sieciowego a mówiąc bardziej dokładnie w procesie analizy źródłowych adresów MAC. W sytuacji, w której przełącznik otrzymuje ramkę z nieznanym docelowym adresem MAC wysyła rozgłoszenie na wszystkich swoich portach prócz portu z którego przyszła ramka celem odnalezienia docelowego adresu. Po odszukaniu adresu MAC jest on dołączany do tablicy adresów. Aby przejrzeć tablicę zarejestrowanych adresów MAC należy posłużyć się poleceniem: show mac address-table Adresy znajdujące się w tablicy MAC nie muszą być pozyskiwane tylko w sposób dynamiczny można dany wpis dokonać statycznie (ręcznie). Aby wykonać wpis statyczny, który zostanie zapisany w tablicy adresów MAC należy posłużyć się poleceniem: mac-address-table static <adres_MAC> vlan <identyfikator_sieci_VLAN> interface <port_przełącznika> Adres urządzenia, którego adres MAC ma być umieszczony w tablicy podajemy w potrójnej notacji heksadecymalnej z kropkami. Po ponownym wyświetleniu zawartości tablicy MAC, dokonany wpis zostanie odnotowany (w polu Type powinna znaleźć się informacja STATIC). Polecenie: show mac address-table posiada kilka przełączników za pomocą, których możemy zdefiniować dodatkowe parametry tak aby przefiltrować tablice pod kątem interesujących nas informacji. Użycie przełączników zawęża nam otrzymane wyniki co jest szczególne istotne gdyż tablica adresów MAC może posiadać kilkaset wpisów. Aby wyświetlić wpisy statyczne użyj polecenia: show mac address-table static natomiast jeśli interesują cię tylko wpisy dokonane dynamicznie: show mac address-table dynamic Aby poznać adresy MAC skojarzone z danym interfejsem posłuż się komendą: show mac address-table interface <port_przełącznika> Aby zaś poznać adresy MAC powiązane z danym VLAN-em wydaj polecenie: show mac address-table vlan <identyfikator_sieci_VLAN> Można również odszukać (jeśli znamy) konkretny adres MAC: show mac address-table address <adres_MAC> Natomiast aby zobaczyć całkowity rozmiar tablicy MAC (wraz z ilością wolnego miejsca) posłuż się poleceniem: show mac address-table count Aby w tablicy adresów MAC panował porządek, nieaktywne adresy MAC urządzeń zostają z niej automatycznie usuwane. Domyślny czas usunięcia nieaktywnego urządzenia wynosi 300 sekund. Ustawienie to można zmienić za pomocą polecenia: mac address-table aging-time <czas_sekundy> Czas usunięcia nieaktywnych rekordów tablicy MAC można sprawdzić za pomocą komendy: show mac address-table aging Gdy zaistnieje taka potrzeba tablicę adresów MAC możemy wyczyścić ręcznie za pomocą polecenia: clear mac address-table dynamic Jeśli chcesz usunąć wpisy dotyczące konkretnego adresu MAC użyj przełącznika: address <adres_MAC>, konkretnego interfejsu: interface <port_przełącznika> zaś z określonego VLAN-u: vlan <identyfikator_sieci_VLAN> Jednym z parametrów pracy przełącznika a raczej jego interfejsów na, który również mamy wpływ jest określenie szybkości działania danego portu przełącznika. Porty FastEthernet mogą pracować z szybkością 10 bądź 100 Mb/s. Dodatkowa opcja: auto, włącza tryb auto-negocjacji. Opcja auto jest ustawieniem domyślnym. Natomiast porty GigabitEthernet mają możliwość ustawienia szybkości portu na 10, 100 lub 1000 Mb/s Oczywiście opcja auto jest również dostępna. Poniżej przykład ustawienia interfejsu f0/1 switcha S1 na prędkość 10 Mb/s Zmianę szybkość łącza realizujemy za pomocą polecenia: speed <prędkość> Polecenie oczywiście wydajemy w trybie konfiguracji interfejsu. pl/wp-content/uploads/zmiana-szybkosci-lacza. png" alt="Zmiana szybkości łącza" width="519" height="87" srcset="https://www. png 519w, https://www. pl/wp-content/uploads/zmiana-szybkosci-lacza-300x50. pl/wp-content/uploads/zmiana-szybkosci-lacza-64x11. png 64w" sizes="(max-width: 519px) 100vw, 519px"/> Ustawienie portu możemy sprawdzić poprzez wydanie komendy: show interfaces f0/1 Opcją, która również pośrednio wpływa na szybkość ustanowionego połączenia pomiędzy przełącznikiem a np. hostem jest opcja trybu łącza. Oznacza to, że port może pracować w trybie pełnego dupleksu bądź pół-dupleksu. Dupleks oznacza, że port może jednocześnie dane odbierać i wysyłać natomiast pół-dupleks ogranicza interfejs do jednej z tych operacji. Oznacza to, że interfejs pracujący w trybie pół-dupleksu albo dane wysyła albo dane odbiera. Tryb ten można porównać do pracy CB-Radia w którym to jednoczesne mówienie i słuchanie jest niemożliwe. Na zrzucie poniżej przedstawiłem zmianę pracy interfejsu f0/1 przełącznika S1 do trybu pół-dupleksu. Zmianę trybu realizujemy za pomocą poleceń: duplex half (tryb pół-dupleksu) bądź dublex full (tryb pełny dupleks). Polecenie to, również jest wydawane w trybie konfiguracji interfejsu. I tak jak poprzednio efekt wydanego polecenia możemy sprawdzić po wywołaniu ustawień danego interfejsu. Przy konfiguracji trybu interfejsu jest również dostępna opcja: auto która pozwala nam na wybranie trybu automatycznego. Tryb ten jest dostępny jedynie na portach typu FastEthernet bądź GigabitEthernet. Negocjacja rozpoczyna się od próby ustanowienia trybu pełnego dupleksu w przypadku niepowodzenia port jest ustawiany na tryb pół-dupleksu. Przełączniki CISCO domyślnie są wyposażone w mechanizmy monitorujące stan interfejsu w przypadku wystąpienia błędu, port przechodzi w stan tzw. errdisable i jest blokowany. Jako administratorzy mamy wpływ na określenie sytuacji, w których porty powinny być blokowane. Aby wyświetlić wszystkie możliwe powody blokady portu wykorzystaj polecenie: errdisable detect cause? Możliwych błędów, po których port zostanie przełączony w stan errdisable może być wiele, poniżej lista (choć niekompletna, bo wszystko zależy od modelu przełącznika jakim dysponujemy oraz wersji IOS) niektórych z nich: Aby zablokować wystąpienie błędu należy użyć polecenia: errdisable detect cause <powód_błędu> z przedrostkiem no. Domyślne ustawienia przełącznika powodują, że aby port powrócił do normalnego stanu działania trzeba w trybie konfiguracji danego interfejsu wydać komendę wyłączającą dany port – shutdown a następnie komendę włączającą interfejs – no shutdown. Aby zmusić przełącznik do automatycznego reaktywowania portu możemy skorzystać z polecenia: errdisable recovery cause <powód_błędu> Domyślnie powrót portu do normalnego działania został ustawiony na 300 sekund. Aby zmienić czas automatycznej reaktywacji interfejsu użyj komendy: errdisable recovery interval <czas_sekundy> Czas powrotu mieści się w przedziale od 30 do 86400 sekund. Aby zmusić przełącznik do powrotu wszystkich swoich portów do stanu normalnego działania po czasie 30 minut od wykrycia obojętnie jakiego błędu użyj następujących poleceń: Powrót do stanu normalnej pracy interfejsu przełącznika konfigurujemy w trybie konfiguracji globalnej oznacza to, że wprowadzone ustawienia dotyczą wszystkich portów switcha a nie tych wybranych. Aby móc szybko wykryć stan w jakim znajduje się dany port przełącznika użyj polecenia: show interface status Aby znaleźć tylko te porty, których stan został ustawiony na errdisable wpisz: show interface status err-disable Przełączniki firmy CISCO zostały wyposażone w mechanizm, który pozwala nam na zabezpieczenie portów przełącznika przed nie autoryzowanym ruchem sieciowym. W skrócie chodzi o to, że możemy zdefiniować, które urządzenia mogą prowadzić komunikację z przełącznikiem. Działanie tego mechanizmu opiera się na adresach Port Security. Aby sprawdzić czy Port Security został włączony i czy jakieś interfejsy przełącznika za pomocą tego mechanizmu są chronione wydaj polecenie: show port-security. Jak widać poniżej, żaden interfejs przełącznika nie jest chroniony. Tak więc spróbujmy zmienić ten stan i zabezpieczyć port interfejsu podłączony do hosta HostA. Funkcję ochrony portu włączamy w konfiguracji konkretnego interfejsu. HostA jest podłączony do interfejsu f0/6 tak więc konfiguracja będzie obejmować ten port. Aby włączyć zabezpieczenie należy wydać polecenie: switchport port-security Po wydaniu polecenia jak można zauważyć na poniższym listingu wydanie komendy kończy się niepowodzeniem: Command rejected: FastEthernet0/6 is a dynamic port. Włączenie funkcji Port Security jest niemożliwe ponieważ interfejs przełącznika jest skonfigurowany do automatycznej konfiguracji interfejsu. Stan tego ustawienia określimy po wydaniu polecenia: show interfaces <nazwa_interfejsu> switchport W sekcji Administrative Mode widnieje opis: dynamic auto oznaczający automatyczną konfigurację interfejsu przy użyciu protokołu DTP (ang. Discovery Trunk Protocol). Zadaniem protokołu jest wykrycie jakie urządzenie jest podłączone do portu i na podstawie tych informacji ustawiany jest odpowiedni typ pracy portu. W przypadku podłączenie komputera łącze zostanie ustawione jako access natomiast jeśli zostanie podłączony przełącznik z zestawionym łączem trunk przełącznik zestawi połączenie typu trunk. Łącze trunk jest typem połączenia pomiędzy przełącznikami za pomocą, którego jest przesyłany ruch sieciowy należący do różnych VLAN-ów. Na razie zdradzę tylko tyle, gdyż jak już wcześniej wspomniałem do tematu powrócę przy okazji omawiania konfiguracji sieci access (sekcja: Operational Mode) Wracając do Port Security, aby więc móc włączyć ten mechanizm musimy interfejs w sposób ręczny przestawić do odpowiedniego typu pracy. Do interfejsu f0/6 przełącznika jest podłączony host tak więc typ pracy interfejsu powinien być ustawiony na tryb access. Aby przełączyć port do tego trybu pracy w linii konfiguracji interfejsu wydaj polecenie: switchport mode access (pkt. 1) po wykonaniu tej komendy możemy w końcu włączyć ochronę portu. Jak widać poniżej po wydaniu komendy: switchport port-security zostaje ona zaakceptowana. Ustawiony tryb pracy sprawdźmy za pomocą już znanego nam polecenia: show interfaces f0/6 switchport Jak widzimy typ pracy portu zostaje tym razem ustawiony na: static access Po skonfigurowaniu pierwszego interfejsu możemy sprawdzić stan mechanizmu Port Security. Po wydaniu polecenia: show port-security widzimy stan skonfigurowanych portów. Jak widać na liście pojawił się interfejs f0/6. Informacje podawane przez polecenie są zgrupowane w tabeli: Po analizie powyższego listingu uważny obserwator dostrzeże, że już na wstępie po włączeniu funkcji Port Security wystąpił problem z naruszeniem zasad bezpieczeństwa (kolumna SecurityViolation) Sprawdźmy zatem stan portów – polecenie: show interfaces status Po wydaniu polecenia jak możemy zauważyć, przy statusie portu f0/6 pojawił się opis err-disabled informujący nas o wystąpieniu błędu. Wydanie dodatkowego polecenia: show interfaces status err-disabled poinformuje nas o typie błędu. Jak widzimy problem błędu dotyczy naruszenia zasad bezpieczeństwa. Wyświetlenie stanu interfejsów za pomocą komendy: show ip interfaces brief informuje nas o wyłączeniu interfejsu f0/6. Dodatkowo stan ten możemy potwierdzić wydając polecenie: show interfaces f0/6 Wyłączenie interfejsu skutkuje brakiem komunikacji pomiędzy komputerem HostaA a przełącznikiem. Włączenie funkcji Port Security nie wystarczy by dokonać zabezpieczenia portów przełącznika. W naszej przeprowadzonej konfiguracji (jak część z was się pewnie domyśla) zabrakło określenia informacji o adresie MAC hosta, który do portu f0/6 jest podłączony i ma prawo wykonać połączenie. Włączenie funkcji spowodowało automatyczne zadziałanie domyślnych ustawień powodujących wyłączenie portu. Spróbujmy więc naprawić ten stan rzeczy. Aby nie następowało naruszenie zasad w trybie konfiguracji portu musimy określić adres MAC komputera podłączonego do interfejsu f0/6 przełącznika. Adres ten definiujemy za pomocą polecenia: switchport port-security mac-address <adres_MAC> Aby wyzerować liczniki mechanizmu Port Security interfejs dodatkowo musimy wyłączyć i włączyć. Po zdefiniowaniu adresu MAC hosta HostA komunikacja z przełącznikiem została przywrócona. Po wyświetleniu stanu funkcji Port Security nie widzimy już naruszeń zasad bezpieczeństwa a komunikacja odbywa się poprawnie. Sposób ręcznego przypisywania adresów MAC, które mogą uzyskać połączenie z przełącznikiem jest procesem dość kłopotliwym i łatwo podczas tej operacji o błąd. Dlatego mechanizm Port Security wyposażono w funkcję automatycznego uczenia się adresów MAC hostów, które do przełącznika są podłączane (tzw. „lepkie” adresy MAC). Spróbujmy więc przetestować jej działanie w praktyce. Aby adres MAC automatycznie dopisać do polecenia konfigurującego mechanizm zabezpieczeń portów przełącznika należy w poleceniu dodać parametr: sticky. Zastosowanie tego parametru spowoduje, że pierwszy wykryty adres MAC, który będzie chciał skorzystać z interfejsu przełącznika na którym komenda sticky została wydana, zostanie dopisany do polecenia. Poniżej przykład wykorzystania tej funkcji na przykładzie interfejsu f0/6 Po włączeniu mechanizmu Port Security (jak na rysunku poniżej) jeszcze nic się nie wydarzyło ponieważ jeszcze żaden host do portu f0/6 nie został podłączony. Dodatkowo stan zabezpieczeń portu w kontekście funkcji Port Security możemy sprawdzić za pomocą polecenia: show port-security interface <nazwa_interfejsu> Polecenie te poinformuje nas o: 1 – stan mechanizmu Port Security, 2 – status portu Secure-down oznacza brak połączenia z interfejsem (brak ruchu sieciowego na interfejsie). Przy wykonaniu pierwszego podłączenia status powinien zmienić się na Seciure-up. 3 – co stanie się po naruszeniu zasad bezpieczeństwa – w przykładzie Shutdown czyli wyłączenie interfejsu, 4 – maksymalna liczba adresów MAC mogących korzystać z interfejsu, 5 – łączna liczba adresów MAC korzystająca z interfejsu, 6 – liczba skonfigurowanych statycznych adresów MAC, 7 – liczba adresów MAC skonfigurowanych przy użyciu parametru sticky, 8 – adres MAC interfejsu, który przesłał pakiet jako ostatni, 9 – liczba naruszeń zasad. Mechanizm Port Security został skonfigurowany sprawdźmy co stanie się w momencie podłączenia hosta. Sprawdzenie stanu Port Security za pomocą polecenia: show port-security informuje nas że wszystko jest w porządku. Jak widać poniżej naruszenie zasad bezpieczeństwa nie nastąpiło. Upewnijmy się i sprawdźmy jeszcze jak to wygląda w kontekście interfejsu. Jak można przekonać się po zrzucie poniżej Port Security działa a interfejs ma status Secure-up. Aby się całkowicie upewnić sprawdźmy połączenie z komputerem HostB. Wszystko działa. Mechanizm Port Security posiada dodatkowe parametry, które możemy konfigurować. Jednym z nich jest ustalenie liczby maksymalnych adresów MAC mogących korzystać z portu przełącznika. Liczbę tych adresów ustalamy za pomocą polecenia: switchport port-security maximum <maksymalna_liczba_hostów> Zmieńmy domyślną liczbę hostów z wartości 1 na 2 i sprawdźmy co stanie się jak podłączymy kolejnego hosta. Sprawdzenie stanu zabezpieczeń portu przekonuje nas, że do interfejsu f0/6 maksymalnie można podłączyć dwa hosty natomiast aktualnie jest podłączony jeden. HostC został podłączony. Podłączenie hosta powoduje zmianę parametrów mechanizmu Port Security. Jak widzimy powyżej liczba aktywnych interfejsów wynosi dwa. Zasady bezpieczeństwa nie zostały naruszone (port nie został zamknięty) gdyż maksymalna ilość hostów jakie mogą wykorzystywać ten interfejs to dwa. Co nie zostało jeszcze powiedziane to to, że adresy poznane dzięki zastosowaniu parametru: sticky zostają automatycznie dopisane do konfiguracji bieżącej przełącznika. Poniżej zrzut konfiguracji przełącznika (fragment). Opcję na jaką jeszcze mamy wpływ podczas konfiguracji mechanizmu Port Security jest tryb w jaki ma przejść interfejs gdy zostanie naruszone bezpieczeństwo interfejsu. Oprócz domyślnej opcji zamknięcia portu do dyspozycji mamy jeszcze dwa rozwiązania: Aby skonfigurować stan jaki ma nastąpić po naruszeniu zasad bezpieczeństwa należy skorzystać z polecenia: switchport port-security violation <stan> Spróbujmy zmienić domyślną opcję shutdown na restrict. Następnie podłączmy kolejnego hosta i sprawdźmy co nastąpi. Domyślna opcja zamknięcia portu zostaje zmieniona na tryb restrict. Zmianę konfiguracji możemy zaobserwować po skorzystaniu z poleceń show. Podłączmy trzeciego hosta. Jak widać poniżej sprawdzenie stanu funkcji Port Security w kontekście interfejsu f0/6 uwidacznia nam naruszenie zasad bezpieczeństwa. Ruch sieciowy został dla tego hosta zablokowany. Adres MAC trzeciego podłączonego komputera wyczerpuje maksymalną ilość zdefiniowanych adresów mogących korzystać z interfejsu f0/6. Hosty, których adresy MAC zostały poprawnie skonfigurowane nadal mogą prowadzić komunikację. Na wstępie opisu mechanizmu Port Security wspomniałem, że mechanizm ten w 100% nie ochroni naszej sieci. Powróćmy do naszej sytuacji, w której to dwa hosty mają prawo połączenia z przełącznikiem natomiast trzeci już nie. Pytanie jest takie – Czy można obejść to zabezpieczenie tak aby trzeci host jednak uzyskał dostęp do sieci? Hosty, które mogą komunikować się z przełącznikiem mają następujące adresy MAC (polecenie: show running-config): Natomiast zablokowany host: Jak już wiesz mechanizm Port Security opiera swoją zasadę działania na adresacji fizycznej podłączanych urządzeń. Aby ominąć to zabezpieczenie trzeba więc zmienić adres MAC hosta chcącego uzyskać dostęp. To co również zaznaczyłem niektóre karty sieciowe pozwalają nam na taką zmianę. Zmianę lokalną adresu MAC dokonujemy w ustawieniach karty sieciowej. Spróbujmy więc zablokowany adres MAC 0001. 96D2. C72D zamienić na 000C. 2979. 7004 Aby móc zmienić adres MAC w systemie Windows w oknie Połączenia sieciowe zaznaczamy dane połączenie i po kliknięciu PPM wybieramy Właściwości. W nowo otwartym oknie na karcie Sieć klikamy na Konfiguruj. Na karcie Zaawansowane (tak jest w moim przypadku, choć tu należy mieć na uwadze, że w przypadku różnych modeli kart sieciowych ustawienia te mogą być zgrupowane na innych kartach i mogą mieć różną nazwę) odszukujemy ustawienie Locally Administered Address i w sekcji Wartość wpisujemy adres MAC (w naszym przypadku 000C29797004 gdyż ten adres może komunikować się z przełącznikiem). Po zmianie adresu lokalnego MAC komunikacja jest możliwa – poniżej przykład wykonania testu ping z adresem bramy (interfejsu routera). Pierwszy test przed zmianą adresu MAC i tu próba oczywiście nieudana drugi test już po zmianie adresu MAC i jak widać test kończy się powodzeniem. Udało nam się ominąć zabezpieczenie Port Security. W przypadku systemu Linux korzystamy z narzędzia macchanger. Składnia polecenia jest następująca: macchanger –m <nowy_adres_MAC> <interfejs>. Po wydaniu polecenia bieżący adres MAC zostaje zastąpiony „sfałszowanym”. W przypadku niemożności wydania polecenia, odpowiedni pakiet trzeba doinstalować: sudo apt-get install macchanger Po instalacji oprogramowania zmianę adresu MAC interfejsu eth0 wykonujemy za pomocą polecenia: macchanger -m 00:0C:29:79:70:04 eth0 Jak widać na rysunku poniżej udało się nam zmienić adres MAC. Po tej zmianie host uzyskuje łączność z przełącznikiem. Innym rozwiązaniem jakim możemy posłużyć się w celu oszukania Port Security jest użycie routera, który ma funkcję klonowania adresu Od tej pory gdy podłączymy do routera dowolny host, powinien on prowadzić swobodną komunikację. Choć przy wyborze tego typu rozwiązania mogą wystąpić problemy z routingiem pakietów ale to już zależne jest od topologii sieci i zastosowanych zabezpieczeń. I tu wpis ten chciałbym zakończyć. Myślę, że przedstawione przykłady wyczerpują temat podstawowej konfiguracji przełączników CISCO i że art ten stanowi dobry start do dalszych rozważań. Profesjonalne usługi informatyczne dla firm. W swojej ofercie posiadamy zarządzanie serwerami, konfiguracja routerów, hosting www, szkolenia informatyczne oraz audyty bezpieczeństwa.
- Home
- Server 2003/2008
- Windows 7
- Office
- Linux
- Sieci komputerowe
- Wujek dobra rada
- Mapa strony
- Napisz
Co w sieci siedzi. Warstwa 2 czyli podstawowa konfiguracja przełącznika CISCO
11 sierpień 2015 Czytany 57219 razy Oceń ten artykuł- 1
- 2
- 3
- 4
- 5
Przełączniki obok routerów są urządzeniami, które w nowoczesnej sieci są niezbędne. To właśnie dzięki przełącznikom możemy rozszerzać granice naszej sieci podłączając do niej nowe hosty. Bardzo często określa się przełączniki jako urządzenia warstwy 2, ponieważ są urządzeniami, które pracują w warstwie łącza danych.
Zanim przejdziemy omawiać konfigurację przełączników CISCO, parę słów wprowadzenia i przypomnienia. Jak zostało napomknięte przełączniki operują w warstwie drugiej, czyli ich zadaniem jest takie kierowanie przesyłaniem ramek ethernetowych aby mogły trafić do docelowego hosta. Cały proces tej komunikacji opiera się na wykorzystaniu adresów MAC (adres fizyczny). Adres MAC jest dwuczęściową 48-bitową wartością dwójkową przedstawianą w formie 12 cyfr szesnastkowych. Format zapisu adresu MAC może być różny tak więc najczęściej Czytelniku spotkasz się z następującymi postaciami tego adresu: C8-60-00-C7-89-EB, C8:60:00:C7:89:EB bądź C860. 00C7. 89EB (wszystkie formy są poprawne i dozwolone choć podczas procesu konfiguracji przełącznika będziesz używał formatu C860. 89EB).
Jak wiadomo adres MAC jest adresem, który jest na trwałe zapisany w pamięci ROM karty sieciowej choć zdarzają się producenci sprzętu sieciowego, którzy pozwalają na lokalną zmianę tego adresu. Adres MAC jest składową dwóch części a mianowicie 24 bity adresu zostały przeznaczone na tzw. identyfikator OUI (ang. Organizational Unique Identifier), natomiast drugie 24 bity jest identyfikatorem urządzenia. Nadawanie identyfikatora OUI jest regulowane przez organizację IEEE natomiast zagospodarowaniem pozostałej przestrzeni zajmuje się producent urządzenia. Dodatkowo w identyfikatorze OUI zostały zarezerwowane dwa bity:
bit transmisji rozgłoszeniowej bądź grupowej - określa do jakiej grupy odbiorców ma dotrzeć ramka – transmisja rozgłoszeniowa bądź grupowa,
bit adresu administrowanego lokalnie - bit określa możliwość zmiany lokalnego adresu MAC.
Poniżej na rysunku przedstawiono strukturę adresu MAC na przykładzie karty sieciowej firmy ASUS.
W sieci dostępne są strony, które na podstawie wpisanego adresu MAC potrafią nam zidentyfikować producenta urządzenia. Jedną z takich stron jest np. ta: http://www. com/mac_find/ bądź ta: http://aruljohn. pl
Na rynku istnieje bardzo wiele firm produkujących przełączniki od bardzo prostych do naprawdę zaawansowanych, które pozwalają nam na ustawienie wielu parametrów pracy urządzenia. Dodatkowo przełącznik przełącznikowi nie równy gdyż urządzenia te różnią się bogactwem oferowanych funkcji. Proste przełączniki nie są konfigurowalne a sposób ich działania sprowadza się do przełączania ramek. Przełącznik taki po prostu instalujemy w naszej sieci a do jego portów podłączamy kolejne hosty, przełącznik zaczyna swoją pracę przekazując kolejne ramki. Przełączniki tego typu z reguły kupuje się w przypadku pojawienia się w naszej sieci nowych hostów, które muszą zostać zintegrowane z naszą siecią (mała sieci domowa, biurowa). Przełącznikom, które muszą pracować w dużych sieciach korporacyjnych, uczelnianych czy produkcyjnych są stawiane całkiem inne wymagania, które narzucają nam funkcje i mechanizmy jakie przełącznik musi oferować. Przełączniki takie poprzez swój interfejs konfiguracyjny oparty na przeglądarce bądź wierszu poleceń zapewniają nam możliwość dostosowania ustawień urządzenia. My zajmiemy się omówieniem przełączników bardziej zaawansowanych a przy okazji omawiania funkcji oferowanych przez te urządzenia pośrednio poznamy dodatkowe aspekty działania sieci komputerowych.
Konfigurację przełącznika będziemy dokonywać z wykorzystaniem topologii przedstawionej na poniższym schemacie.
Aby nie powtarzać się i nie opisywać tych samych tematów odsyłam cię Czytelniku do wpisu: http://slow7. pl/sieci-komputerowe/item/39-zarzadzanie-routerem-cisco gdyż część informacji zawartych w tym wpisie również będzie odnosić się do przełącznika - np. kwestie związane z podłączeniem się do urządzenia. W dalszej części wpisu zakładam, że informacje zawarte pod linkiem, który podałem są Ci znane.
Konfigurację przełącznika tak jak w przypadku routerów będziemy prowadzić w wierszu poleceń (choć możliwa jest również konfiguracja z wykorzystaniem przeglądarki) i tak jak w przypadku routerów każde polecenie, które będziemy wykorzystywać będzie musiało być wydane w odpowiednim trybie. Do dyspozycji mamy:
Tryb użytkownika ograniczony jest jedynie do przeglądania konfiguracji przełącznika oraz monitorowania jego stanu. Zmiana konfiguracji switcha w tym trybie jest niemożliwa. Tryb ten oznaczony jest znakiem >.
Drugi z dostępnych trybów to tryb uprzywilejowany, tryb ten identyfikowany jest przez znak gotowości #. Umożliwia pełną konfigurację przełącznika a także przegląd wszystkich jego ustawień. Ze względu na możliwość zmiany sposobu działania switcha przejście do tego trybu najczęściej jest zabezpieczone hasłem. Przejście do trybu uprzywilejowanego wykonujemy po wpisaniu komendy: enable Z tego trybu możliwy jest bezpośredni dostęp do trybu konfiguracji przełącznika.
Tryb konfiguracji globalnej jest trybem służącym do konfigurowania podstawowych parametrów przełącznika. W trybie tym mamy możliwość na zmianę takich parametrów jak: przypisanie adresu IP do urządzenia, ustawienie zasad dostępu, konfigurację VLAN oraz wiele innych parametrów pracy. Tryb ten rozpoznajemy po słowie config ujętym w nawiasie. pl/images/stories/siec/switch_1/image3. png" alt="image3"/>
By ułatwić sobie wprowadzanie poleceń i mieć możliwość odwołania się do poleceń już wydanych możemy włączyć funkcję historii poleceń. Domyślnie funkcja ta jest włączona a przełącznik w swojej pamięci zapisuje 10 ostatnio wydanych poleceń.
Włączenie bufora historii wykonywanych poleceń odbywa się za pomocą polecenia: terminal history, natomiast by zmienić ilość zapamiętywanych poleceń należy skorzystać z polecenia: terminal history size <wartość> Podana wartość określa ilość zapamiętywanych pozycji. pl/images/stories/siec/switch_1/image4. png" alt="image4"/>
Pokazanie całego zestawu wydanych poleceń odbywa się za pomocą komendy: show history
Aby całkowicie wyłączyć historię terminalu należy wydać polecenie: terminal no history natomiast by powrócić do domyślnej wartości pamiętanych dziesięciu pozycji użyj komendy: terminal no history size
Podczas wydawania kolejnych poleceń czasem polecenia te są przerywane komunikatami pojawiającymi się w linii wiersza a informujących o aktualnych zdarzeniach. Aby uniemożliwić wypisanie komunikatu podczas wydawanego polecenia możesz wydać polecenie: logging synchronous Konfigurację przełącznika prowadzimy poprzez interfejs konsolowy dlatego polecenie to zostało wydane w trybie konfiguracji interfejsu konsolowego. pl/images/stories/siec/switch_1/image6. png" alt="image6"/>
Dodatkowo dosyć irytujące jest czekanie na ponowną możliwość wprowadzenia polecenia w przypadku popełnienia błędu w składni komendy. Dzieje się tak ponieważ przełącznik jeśli nie potrafi odnaleźć polecenia próbuje wprowadzony ciąg wyrazów dopasować do nazwy hosta zdalnego. Dlatego w tym celu wysyłane jest rozgłoszenie celem odnalezienia serwera DNS, który to pomoże w odnalezieniu hosta, którego nazwa została zdefiniowana. Proces ten może chwile czasu potrwać a my przez ten czas tracimy możliwość komunikacji z switchem. Dlatego by zabronić rozwiązywania nazw za pomocą DNS wydaj polecenie: no ip domain lookup
I na koniec jeszcze jeden bardzo przydatny trik. Bardzo często będziesz prowadził konfigurację różnych parametrów pracy przełącznika i by sprawdzić ich efekt oraz upewnić się co do poprawności wprowadzonych komend będziesz wykorzystywał różne warianty polecenia: show Aby za każdym razem nie przechodzić do trybu uprzywilejowanego w którym to polecenie jest standardowo dostępne możesz wydać w dowolnym miejscu trybu konfiguracyjnego przełącznika polecenie show lecz musisz je poprzedzić słowem: do Poniżej przykład wyłączenie interfejsu f0/1 i sprawdzenie tego faktu za pomocą polecenia: do show ip interface brief Sprawdzenie dokonujemy z trybu konfiguracji interfejsu. pl/images/stories/siec/switch_1/image8. png" alt="image8" width="700" height="518"/>
Jednym z najczęstszych poleceń jakie będziemy wykonywać są polecenia związane z konfiguracją poszczególnych portów przełącznika. Switche tych portów posiadają bardzo wiele a często konfigurację, którą będziemy prowadzić będzie obejmowała szerszą grupę tych portów. Tak więc by nie wykonywać tych samych operacji konfiguracyjnych na każdym z interfejsów osobno wprowadzono polecenia, które pozwolą nam na wybranie kilku portów a wprowadzane komendy będą stosowane do wybranej grupy portów.
Wybranie pojedynczego portu przełącznika realizujemy za pomocą polecenia: interface <nazwa_portu> Poniżej przykład przejścia do trybu konfiguracji interfejsu f0/1
Aby wybrać wiele interfejsów należy skorzystać z polecenia: interface range <nazwa_portu>, <nazwa_portu>, <itd. > Po zdefiniowaniu zakresu wszelkie polecenia będą stosowane do wybranych portów. Nazwy portów oddzielamy przecinkami i spacją. Poniżej przykład wybrania zakresu portów w skład którego wchodzą trzy interfejsy: f0/1, f0/6 oraz f0/15. pl/images/stories/siec/switch_1/image10. png" alt="image10"/>
Jeżeli definiowany zakres będzie zakresem ciągły możemy skorzystać z polecenia w którym będziemy definiowali pierwszy i ostatni interfejs co do których będzie prowadzona wspólna konfiguracja: interface range <nazwa_portu_pierwszego> <nazwa_portu_ostatniego> Poniżej przykład wybrania portów od f0/4 do f0/12. pl/images/stories/siec/switch_1/image11. png" alt="image11"/>
Gdy do jakieś grupy portów odwołujemy się stale możemy zdefiniować makro z przyjazną dla nas nazwą i do makra tego przypisać grupę konfigurowanych interfejsów. Aby dokonać konfiguracji portów będziemy odwoływali się do zdefiniowanego makra. pl/images/stories/siec/switch_1/image12. png" alt="image12"/>
1 - w pierwszej kolejności za pomocą polecenia: define interface-range <nazwa_makra> <zakres_portów> definiujemy makro. Zdefiniowany zakres w przykładzie obejmuje porty od f0/1 do f/06 oraz port f0/12 (pomiędzy zdefiniowanym zakresem ciągłym i pojedynczym portem są znaki:spacja, przecinek, spacja) natomiast nazwa makra to: pietro2.
2 - odwołanie się do zdefiniowanego makra. Po wywołaniu makra konfiguracja będzie prowadzona dla portów określonych w makro.
Poniżej przykład w którym po przejściu do trybu konfiguracji interfejsu z użyciem makra zostaje wydane polecenia wyłączenia interfejsów: shutdown
Aby móc łatwo zidentyfikować port przełącznika do każdego portu możemy dodać krótki opis definiujący sposób użycia portu. Definicję komentarza realizujemy za pomocą komendy: description <opis> Poniżej przedstawiono przykład dodania opisu do interfejsu f0/13
Informację na temat zdefiniowanego makro oraz opisu portu oczywiście znajdziemy po wywołaniu polecenia wyświetlającego konfigurację bieżącą przełącznika: show running-config. pl/images/stories/siec/switch_1/image15. png" alt="image15"/>
Poleceniem do którego podczas przeprowadzania konfiguracji przełącznika będziemy się bardzo często odwoływać jest polecenie: show interface <nazwa interfejsu>. pl/images/stories/siec/switch_1/image16. png" alt="image16"/>
Po wywołaniu komendy uzyskamy wiele informacji o stanie interfejsu, do najważniejszych należą:
1 - nazwa interfejsu oraz stan interfejsu, interfejs włączony i podłączony,
2 - Adres MAC interfejsu,
3 - Parametry interfejsu (w kolejności): MTU, szerokość pasma [kb/s], opóźnienie [mikrosekunda], niezawodność, obciążenie wysyłanie, obciążenie odbieranie,
4 - Enkapsulacja ARPA, pętla zwrotna nie ustawiona,
5 - Aktywność sygnalizowana co 10 sekund,
6 - Ustawiony Full-duplex, prędkość 100Mb/s, nośnik 10/100BaseTX,
7- Czas przechowywania wpisu ARP 04:00:00.
Konfiguracje początkową przełącznika wyświetla się za pomocą polecenia: show startup-config
Natomiast konfigurację bieżącą za pomocą komendy: show running-config
Aby wyświetlić informację na temat plików zapisanych w pamięci flash należy użyć polecenia: show flash
Wersje oprogramowania przełącznika oraz informację na temat komponentów sprzętowych poznanym po wydaniu komendy: show version
Aby wprowadzone ustawienia z konfiguracji bieżącej przenieść do konfiguracji startowej tak by po restarcie przełącznika nie trzeba było go konfigurować na nowo użyj polecenia: copy running-config startup-config
Konfigurację urządzenia dodatkowo możemy zapisać na pamięci flash. Komenda: copy startup-config flash:backupS1 nakazuje wykonanie kopii konfiguracji startowej i zapisanie jej w pamięci flash w pliku backupS1. pl/images/stories/siec/switch_1/image22. png" alt="image22" width="700" height="288"/>
Aby z wcześniej utworzonego pliku zapasowego konfiguracji przywrócić ustawienia posłuż się poleceniem: copy flash:backupS1 startup-config
Aby wykasować z pamięci flash niepotrzebne pliki należy wydać polecenie: delete flash:<nazwa_pliku> Poniżej przykład wykasowania pliku backupS1. pl/images/stories/siec/switch_1/image24. png" alt="image24" width="700" height="422"/>
Pliki konfiguracyjne możemy również zapisać na hostach zewnętrznych na których została uruchomiona usługa serwera TFTP oraz FTP. Ważne jest, że aby taki zapis pliku konfiguracyjnego przełącznika mógł nastąpić musimy w pierwszej kolejności do jednego z interfejsów switcha przypisać adres IP. Gdy o tym zapomnimy nie będzie możliwości wykonania przedstawionych poniższych czynności. Próba zapisu na serwerze zewnętrznym zakończy się niepowodzeniem. Jak przypisać adres IP do portu przełącznika? Odpowiedź na to pytanie znajdziesz kilka linijek niżej przy opisie zdalnego dostępu do urządzenia.
Tak więc na komputerze zostaje uruchomiony serwer TFTP, polecenie nakazujące wykonać kopię konfiguracji bieżącej przełącznika i zapis tych informacji na serwerze przedstawia się następująco: copy system:running-config tftp://<adres_serwera_TFTP>> Na rysunku poniżej przykład wykonania tej operacji - zapis pliku konfiguracji bieżącej przełącznika S1 do pliku s1-config na serwerze TFTP o adresie IP 10. 0. 10
Poniżej możemy oglądnąć efekt wykonanej operacji po stronie serwera TFTP, jak widać proces zapisu konfiguracji urządzenia powiódł się a my możemy przeglądać informacje zawarte w pliku ustawień switcha. pl/images/stories/siec/switch_1/image26. png" alt="image26" width="700" height="447"/>
Aby skorzystać z protokołu FTP (wykonamy tą samą operację jak w przypadku TFTP) wydajemy polecenie: copy system:running-config ftp://<nazwa_użytkownika>:<hasło>@<adres_serwera_FTP> Na listeningu poniżej przykład skopiowania konfiguracji bieżącej przełącznika S1 i zapis tych ustawień na zewnętrznym serwerze FTP o adresie 10. 10 do pliku backupS1 z wykorzystaniem konta luk o ustawionym haśle cisco. pl/images/stories/siec/switch_1/image27. png" alt="image27"/>
Jak widać poniżej po stronie serwera wydanie komendy spowodowało wykonanie kopii ustawień przełącznika i zapis tych ustawień do pliku backupS1. pl/images/stories/siec/switch_1/image28. png" alt="image28" width="700" height="497"/>
O konieczności stosowania haseł celem zabezpieczenia się przed nieautoryzowanym dostępem do urządzenia chyba nie trzeba przypominać nikomu. W przełącznikach CISCO (zresztą jak i routerach) mamy dostępne kilka poziomów zabezpieczeń. Zacznijmy więc od zabezpieczenia możliwości wykonania połączenia poprzez interfejs konsoli. Aby ustalić hasło, które będzie trzeba podać po nawiązaniu połączenia z przełącznikiem należy przejść za pomocą polecenia: line console 0 do trybu konfiguracji linii konsolowej przełącznika i w trybie tym wydać polecenie: password <hasło> a następnie komendę: login, która to spowoduje włączenie trybu logowania. pl/images/stories/siec/switch_1/image29. png" alt="image29"/>
Po wykonaniu konfiguracji możemy wykonać próbę połączenia się z urządzeniem za pomocą portu konsolowego. Jak zostało zilustrowane niżej nie przejdziemy dalej gdy nie podamy hasła. pl/images/stories/siec/switch_1/image30. png" alt="image30"/>
Konfigurację ustawionego hasła możemy sprawdzić w konfiguracji urządzenia. pl/images/stories/siec/switch_1/image31. png" alt="image31"/>
Po nawiązaniu połączenia za pomocą polecenia: exec-timeout <minuty> <sekundy> możemy określić czas automatycznego wylogowania (domyślnie 10 minut). W przypadku prowadzenia konfiguracji przełącznika aby konfiguracja ta nie została przerwana możemy wydać polecenie: exec-timeout 0 0 Wydanie polecenia spowoduje uniemożliwienie zamknięcia sesji poprzez ustawienie czasu na nieskończoność. Aby wrócić do ustawień domyślnych należy wydać polecenie: no exec-timeout
Dodatkowo by podnieść poziom bezpieczeństwa dodatkowe hasło możemy ustawić aby przejść do trybu uprzywilejowanego. Hasło ustalamy za pomocą polecenia: enable secret <hasło>
Po ustaleniu hasła każdorazowo po wydaniu polecenia: enable będziemy musieli podać ustalone w poprzednim kroku hasło. pl/images/stories/siec/switch_1/image34. png" alt="image34"/>
Aby przejrzeć efekt wydanych poleceń możemy przejrzeć konfigurację urządzenia. Hasło zostało zapisane. Jak widać dzięki wykorzystaniu parametru secret hasło w konfiguracji przełącznika nie jest zapisane czystym tekstem. Do zaszyfrowania hasła został użyty algorytm MD5. Niestety sposobu tego nie można wykorzystać do ukrycia hasła definiowanego w linii poleceń, użycie algorytmu MD5 jest niemożliwe. pl/images/stories/siec/switch_1/image35. png" alt="image35"/>
Aby ukryć hasła należy w trybie konfiguracji globalne użyć polecenia: service password-encryption
Po wydaniu komendy wszystkie hasła zapisane tekstem jawnym zostaną zastąpione ciągiem znaków, których zasada generowania opiera się na użyciu algorytmu opartego o metodę Vigenere (oznaczenie siódemka – 7 za słowem password). Algorytm ten jest bardzo prosty do złamania w przypadku przechwycenia konfiguracji urządzenia ale przynajmniej chroni nas przed odczytaniem hasła przez osobę postronną, stojącą za naszymi plecami (zawsze to coś). pl/images/stories/siec/switch_1/image37. png" alt="image37"/>
Aby móc z przełącznikiem połączyć się zdalnie z wykorzystaniem protokołu Telnet (co z punktu widzenia security nie jest rozwiązaniem zalecanym) bądź SSH musimy w pierwszej kolejności ustawić dla przełącznika adres IP pod którym switch będzie dostępny w naszej sieci.
Aby zdefiniować adres IP w trybie konfiguracji globalnej wydajemy polecenie: interface vlan 1 Czemu takie polecenie? Wybacz czytelniku ale nie będą w tej chwili rozwijał tematu, gdyż VLAN-y to odręby wątek na następny wpis. Zdradzę tylko tyle, że domyślnie każdy interfejs przełącznika jest przypisany do VLAN-u pierwszego stąd komunikacja może być prowadzona pomiędzy wszystkimi urządzeniami, które do przełącznika podepniemy, lecz wcale tak być nie musi ponieważ poszczególne porty możemy pogrupować w odzielne domeny pomiędzy, którymi komunikacja nie będzie możliwa. Temat ten omówię w kolejnym wpisie dotyczącym przełączników. Tak więc po przejściu do trybu konfiguracji interfejsu, interfejsowi przypisujemy adres IP. Adres IP ustalamy za pomocą polecenia: ip address <adres_IP> <maska_sieci>. Po ustaleniu adresu interfejs należy włączyć – polecenie: no shutdown
Poprawność konfiguracji możemy sprawdzić wydając polecenie: show ip interface brief
Aby połączenie mogło być nawiązane dodatkowo do linii wirtualnych odpowiedzialnych za m. in. komunikację Telnet musimy ustalić hasło. Jak widać poniżej do wszystkich linii VTY zostało ustalone hasło: cisco Hasło ustalamy po zdefiniowaniu za pomocą polecenia: line vty <linia_pierwsza> <linia_ostatnia> interfejsy co do których hasło ma być stosowane a następnie za pomocą komendy: password <hasło> ustalamy hasło. Nie zapominamy dodać polecenia: login, które informuje przełącznik, że hasło ma być sprawdzane podczas logowania. pl/images/stories/siec/switch_1/image40. png" alt="image40"/>
Po wykonaniu tych wszystkich poleceń komunikacja z przełącznikiem za pomocą protokołu Telnet będzie możliwa. Poniżej sesja zestawiona z wykorzystaniem komputera HostA. pl/images/stories/siec/switch_1/image41. png" alt="image41"/>
Udało nawiązać się połączenie zdalne z przełącznikiem sprawdźmy zatem czy tą samą czynność uda nam się powtórzyć z innego hosta. Próba następuje z komputera HostB
Jak widać próba ta kończy się niepowodzeniem. Problemem jest fakt, że łączący się host pochodzi z innej sieci niż ta w której znajduje się przełącznik. Aby przełącznik mógł komunikować się z hostami znajdującymi się w innych sieciach, tak samo jak na zwykłym komputerze do jego konfiguracji sieciowej należy dodać adres bramy domyślnej. Po dodaniu adresu bramy przełącznik będzie mógł prowadzić komunikację z hostami znajdującymi się poza jego własną siecią. Aby do konfiguracji przełącznika dodać informację o bramie wykorzystaj polecenie: ip default-gateway <adres_bramy>
Po skonfigurowaniu adresu bramy domyślnej nawiązanie połączenia z switchem powinno się zakończyć sukcesem. pl/images/stories/siec/switch_1/image44. png" alt="image44" width="700" height="477"/>
Jak widać powyżej tak też jest. Ponowna próba połączenia się z komputera HostB kończy się sukcesem.
Zamiast korzystać z już przestarzałego protokołu Telnet (choć prawdę mówiąc wygodnego i nadal będącego w użyciu) do zestawienia połączenia zdalnego z przełącznikiem możemy wykorzystać połączenie zestawione za pomocą bezpiecznego protokołu SSH. Konfigurację połączenia z wykorzystaniem protokołu SSH zaczynamy od ustalenia nazwy przełącznika - polecenie: hostname <nazwa> oraz od konfiguracji nazwy domeny - polecenie: ip domain-name <nazwa_domeny>
Kolejnym krokiem jest włączenie serwera SSH oraz wygenerowanie kluczy RSA, które będą potrzebne do zabezpieczenia zestawianego połączenia. Klucze generujemy za pomocą komendy: crypto key generate rsa Po wydaniu polecenia zostaniemy poproszeni o określenie rozmiarów generowanych kluczy. Wartość ta jest definiowana z przedziału od 360 do 2048 bitów. Im wyższa wartość klucza tym ten klucz jest bezpieczniejszy. Zaleca się aby minimalna wartość klucza wynosiła 1024 bitów. pl/images/stories/siec/switch_1/image46. png" alt="image46"/>
Po procesie wygenerowania kluczy za pomocą poleceń: show ip ssh oraz show ssh możemy skontrolować stan serwera. Pierwsze polecenie pozwala nam na sprawdzenie ustawień serwera, drugie zaś jest wykorzystywane do sprawdzenia aktualnych połączeń w których jest wykorzystywany protokół SSH. pl/images/stories/siec/switch_1/image47. png" alt="image47"/>
Dodatkowo za pomocą polecenia: ip ssh verion <numer_wersji> możemy zdecydować się na wersję protokołu SSH jaką będziemy używać. Zdefiniowanie wartości 1 spowoduje wybranie protokołu SSHv1 natomiast wybranie 2 protokołu SSHv2. pl/images/stories/siec/switch_1/image48. png" alt="image48"/>
Polecenie: ip ssh time-out <wartość> pozwala nam na zdefiniowanie czasu potrzebnego na ustanowienie połączenia. Wartość ta może być wybrana z przedziału od 0 do 120 sekund, domyślna wartość to 120 sekund. Natomiast komenda: ip ssh authentication-retries pozwala nam na określenie liczby ponownych wydłużeń sesji ponad domyślne ustawione 10 minut. Przedział dozwolonych wartości jest określony od 0 do 5. Domyślna wartość to 3. pl/images/stories/siec/switch_1/image49. png" alt="image49"/>
Wprowadzone opcje konfiguracyjne możemy zweryfikować za pomocą znanego już nam polecenia: show ip ssh
Konfiguracja serwera SSH dobiegła końca lecz niestety jeśli na tym etapie chcielibyśmy zestawić połączenie z przełącznikiem to operacja ta się nie powiedzie. Problem jest w typie wykorzystywanych zabezpieczeń. Aby połączenie mogło dojść do skutku musimy utworzyć w lokalnej bazie przełącznika konto za pomocą, którego będziemy się logowali bądź możemy skorzystać z modelu AAA. Poniżej przykład skorzystania z lokalnej bazy kont zapisanej w pamięci przełącznika jeżeli będziesz chciał Czytelniku skorzystać z funkcji modelu AAA odsyłam do artykułu: http://www. pl/sieci-komputerowe/item/36-dostep-zdalny-oraz-prawa-uzytkownika-w-urzadzeniach-cisco gdyż w tym wpisie zawarłem informacje opisujące użycie tej metody. Wpis ten odnosi się do routerów ale z powodzeniem możesz go zastosować również do konfiguracji przełącznika.
Tak więc za pomocą polecenia: username <nazwa_konta> password <hasło> definiujemy konto. By logowanie było możliwe dodatkowo w konfiguracji interfejsów wirtualnych linii musimy wydać polecenie: login local które poinformuje switch by celem weryfikacji użytkownika skorzystał z bazy użytkowników skonfigurowanych lokalnie. Zostało utworzone konto: jankow z hasłem: cisco
Po wydaniu wszystkich przedstawionych poleceń możemy przejść na hosta celem sprawdzenia czy skonfigurowane połączenie działa. Po uruchomieniu programu PuTTY i podaniu niezbędnych informacji możemy cieszyć się zabezpieczonym połączeniem z naszym przełącznikiem. Po pierwszym zestawieniu połączenie będziemy musieli potwierdzić ustawienia wcześniej wygenerowanego klucza. pl/images/stories/siec/switch_1/image52. png" alt="image52" width="700" height="525"/>
Po potwierdzeniu, połączenie powinno być zestawione. Możemy nasz przełącznik konfigurować zdalnie na zabezpieczonej linii za pomocą protokołu SSH. pl/images/stories/siec/switch_1/image53. png" alt="image53"/>
Na przełączniku po wydaniu polecenia: show ssh możemy potwierdzić fakt zdalnego połączenia SSH. pl/images/stories/siec/switch_1/image54. png" alt="image54"/>
Aby na przełączniku wymusić realizację tylko połączeń z wykorzystaniem protokołu SSH w trybie konfiguracji linii vty wydaj polecenie: transport input ssh
Po wydaniu polecenia wszystkie połącznie zdalne korzystające z innych protokołów niż SSH zostaną zabronione. Poniżej przykład wykonania połączenia Telnet jak widać próba zestawienia połączenia kończy się niepowodzeniem. pl/images/stories/siec/switch_1/image56. png" alt="image56"/>
Dostęp do switch możemy realizować również poprzez interfejs WWW, konfigurując go z poziomu przeglądarki internetowej. Aby umożliwić taką konfigurację przełącznika w trybie konfiguracji globalnej musimy wydać następujące polecenia: ip http authentication enable oraz ip http server
Po wydaniu poleceń i przejściu na hosta możliwa jest komunikacja z przełącznikiem z wykorzystaniem protokołu HTTP. Do uwierzytelnienia zostało wykorzystane konto założone przy okazji konfiguracji połączenia SSH. pl/images/stories/siec/switch_1/image58. png" alt="image58" width="700" height="525"/>
Przełączniki aby sprawnie prowadzić proces przekazywania ramek pomiędzy swoimi portami zostały wyposażone w tablicę adresów MAC (w literaturze można również znaleźć określenie: tablica CAM) w której to jest przechowywana informacja o powiązaniu adresu MAC z danym portem przełącznika oraz siecią VLAN. Proces uczenia się adresów MAC, które są dostępne pod wskazanym portem następuje podczas procesu przekazywanego ruchu sieciowego a mówiąc bardziej dokładnie w procesie analizy źródłowych adresów MAC. W przypadku w którym przełącznik otrzymuje ramkę z nieznanym docelowym adresem MAC wysyła rozgłoszenie na wszystkich swoich portach prócz portu z którego przyszła ramka celem odnalezienia docelowego adresu. Po odszukaniu adresu MAC jest on dołączany do tablicy adresów.
Aby przejrzeć tablicę zarejestrowanych adresów MAC należy posłużyć się poleceniem: show mac address-table
Adresy znajdujące się w tablicy MAC nie muszą być pozyskiwane tylko w sposób dynamiczny można dany wpis również dokonać statycznie. Aby dodać wpis statyczny do tablicy adresów MAC należy posłużyć się poleceniem: mac-address-table static <adres_MAC> vlan <identyfikator_sieci_VLAN> interface <port_przełącznika> Adres urządzenia, którego adres MAC ma być umieszczony w tablicy podajemy w potrójnej notacji heksadecymalnej z kropkami. pl/images/stories/siec/switch_1/image60. png" alt="image60"/>
Po ponownym wyświetleniu zawartości tablicy MAC, dokonany wpis powinien być odnotowany (w polu Type powinna znaleźć się informacja STATIC). pl/images/stories/siec/switch_1/image61. png" alt="image61"/>
Polecenie: show mac address-table posiada kilka przełączników za pomocą, których możemy zdefiniować dodatkowe parametry tak by przefiltrować tablice pod kątem interesujących nas informacji. Użycie przełączników zawęża nam otrzymane wyniki co jest szczególne istotne gdyż tablica adresów MAC może posiadać kilkaset wpisów tworzących dane odwzorowywania.
Aby wyświetlić wpisy statyczne użyj polecenia: show mac address-table static natomiast jeśli interesują cię tylko wpisy dokonane dynamicznie: show mac address-table dynamic
Aby poznać adresy MAC skojarzone z danym interfejsem posłuż się komendą: show mac address-table interface <port_przełącznika>
Aby zaś poznać adresy MAC powiązane z danym VLAN-em wydaj polecenie: show mac address-table vlan <identyfikator_sieci_VLAN>
Można również odszukać (jeśli znamy) konkretny adres MAC: show mac address-table address <adres_MAC>
Natomiast by zobaczyć całkowity rozmiar tablicy MAC (wraz z ilością wolnego miejsca) posłuż się poleceniem: show mac address-table count
Aby w tablicy adresów MAC panował porządek, nieaktywne adresy MAC urządzeń zostają z niej automatycznie usuwane. Domyślnie czas przez, który nieaktywne urządzenia zostają z niej usunięte wynosi 300 sekund. Ustawienie to można zmienić za pomocą polecenia: mac address-table aging-time <czas_sekundy>
Czas usunięcia nieaktywnych rekordów tablicy MAC można sprawdzić za pomocą komendy: show mac address-table aging
Gdy zaistnieje taka potrzeba tablicę adresów MAC możemy wyczyścić ręcznie za pomocą polecenia: clear mac address-table dynamic
Jeśli chcesz usunąć wpisy dotyczące konkretnego adresu MAC użyj przełącznika: address <adres_MAC>, konkretnego interfejsu: interface <port_przełącznika> zaś z określonego VLAN-u: vlan <identyfikator_sieci_VLAN>
Jednym z parametrów pracy przełącznika a raczej jego interfejsów na, który również mamy wpływ jest określenie szybkości działania danego portu przełącznika. Porty FastEthernet mogą być ustawione z szybkością 10, 100 Mb/s. Dodatkowo jest dostępna jeszcze jedna opcja: auto, która jest zarezerwowana dla trybu auto negocjacji. Opcja auto jest ustawieniem domyślnym. Natomiast porty GigabitEthernet mają możliwość ustawienia szybkości portu na 10, 100, 1000 Mb/s Oczywiście opcja auto jest również dostępna.
Poniżej przykład ustawienia interfejsu f0/1 switcha S1 na prędkość 10 Mb/s Zmianę szybkość łącza realizujemy za pomocą polecenia: speed <prędkość> Polecenie oczywiście wydajemy w trybie konfiguracji interfejsu. pl/images/stories/siec/switch_1/image69. png" alt="image69"/>
Ustawienie portu możemy sprawdzić poprzez wydanie komendy: show interfaces f0/1
Opcją, która również pośrednio wpływa na szybkość ustanowionego połączenia pomiędzy przełącznikiem a np. hostem jest opcja trybu łącza. Oznacza to, że port może pracować w trybie pełnego dupleksu bądź pół-dupleksu. Dupleks oznacza, że port może jednocześnie dane odbierać i wysyłać natomiast pół-dupleks ogranicza interfejs do jednej z tych operacji. Oznacza to, że interfejs pracujący w trybie pół-dupleksu albo dane wysyła albo dane odbiera. Tryb ten można porównać do pracy CB-Radia w którym to jednoczesne mówienie i słuchanie jest niemożliwe.
Na zrzucie poniżej przedstawiłem zmianę pracy interfejsu f0/1 przełącznika S1 do trybu pół-dupleksu. Zmianę trybu realizujemy za pomocą poleceń: duplex half (tryb pół-dupleksu) bądź dublex full (tryb pełny dupleks). Polecenie to, również jest wydawane w trybie konfiguracji interfejsu. pl/images/stories/siec/switch_1/image71. png" alt="image71"/>
I tak jak poprzednio efekt wydanego polecenia możemy sprawdzić po wywołaniu ustawień danego interfejsu. pl/images/stories/siec/switch_1/image72. png" alt="image72"/>
Przy konfiguracji trybu interfejsu jest również dostępna opcja: auto która pozwala nam na wybranie trybu automatycznego. Tryb ten jest dostępny jedynie na portach typu FastEthernet bądź GigabitEthernet. Negocjacja rozpoczyna się od próby ustanowienia trybu pełnego dupleksu w przypadku niepowodzenia port jest ustawiany na tryb pół-dupleksu.
Przełączniki CISCO domyślnie są wyposażone w mechanizmy monitorujące stan interfejsu w przypadku wystąpienia błędu, port przechodzi w stan tzw. errdisable i jest blokowany. Jako administratorzy mamy wpływ na określenie sytuacji w których porty powinny być blokowane. Aby wyświetlić wszystkie możliwe powody blokady portu wykorzystaj polecenie: errdisable detect cause?
Możliwych błędów po których port zostanie przełączony w stan errdisable może być wiele, poniżej lista (choć niekompletna, bo wszystko zależy od modelu przełącznika jakim dysponujemy oraz wersji IOS) niektórych z nich:
all - każdy rodzaj błędu,
arp-inspection - dynamiczne sprawdzanie ARP,
bpduguard - pojawienie się BPDU na porcie skonfigurowanym jako PortFast,
dhcp-rate-limit - DHCP snooping,
dtp-flap - zmiana typu trunkingu,
gbic-invalid - problem z modułem GBIC bądź SFP,
inline-power - problemy natury elektrycznej najczęściej związane PoE,
l2ptguard - tunelowanie z wykorzystaniem L2 protocol tunneling
link-flap - „migotanie łącza” interfejs raz jest w stanie up by po chwili przejść do stanu down,
loopback - pętla zwrotna,
pagp-flap - kłopoty z EtherChannel,
security-violation - bezpieczeństwo portu,
small-frame - pojawienie się pakietów VLAN-tagged o nieprawidłowej wielkości (67 bajtów bądź mniej).
Aby zablokować wystąpienie błędu należy użyć polecenia: errdisable detect cause <powód_błędu> z przedrostkiem no. pl/images/stories/siec/switch_1/image74. png" alt="image74"/>
Domyślne ustawienia przełącznika powodują, że aby port powrócił do normalnego stanu działania trzeba w trybie konfiguracji danego interfejsu wydać komendę wyłączającą dany port – shutdown a następnie komendę włączającą interfejs – no shutdown.
Aby zmusić przełącznik do automatycznego reaktywowania portu możemy skorzystać z polecenia: errdisable recovery cause <powód_błędu>
Domyślnie powrót portu do normalnego działania został ustawiony na 300 sekund. Aby zmienić czas automatycznej reaktywacji interfejsu użyj komendy: errdisable recovery interval <czas_sekundy> Czas powrotu mieści się w przedziale od 30 do 86400 sekund.
Aby zmusić przełącznik do powrotu wszystkich swoich portów do stanu normalnego działania po czasie 30 minut od wykrycia obojętnie jakiego błędu użyj następujących poleceń:
Powrót do stanu normalnej pracy interfejsu przełącznika konfigurujemy w trybie konfiguracji globalnej oznacza to, że wprowadzone ustawienia dotyczą wszystkich portów switcha a nie tych wybranych.
Aby móc szybko wykryć stan w jakim znajduje się dany port przełącznika użyj polecenia: show interface status
Aby znaleźć tylko te porty których stan został ustawiony na errdisable wpisz: show interface status err-disable
Przełączniki firmy CISCO zostały wyposażone w mechanizm, który pozwala nam na zabezpieczenie portów przełącznika przed nie autoryzowanym ruchem sieciowym. W skrócie chodzi o to, że możemy zdefiniować, które urządzenia mogą prowadzić komunikację z przełącznikiem. Mechanizm tego zabezpieczenia opiera się na adresach MAC. Możliwa jest definicja adresów MAC hostów mających prawo komunikacji z przełącznikiem wszystkie inne niezdefiniowane hosty których adresy MAC nie zostały określone takiego prawa nie będą miały. Mechanizm ten w 100% nie zabezpiecza naszej sieci przeciw intruzom ale na pewno podnosi poprzeczkę wyżej w kwestiach związanych z bezpieczeństwem. Zabezpieczenie to nosi nazwę Port Security.
Aby sprawdzić czy Port Security został włączony i czy jakieś interfejsy przełącznika za pomocą tego mechanizmu są chronione wydaj polecenie: show port-security. Jak widać poniżej, żaden interfejs przełącznika nie jest chroniony. pl/images/stories/siec/switch_1/image78. png" alt="image78"/>
Tak więc spróbujmy zmienić ten stan i zabezpieczyć port interfejsu podłączony do hosta HostA. Funkcję ochrony portu włączamy w konfiguracji konkretnego interfejsu. HostA jest podłączony do interfejsu f0/6 tak więc konfigurację będziemy przeprowadzać odnośnie tego portu. Aby włączyć zabezpieczenie należy wydać polecenie: switchport port-security Po wydaniu polecenia jak można zauważyć na poniższym listingu wydanie komendy kończy się niepowodzeniem: Command rejected: FastEthernet0/6 is a dynamic port.
Włączenie funkcji Port Security jest niemożliwe ponieważ interfejs przełącznika jest skonfigurowany do automatycznej konfiguracji interfejsu. Stan tego ustawienia możemy określić po wydaniu polecenia: show interfaces <nazwa_interfejsu> switchport W sekcji Administrative Mode widnieje opis: dynamic auto oznaczający automatyczną konfigurację interfejsu przy użyciu protokołu DTP (ang. Discovery Trunk Protocol). Zadaniem protokołu jest wykrycie jakie urządzenie jest podłączone do portu i na podstawie tych informacji ustawiany jest odpowiedni typ pracy portu. W przypadku podłączenia komputera łącze zostanie ustawione jako access natomiast jeśli zostanie podłączony przełącznik z zestawionym łączem trunk przełącznik zestawi połączenie typu trunk. Łącze trunk jest typem połączenia pomiędzy przełącznikami za pomocą, którego jest przesyłany ruch sieciowy należący do różnych VLAN-ów. I na razie tylko tyle zdradzę gdyż jak już wcześniej wspomniałem do tematu powrócę przy okazji omawiania konfiguracji sieci VLAN. W naszym przykładzie interfejs pracuje w trybie access (sekcja: Operational Mode)
Wracając do Port Security, aby więc móc włączyć ten mechanizm musimy interfejs w sposób ręczny przestawić do odpowiedniego typu pracy. Do interfejsu f0/6 przełącznika jest podłączony host tak więc typ pracy interfejsu powinien być ustawiony na tryb access. Aby przełączyć port do tego trybu pracy w linii konfiguracji interfejsu wydaj polecenie: switchport mode access (pkt. 1) po wykonaniu tej komendy możemy w końcu włączyć ochronę portu. Jak widać poniżej po wydaniu komendy: switchport port-security zostaje ona zaakceptowana. pl/images/stories/siec/switch_1/image81. png" alt="image81"/>
Ustawiony tryb pracy sprawdźmy za pomocą już znanego nam polecenia: show interfaces f0/6 switchport Jak widzimy typ pracy portu zostaje tym razem ustawiony na: static access
Po skonfigurowaniu pierwszego interfejsu możemy sprawdzić stan mechanizmu Port Security. Po wydaniu polecenia: show port-security widzimy stan skonfigurowanych portów. Jak widać na liście pojawił się interfejs f0/6
Informacje podawane przez polecenie są zgrupowane w tabeli:
MaxSecureAddr - maksymalna liczba adresów, które mogą połączyć się z portem przełącznika (domyślnie po włączeniu 1),
CurrentAddr - liczba hostów prowadzących komunikację,
SecurityViolation - liczba zdarzeń powodujących naruszenie bezpieczeństwa,
Security Action - sposób zareagowania przełącznika w przypadku wykrycia naruszenia zasad bezpieczeństwa (domyślnie skonfigurowane wyłączenie portu - Shutdown).
Po analizie powyższego listingu uważny obserwator dostrzeże, że już na wstępie po włączeniu funkcji Port Security wystąpił problem z naruszeniem zasad bezpieczeństwa (kolumna SecurityViolation) Sprawdźmy zatem stan portów - polecenie: show interfaces status Po wydaniu polecenia jak możemy zauważyć, przy statusie portu f0/6 pojawił się opis err-disabled informujący nas o wystąpieniu błędu. pl/images/stories/siec/switch_1/image84. png" alt="image84"/>
Wydanie dodatkowego polecenia: show interfaces status err-disabled poinformuje nas o typie błędu. Jak widzimy problem błędu dotyczy naruszenia zasad bezpieczeństwa. pl/images/stories/siec/switch_1/image85. png" alt="image85"/>
Wyświetlenie stanu interfejsów za pomocą komendy: show ip interfaces brief informuje nas o wyłączeniu interfejsu f0/6. pl/images/stories/siec/switch_1/image86. png" alt="image86"/>
Dodatkowo stan ten możemy potwierdzić wydając polecenie: show interfaces f0/6
Wyłączenie interfejsu skutkuje brakiem komunikacji pomiędzy komputerem HostaA a przełącznikiem. Poniżej próba sprawdzenia adresu bramy jak widzimy próba ta kończy się niepowodzeniem. pl/images/stories/siec/switch_1/image88. png" alt="image88" width="700" height="452"/>
Tak więc jak widać samo włączenie funkcji Port Security nie wystarczy by dokonać zabezpieczenia portów przełącznika. W naszej przeprowadzonej konfiguracji (jak część z was się pewnie domyśla) zabrakło określenia informacji o adresie MAC hosta, który do portu f0/6 jest podłączony i ma prawo wykonać połączenie. Włączenie funkcji spowodowało automatyczne zadziałanie domyślnych ustawień powodujących wyłączenie portu.
Spróbujmy więc naprawić ten stan rzeczy. By nie następowało naruszenie zasad w trybie konfiguracji portu musimy określić adres MAC komputera podłączonego do interfejsu f0/6 przełącznika. Adres ten definiujemy za pomocą polecenia: switchport port-security mac-address <adres_MAC> Aby wyzerować liczniki mechanizmu Port Security interfejs dodatkowo musimy wyłączyć i włączyć. pl/images/stories/siec/switch_1/image89. png" alt="image89" width="700" height="235"/>
Jak widać poniżej po zdefiniowaniu adresu MAC hosta HostA komunikacja z przełącznikiem została przywrócona. Polecenie ping w połączeniu z adresem bramy zakończyło się powodzeniem. pl/images/stories/siec/switch_1/image90. png" alt="image90" width="700" height="433"/>
Po wyświetleniu stanu funkcji Port Security nie widzimy już naruszeń zasad bezpieczeństwa a komunikacja odbywa się poprawnie. pl/images/stories/siec/switch_1/image91. png" alt="image91"/>
Sposób ręcznego przypisywania adresów MAC, które mogą uzyskać połączenie z przełącznikiem jest procesem dość kłopotliwym i łatwo podczas tej operacji o błąd. Dlatego mechanizm Port Security wyposażono w funkcję automatycznego uczenia się adresów MAC hostów, które do przełącznika są podłączane (tzw. „lepkie” adresy MAC). Spróbujmy więc przetestować jej działanie w praktyce.
Aby adres MAC automatycznie dopisać do polecenia konfigurującego mechanizm zabezpieczeń portów przełącznika należy w poleceniu dodać parametr: sticky. Zastosowanie tego parametru spowoduje, że pierwszy wykryty adres MAC, który będzie chciał skorzystać z interfejsu przełącznika na którym komenda sticky została wydana, zostanie dopisany do polecenia.
Poniżej przykład wykorzystania tej funkcji na przykładzie interfejsu f0/6
Po włączeniu mechanizmu Port Security (jak na rysunku poniżej) jeszcze nic się nie wydarzyło ponieważ jeszcze żaden host do portu f0/6 nie został podłączony. pl/images/stories/siec/switch_1/image93. png" alt="image93"/>
Dodatkowo stan zabezpieczeń portu w kontekście funkcji Port Security możemy sprawdzić za pomocą polecenia: show port-security interface <nazwa_interfejsu>
Polecenie te poinformuje nas o:
1 - stan mechanizmu Port Security,
2 - status portu Secure-down oznacza brak połączenia z interfejsem (brak ruchu sieciowego na interfejsie). Przy wykonaniu pierwszego podłączenia status powinien zmienić się na Seciure-up.
3 - co stanie się po naruszeniu zasad bezpieczeństwa - w przykładzie Shutdown czyli wyłączenie interfejsu,
4 - maksymalna liczba adresów MAC mogących korzystać z interfejsu,
5 - łączna liczba adresów MAC korzystająca z interfejsu,
6 - liczba skonfigurowanych statycznych adresów MAC,
7 - liczba adresów MAC skonfigurowanych przy użyciu parametru sticky,
8 - adres MAC interfejsu, który przesłał pakiet jako ostatni,
9 - liczba naruszeń zasad.
Mechanizm Port Security został skonfigurowany sprawdźmy co stanie się w momencie podłączenia hosta.
Sprawdzenie stanu Port Security za pomocą polecenia: show port-security informuje nas, że wszystko jest w porządku. Jak widać poniżej naruszenie zasad bezpieczeństwa nie nastąpiło. pl/images/stories/siec/switch_1/image95. png" alt="image95"/>
Upewnijmy się i sprawdźmy jeszcze jak to wygląda w kontekście interfejsu. Jak można przekonać się po zrzucie poniżej Port Security działa a interfejs ma status Secure-up. pl/images/stories/siec/switch_1/image96. png" alt="image96"/>
By się całkowicie upewnić sprawdźmy połączenie z komputerem HostB. Wszystko działa. pl/images/stories/siec/switch_1/image97. png" alt="image97"/>
Mechanizm Port Security posiada dodatkowe parametry, które możemy konfigurować. Jednym z nich jest ustalenie liczby maksymalnych adresów MAC mogących korzystać z portu przełącznika. Liczbę tych adresów ustalamy za pomocą polecenia: switchport port-security maximum <maksymalna_liczba_hostów> Zmieńmy domyślną liczbę hostów z wartości 1 na 2 i sprawdźmy co stanie się jak podłączymy kolejnego hosta. pl/images/stories/siec/switch_1/image98. png" alt="image98"/>
Sprawdzenie stanu zabezpieczeń portu przekonuje nas, że do interfejsu f0/6 maksymalnie można podłączyć dwa hosty natomiast aktualnie jest podłączony jeden. pl/images/stories/siec/switch_1/image99. png" alt="image99"/>
HostC został podłączony. pl/images/stories/siec/switch_1/image100. png" alt="image100"/>
Podłączenie hosta możemy zaobserwować po zmianie parametrów mechanizmu Port Security. Jak widzimy powyżej liczba aktywnych interfejsów wynosi dwa. Zasady bezpieczeństwa nie zostały naruszone (port nie został zamknięty) gdyż maksymalna ilość hostów jakie mogą wykorzystywać ten interfejs to dwa.
Co nie zostało jeszcze powiedziane to to, że adresy poznane dzięki zastosowaniu parametru: sticky zostają automatycznie dopisane do konfiguracji bieżącej przełącznika. Poniżej zrzut konfiguracji przełącznika (fragment). pl/images/stories/siec/switch_1/image101. png" alt="image101"/>
Opcję na jaką jeszcze mamy wpływ podczas konfiguracji mechanizmu Port Security to tryb w jaki ma przejść interfejs gdy zostanie naruszone bezpieczeństwo interfejsu. Oprócz domyślnej opcji zamknięcia portu do dyspozycji mamy jeszcze dwa rozwiązania:
protect - ustawienie tej opcji w przypadku naruszenia bezpieczeństwa spowoduje odrzucenie pakietów od hostów z nieskonfigurowanymi adresami MAC o fakcie tym nie jesteśmy informowani,
restrict - tak jak powyżej tylko gdy nastąpi zdarzenie informacja o nim zostanie nam przekazana.
Aby skonfigurować stan jaki ma nastąpić po naruszeniu zasad bezpieczeństwa należy skorzystać z polecenia: switchport port-security violation <stan>
Spróbujmy zmienić domyślną opcję shutdown na restrict. Następnie podłączmy kolejnego hosta i sprawdźmy co osiągniemy. Domyślny stan zamknięcia portu został zmieniony na tryb restrict
Zmianę konfiguracji możemy zaobserwować po skorzystaniu z poleceń show. pl/images/stories/siec/switch_1/image104. png" alt="image104"/>
Podłączmy trzeciego hosta. Jak widać poniżej sprawdzenie stanu funkcji Port Security w kontekście interfejsu f0/6 uwidacznia nam naruszenie zasad bezpieczeństwa. pl/images/stories/siec/switch_1/image105. png" alt="image105"/>
Ruch sieciowy został dla tego hosta zablokowany. Adres MAC trzeciego podłączonego komputera wyczerpuje maksymalną ilość zdefiniowanych adresów mogących korzystać z interfejsu f0/6. pl/images/stories/siec/switch_1/image106. png" alt="image106"/>
Hosty, których adresy MAC zostały poprawnie skonfigurowane nadal mogą prowadzić komunikację. pl/images/stories/siec/switch_1/image107. png" alt="image107"/>
Na wstępie opisu mechanizmu Port Security wspomniałem, że mechanizm ten w 100% nie ochroni naszej sieci. Powróćmy do naszej sytuacji w której to dwa hosty mają prawo połączenia z przełącznikiem natomiast trzeci już nie. Pytanie jest takie - Czy można obejść to zabezpieczenie tak by trzeci host jednak uzyskał dostęp do sieci?
Hosty, które mogą komunikować się z przełącznikiem mają następujące adresy MAC (polecenie: show running-config):
Natomiast zablokowany host:
Jak już wiesz mechanizm Port Security opiera swoją zasadę działania na adresacji fizycznej podłączanych urządzeń. Aby ominąć to zabezpieczenie trzeba więc zmienić adres MAC hosta chcącego uzyskać dostęp. To co również zaznaczyłem niektóre karty sieciowe pozwalają nam na taką zmianę. Zmianę lokalną adresu MAC dokonujemy w ustawieniach karty sieciowej. Spróbujmy więc zablokowany adres MAC 0001. 96D2. C72D zamienić na 000C. 2979. 7004
Aby móc zmienić adres MAC w systemie Windows w oknie Połączenia sieciowe zaznaczamy dane połączenie i po kliknięciu PPM wybieramy Właściwości. W nowo otwartym oknie na karcie Sieć klikamy na Konfiguruj. pl/images/stories/siec/switch_1/image110. png" alt="image110" width="700" height="491"/>
Na karcie Advanced (tak jest w moim przypadku, choć tu należy mieć na uwadze, że w przypadku różnych modeli kart sieciowych ustawienia te mogą być zgrupowane na innych kart i mogą mieć różną nazwę) odszukujemy ustawienie Locally Administered Address i w sekcji Value wpisujemy adres MAC (w naszym przypadku 000C. 7004 gdyż ten adres może komunikować się z przełącznikiem). pl/images/stories/siec/switch_1/image111. png" alt="image111"/>
Po zmianie adresu lokalnego MAC komunikacja jest możliwa - poniżej przykład wykonania testu ping z adresem bramy (interfejsu routera). Pierwszy test przed zmianą adresu MAC i tu próba oczywiście nieudana drugi test już po zmianie adresu MAC i jak widać test kończy się powodzeniem. Udało nam się ominąć zabezpieczenie Port Security. pl/images/stories/siec/switch_1/image112. png" alt="image112" width="700" height="826"/>
W przypadku systemu Linux korzystamy z narzędzia macchanger. Składnia polecenia jest następująca: macchanger –m <nowy_adres_MAC> <interfejs>. Po wydaniu polecenia bieżący adres MAC zostaje zastąpiony „sfałszowanym”.
W przypadku niemożności wydania polecenia, odpowiedni pakiet trzeba doinstalować: sudo apt-get install macchanger
Po instalacji oprogramowania zmianę adresu MAC interfejsu eth0 wykonujemy za pomocą polecenia: macchanger -m 00:0C:29:79:70:04 eth0 Jak widać na rysunku poniżej udało się nam zmienić adres MAC. Po tej zmianie host uzyskuje łączność z przełącznikiem. pl/images/stories/siec/switch_1/image114. png" alt="image114"/>
Innym rozwiązaniem jakim możemy posłużyć się w celu oszukania Port Security jest użycie routera, który ma funkcję klonowania adresu MAC. W ustawieniach routera odszukujemy opcję MAC Address Clone (bądź podobną, bo wszystko zależy od modelu urządzenia) i wpisujemy dozwolony adres MAC (na przykładzie routera Linksys X2000). pl/images/stories/siec/switch_1/image115. png" alt="image115" width="700" height="330"/>
Od tej pory gdy podłączymy do routera dowolny host, powinien on prowadzić swobodną komunikację. Choć przy wyborze tego typu rozwiązania mogą wystąpić problemy z routingiem pakietów ale to już zależne jest od topologii sieci i zastosowanych zabezpieczeń.
I tu wpis ten chciałbym zakończyć. Myślę, że przedstawione przykłady wyczerpują temat podstawowej konfiguracji przełączników CISCO i że art ten stanowi dobry start do dalszych rozważań.
Ostatnio zmieniany piątek, 06 styczeń 2017 09:28