Wyobraź sobie o to taką sytuację. W firmie w której pracujesz wdrożono nowe oprogramowanie bazodanowe, którego zadaniem jest usprawnienie zarządzania produktem. Aby wszyscy użytkownicy mogli korzystać z informacji zapisywanych w bazie zdecydowano się na umieszczenie jej na serwerze, którego zadaniem jest zarządzanie nią oraz zapewnienie poprawnej komunikacji z podłączającymi się klientami. Zasięg działania serwera bazodanowego ma obejmować całą firmę czyli wszyscy pracownicy muszą uzyskać możliwość komunikacji z serwerem. A Tobie jako administratorowi sieci zlecono wdrożenie całego rozwiązania. Po dokonaniu instalacji serwera stajemy przed problem w którym to musimy zapewnić dostępność serwera użytkownikom końcowym. I tu rodzi się pytanie - Jak zapewnić możliwość komunikacji kiedy to komputery użytkowników leżą w odrębnych sieciach VLAN niż ta w której znajduje się serwer? Odpowiedź na tak postawione pytanie po bliższej analizie nasuwa się sama – Musimy zapewnić routing pakietów pomiędzy sieciami VLAN. Sieci VLAN skonfigurowane jako oddzielne segmenty naszej sieci posiadają własną adresację IP, oznacza to, że w danej sieci VLAN obowiązuje jeden schemat adresacji tak więc nic nie stoi na przeszkodzie aby do pracy zaprząc router bądź przełącznik warstwy 3.
Pierwsze rozwiązanie, które chciałbym zaprezentować polega na zestawieniu osobnego fizycznego łącza pomiędzy routerem a switchem dla każdej z sieci VLAN. Schemat rozwiązania przedstawia poniższy rysunek.
Każda z sieci VLAN do komunikacji z routerem używa osobnego łącza. Oznacza to, że Host1 należący do sieci VLAN 10 chcąc się skomunikować z Host2 przynależnym do sieci VLAN 20 swoje pakiety przesyła w kierunku routera. Host1 po analizie otrzymanego żądania wie, że host docelowy nie leży w jego przestrzenni adresowej tak więc pakiety zostają wysłane w kierunku bramy czyli routera R1. Otagowane pakiety z informacją o przynależności do danej sieci VLAN trafiają do switcha SW1 ten przez łącze przynależne sieci VLAN 10 przekazuje je do routera. Router R1 dzięki informacją zawartym w tablicy routingu ustala interfejs przez, który należy je przekazać tak aby mogły trafić do komputera Host2. Pakiety zostają wysłane do switcha SW1 przez łącze zestawione na potrzeby przesyłu ruchu należącego do sieci VLAN 20.
Drugie rozwiązanie bazuje na zestawieniu tylko jednego fizycznego łącza pomiędzy routerem R1 a przełącznikiem SW1 (ang. router on the stick - router na „patyku”). Przez tak zestawione łącze do routera będzie przekazywany ruch należący do różnych sieci VLAN. W tym rozwiązaniu pomiędzy routerem a switchem jest skonfigurowane łącze magistrali (trunk). Koncepcję rozwiązania przedstawia rysunek poniżej.
Ktoś dociekliwy mógłby zapytać – Do jakiej sieci VLAN ma należeć interfejs routera? bądź inaczej - Jaki adres IP ma zostać interfejsowi routera przypisany? Tak naprawdę do interfejsu routera musimy przypisać wszystkie adresy IP, które są przynależne siecią VLAN. Tak więc interfejs routera będzie miał skonfigurowane trzy adresy IP: adres z zakresu 10.0.1.0/24 (sieć VLAN 10), adres z zakresu 10.0.2.0/24 (sieć VLAN 20) oraz adres z zakresu 10.0.3.0/24 (sieć VLAN 30). Przy przydzielaniu adresów korzysta się z podinterfejsów, bądź jak kto woli z subinterfejsów.
Rozpoczniemy od pierwszego rozwiązania czyli dla każdej z sieci VLAN będzie zestawione osobne połączenie router-switch. Topologia naszego przykładu przedstawia się następująco.
Tak naprawdę cała konfiguracja sprowadza się do wykorzystania dobrze znanych poleceń lecz tym razem konfigurację urządzeń przeprowadzamy w kontekście sieci VLAN.
Rozpoczynamy od przełącznika SW1 W pierwszym kroku została utworzona sieć VLAN o identyfikatorze 10 a następnie do sieci tej zostały przypisane porty f0/6 (punkt 2) oraz f0/5 (punkt 3) przełącznika. Porty pracują w trybie dostępu.
Analogiczna konfiguracja została przeprowadzona na drugim z przełączników a mianowicie na SW2. Na switchu tym zostaje utworzona sieć VLAN o identyfikatorze 20 (punkt 1) oraz porty przełącznika f0/11 oraz f0/18 (punkt 2 oraz 3) zostają skojarzone z nowo utworzoną siecią VLAN.
Na tym etapie oczywiście łączność z hostami jest jeszcze niemożliwa (rysunek poniżej) gdyż ostatnim trzecim krokiem jest konfiguracja routera.
Konfiguracja routera sprowadza się do przypisania jego interfejsom odpowiednich adresów IP. Rozpoczynamy od interfejsu f0/1. Interfejs ten leży po stronie sieci VLAN 10 tak więc adres IP musi należeć do tej samej przestrzeni adresowej co adresy IP przynależne sieci VLAN. Adres interfejsu f0/1 routera R1 został ustalony na 10.0.0.1 255.255.255.0 (ponieważ sieć VLAN 10 obejmuje sieć 10.0.0.0/24).
Po przeprowadzonej konfiguracji jej efekt możemy sprawdzić poprzez wysłanie pakietu ICMP (ping) z Host1 na adres interfejsu f0/1 routera R1. Jak można stwierdzić (rysunek poniżej) kończy się on sukcesem.
Drugim krokiem jaki musimy przeprowadzić jest konfiguracja interfejsu f0/0 routera R1. Konfigurację tę przeprowadzamy podobnie z tą różnicą, że adresem IP interfejsu będzie adres 10.0.1.1 255.255.255.0 (ponieważ sieć VLAN 20 obejmuje sieć 10.0.1.0/24)
I podobnie przeprowadzamy test ping (z komputera Host2 na adres interfejsu f0/0 routera R1), który również kończy się sukcesem.
Po tak przeprowadzonej konfiguracji obie zdefiniowane sieci jako przypisane bezpośrednio interfejsom routera powinny zostać odzwierciedlone w tablicy routingu routera R1.
Router od tej pory będzie pośredniczył w wymianie pakietów pomiędzy obiema sieciami VLAN. Host1 uzyskał komunikację z Host2.
Podsumowując metodę opartą na interfejsach fizycznych warto nadmienić, że wybór tego rozwiązania przy dużej ilości sieci VLAN generuje większe koszty gdyż nie uda się nam zapewnić komunikacji z wykorzystaniem tylko jednego router gdyż te posiadają swoje ograniczenia w postaci liczby interfejsów. Rozwiązanie te zapewnia jednak większą wydajność ponieważ ruch danej sieci VLAN może wykorzystać pełną szerokość pasma interfejsu. Brak jest rywalizacji o szerokość pasma.
Przechodzimy do drugiego rozwiązania. Zmianie uległa nasza topologia sieci (rysunek poniżej).
Z routerem R1 zostało zostawione tylko jedno łącze, którego zadaniem będzie przesyłanie ruchu sieciowego należącego do różnych VLAN-ów. Zestawione łącze by spełnić wymagania oczywiście musi być typu trunk. Dodatkowo łącze magistrali musi zostać utworzone pomiędzy switchem SW1 a SW2.
Konfigurację rozpoczynamy podobnie jak w przykładzie poprzednim czyli od utworzenia sieci VLAN i przypisania interfejsów przełączników do sieci VLAN.
Rozpoczynamy od przełącznika SW1.
Po zdefiniowaniu ustawień SW1 przeprowadzamy konfigurację switcha SW2.
W następnym kroku zestawiamy łącze trunk pomiędzy switchem SW1 a SW2. Konfigurację przeprowadzamy z wykorzystaniem interfejsów f0/1.
W pierwszej kolejności łącze magistrali zostaje skonfigurowane na przełączniku SW1. Ze względu na domyślnie ustawioną opcję enkapsulacja łącza trunk na Auto, łącze trunk po wydaniu polecenia: switchport mode trunk nie zostaje ustawione. Aby łącze magistrali mogło zostać utworzone w pierwszej kolejności należy wybrać sposób „opakowania” ramek w tym celu zostało wydane polecenie: switchport trunk encapsulation dot1q (standard IEEE 8021Q) Po wydaniu polecenia ponowne wydanie komendy nakazującej utworzenie łącza trunk kończy się sukcesem.
Aby łącze trunk działało należy je również skonfigurować od strony przełącznika SW2. Konfiguracja przełącznika SW2 w trybie konfiguracji interfejsu f0/1 sprowadza się do wydania polecenia: : switchport mode trunk
Konfiguracja obu przełączników dobiegła końca. Kontrolę ustawień możemy przeprowadzić za pomocą znanego nam polecenia: show vlan brief
Ustawienia przełącznika SW1.
oraz ustawienia przełącznika SW2.
Po wprowadzeniu ustawień przechodzimy do konfiguracji routera R1. Aby mógł nastąpić routing pomiędzy dwoma VLAN-ami należy skonfigurować dwa podinterfejsy i powiązać je z sieciami VLAN. Subinterfejs jest przypisany interfejsowi fizycznemu (w naszym przypadku jest to interfejs f0/1). Aby skonfigurować podinterfejs należy po definicji interfejsu umieścić kropkę i numer tworzonego podinterfejsu. Numer ten może być dowolny ale dobrą zasadą jest przyjęcie numeru zgodnego z kojarzoną siecią. Tak więc aby utworzyć podinterfejs wydajemy polecenie: interface f0/1.10 (interfejs fizyczny f0/1, natomiast numer podinterfejsu 10 ponieważ łącze te będzie powiązane z siecią VLAN 10). Po utworzeniu subinterfejsu łączymy go z siecią VLAN 10. Aby interfejs f0/1.10 mógł przesyłać ruch sieciowy należący do sieci VLAN 10 należy wydać polecenie: encapsulation dot1q <id_VLAN> W naszym wypadku polecenie przyjmie postać: encapsulation dot1q 10. Ostatnim krokiem jest przypisanie adresu IP. Adres przypisujemy w tradycyjny sposób z wykorzystaniem polecenia: ip address <adres_IP> <maska> (punkt 1).
Po skonfigurowaniu podinterfejsu obsługującego sieć VLAN 10 w analogiczny sposób przeprowadzamy konfigurację drugiego subinterfejsu odpowiedzialnego za przesył danych należących do sieci VLAN 20 (punkt 2 - pamiętamy aby w poleceniu umieścić prawidłowy identyfikator sieci VLAN oraz adres IP).
Ostatnim krokiem jest włączenie subinterfejsów. Włączenia dokonujemy poprzez włączenie interfejsu fizycznego. Włączenie interfejsu powoduje uruchomienie wszystkich podinterfejsów.
Kontrolę ustawień możemy dokonać po wydaniu polecenia: show ip interface brief
a także po sprawdzeniu tablicy routingu
Po przeprowadzonej konfiguracji routera sprawdzamy możliwość komunikacji Host1 z routerem R1. Z komputera zostaje wykonany test ping na adres IP: 10.0.0.1 (adres bramy). Jak można zaobserwować poniżej test kończy się niepowodzeniem. O czym zapomnieliśmy? (taki test!!! zanim Czytelniku przejdziesz dalej i poznasz odpowiedź spróbuj na tak postawione pytanie odpowiedzieć sam).
Aby ruch należący do różnych sieci VLAN mógł być bez przeszkód przesyłany, łącze od strony routera musi pracować w trybie magistrali. Tak więc na przełączniku SW1 interfejs f0/5 musi pracować w trybie trunk. Jak można przekonać się po zrzucie poniżej na switchu SW1 jest skonfigurowane tylko jedno łącze trunk (interfejs f0/1 - połączenie SW1-SW2).
Tak więc poprawiamy konfiguracje i na przełączniku SW1 interfejs f0/5 ustawiamy w trybie pracy magistrali tak by można było łączem przesłać ruch należący do różnych sieci VLAN.
Po korekcji ustawień sprawdzamy połączenie pomiędzy Host1 a interfejsem routera. Test kończy się powodzeniem.
Aby upewnić się czy na pewno wszystko działa wykonajmy test z Host2 na adres IP interfejsu routera. Jak można przekonać się poniżej test ten kończy się niepowodzeniem. Komunikacja pomiędzy Host2 a router R1 jest niemożliwa.
Powodu braku komunikacji należy doszukiwać się w konfiguracji przełącznika SW1. Błąd komunikacji jest spowodowany blokadą przesyłania ruchu należącego do sieci VLAN 20 przez przełącznik SW1. Ruch sieci VLAN nie jest przesyłany przez łącze trunk przełącznika SW1. Fakt ten można sprawdzić poprzez wydanie polecenia: show interfaces trunk Przełącznik SW1 przesyła ruch należący tylko do sieci VLAN 1 oraz VLAN 10
Aby przełącznik SW1 mógł przesłać poprzez swoje łącza trunk ramki należące do sieci VLAN 20 w pierwszej kolejności na przełączniku tym należy utworzyć sieć VLAN o identyfikatorze 20.
Pomimo utworzenia sieci i sprawdzenia stanu łącza trunk nadal uzyskujemy informację, że jedynym możliwym ruchem są ramki należące do sieci VLAN 1 oraz VLAN 10.
Aby zmienić ten stan rzeczy należy na interfejsach tworzących łącza trunk zezwolić na przesył ramek przynależnych do sieci VLAN 20. Łącza trunk tworzą interfejsy f0/1 oraz f0/5 tak więc by nie konfigurować każdego z interfejsu z osobna za pomocą przełącznika range wprowadzane ustawienia będą konfigurowane jednocześnie. Aby zezwolić na ruch ramek sieci VLAN należy wydać polecenie: switchport trunk allowed vlan add 20 (parametr add ponieważ do bieżącej konfiguracji dodajemy sieć VLAN 20, pominiecie tego parametru spowoduje zastąpienie bieżących sieci VLAN na sieć VLAN 20).
Po dokonaniu wszystkich poprawek wykonajmy ponownie test ping (Host2-R1). Test kończy się sukcesem.
I dla pewności test pomiędzy Host2 a Host1. Test również kończy się sukcesem. Routing pomiędzy sieciami VLAN został skonfigurowany.
Podsumowując metodę router na „patyku” należy pamiętać o konfiguracji połączeń trunk i o zezwoleniu przesyłu przez tak skonfigurowane łącza ramek skonfigurowanych sieci VLAN. Metoda pozwala nam ograniczyć ilość wykorzystywanych interfejsów routera lecz w przypadku dużego ruchu wąskim gardłem może okazać łącze trunk router-przełącznik. Rozwiązaniem problemu (w przypadku posiadania niewykorzystanych interfejsów routera) jest rozdzielenie routingu na kilka interfejsów fizycznych - np. interfejs f0/0 routuje ramki sieci VLAN 10, 20, 30, 40 a interfejs f0/1 odpowiada za przesyłanie ruchu sieciowego do sieci VLAN 50, 60, 70 i 80.
Do dyspozycji mamy jeszcze trzecie rozwiązanie a mianowicie wykorzystanie przełącznika z możliwością przełączania pakietów w warstwie 3. Niestety tej metody nie opiszę gdyż takowego urządzenia nie posiadam co z kolei skutecznie uniemożliwia mi przeprowadzenie konfiguracji testowej.
Tak więc kończymy. Cel osiągnięty.
Komentarze