Konfiguracja polityki trasowania
11 stycznia 2008 13:44
Kamil Folga
Zaletą dynamicznych protokołów trasowania jest możliwość znalezienia najlepszej ścieżki pomiędzy dwiema sieciami. Jeżeli dane łącze przestanie działać, router przebuduje tablicę tras i znajdzie nową ścieżkę - tak wygląda teoria.
Istnieją związane z tym procesem niebezpieczeństwa. Nie można zapomnieć, że router to tylko maszyna. Nie potrafi myśleć i nie wyraża własnych opinii. Oczywiście możemy skonfigurować urządzenie (zależnie od protokołu trasowania) w taki sposób, aby brało pod uwagę przepustowość, prędkość i koszt łącza. Dowolna decyzja bazująca na powyższych parametrach będzie zastosowana do całości ruchu, co czasami nie jest dobrym rozwiązaniem.
Rozważmy transmisję głosu. Transmisja głosu jest zabijana przez opóźnienia, a zwłaszcza ich zmienność (jitter). Jeżeli posiadamy dwa łącza - stabilną, wydajną, dzierżawioną linię oraz łącze satelitarne o niskich parametrach - rozsądne będzie przesyłanie ruchu głosowego linią dzierżawioną, a pozostałego ruch (e-mail, ftp) - dla którego zmienność opóźnień nie jest istotna - łączem satelitarnym.
Dla routera nie jest to jednak rzecz oczywista. Trzeba poinformować go o tym fakcie. W tym momencie do gry wkraczają mechanizmy polityki trasowania. Polityka trasowania pozwala na filtrację ruchu spełniającego określone kryteria, który chcielibyśmy wysyłać inną trasą, niż wybraną przez ruter.
Sprawdzanie ruchu
Sprawdzanie ruchu według zadanego kryterium to jedno z głównych zadań polityki trasowania. Można to zrobić przez porównywanie pakietów do filtrów i list dostępu, zależnie od implementacji stworzonej przez producenta urządzenia. Przykładowo, możemy analizować ruch pochodzący z określonego źródła lub wysyłany do konkretnego miejsca przeznaczenia, specyficznej podsieci lub hosta. Może to być także ruch przychodzący na określony interfejs lub o określonym rozmiarze pakietu. Równie użyteczne jest podejmowanie decyzji na podstawie charakterystyki QoS. Ustawienia QoS mogą zmieniać drogę pakietu przez sieć. Podsumowując - możemy stworzyć zestaw reguł, które będą dynamicznie zmieniały trasę pakietów.
Trasowanie ruchu
Gdy już zakwalifikujemy ruch, należy określić, co zrobimy z nim dalej. Niezależnie od najlepszej trasy do miejsca przeznaczenia, możemy założyć, że dany typ ruchu będzie wysyłany wyłącznie przez specyficzny interfejs lub na określone urządzenie. Dowolny ruch, który nie spełnia danego kryterium będzie kierowany na podstawie podstawowej tablicy trasowania.
Przeważnie będziemy oczekiwali, że większość ruchu nie spełni założeń danego filtra - polityka trasowania jest przeznaczona zawsze dla specjalnych przypadków ruchu. Jeżeli zauważymy, że większość danych spełnia kryteria ustalonych filtrów, prawdopodobnie zajdzie potrzeba sprawdzenia topologii trasowania danej sieci.
Implementacja
Przykład 1.
Zakładamy, że administrujemy dużą siecią korporacyjną. Cześć z łącz sieciowych ma zapewnione bardzo mocne, sprzętowe szyfrowanie danych w celu maksymalizacji bezpieczeństwa. Zbyt drogim rozwiązaniem jest zapewnienie takiej łączności dla wszystkich danych, więc większość ruchu sieciowego nie jest chroniona. Nie chcemy budować odseparowanej sieci, więc konfigurujemy politykę bezpieczeństwa, która pozwoli na klasyfikację wrażliwego ruchu i wysłanie go przez szyfrowane łącza. Pozostałe dane wędrują standardowymi łączami. Jeżeli łączność szyfrowana zawiedzie, lepszym rozwiązaniem będzie wstrzymanie transmisji, niż przesyłanie ruchu niezabezpieczonym łączem. Podobna sytuacja może mieć miejsce w przypadku łącz zapasowych. Czasami chcemy, aby pewien typ ruchu był raczej zablokowany, niż wykorzystywał łącze zapasowe. Takie łącze może nie gwarantować odpowiedniego poziomu usługi.
Przykład 2.
Posiadamy w strukturach oddział, który wykorzystuje własne, dedykowane łącza. W tym przypadku, część połączeń powinna być przesyłana wyłącznie przez te łącza. Kontakt z centralą firmy powinien odbywać się jednak po standardowych łączach. Filtrując ruch po adresach IP, a następnie konfigurując politykę trasującą dany ruch przez specyficzny interfejs, w łatwy sposób osiągamy taką funkcjonalność.
Przykład 3.
Wykorzystujemy aplikacje, których dane z różnych powodów nie mogą podlegać fragmentacji. Jeżeli posiadamy łącza, które nie wspierają dużej wielkości pakietów, możemy odfiltrować ten ruch na podstawie rozmiaru pakietu. Jeżeli pakiet przekracza określone MTU, wysyłamy go innym łączem.
Przykłady konfiguracji polityki trasowania
Na przykładzie konfiguracji routera Cisco, pokażemy politykę trasowania pozwalającą na kierowanie ruchu pochodzącego z konkretnej klasy adresowej na określoną bramę sieciową.
1) Uruchamiamy tryb uprzywilejowany
R1> enable
2) Przechodzimy do trybu konfiguracji
R1# configure terminal
3) Konfigurujemy listę dostępu opisującą dowolny adres IP źródłowy należący do sieci 192.168.0.0 / 24.
R1(config)# access-list 110 permit 192.168.0.0 0.0.0.255
4) Tworzymy politykę trasowania, konfigurujemy mapę trasowania.
R1(config)# route-map siec
5) Ustawiamy listę dostępu sprawdzaną przez politykę trasowania.
R1(config-route-map)# match ip address 110
6) Definiujemy nowe miejsce przeznaczenia dla pakietów pochodzących z sieci opisanej listą dostępu.
R1(config-route-map)# set ip nex-hop 10.0.0.1
7) Opuszczamy tryb konfiguracji.
R1(config-route-map)# exit
Weryfikację przeprowadzonej konfiguracji można sprawdzić poleceniem:
R1# show route-map siec
Polityka trasowania pozwala ruterowi na podjęcie decyzji o przekazywaniu pakietów, niezależnie od najlepszej ścieżki dla danego typu ruchu. W wielu przypadkach, ruter podejmie decyzję szybko i bardzo sensownie. Jeżeli jednak posiadamy dodatkową inteligencję, warto to wykorzystać.
***
Artykuł powstał na podstawie informacji zamieszczonych w TechWorld (UK).
Zobacz w PPS: Routery i przełączniki