MARCIN PÓLKOWSKI DARIUSZ LASKOWSKI E-mail: dlaskowski71@gmail.com Instytut Telekomunikacji, Wydział Elektroniki Wojskowa Akademia Techniczna w Warszawie ul. Gen. S. Kaliskiego 17/407, 00-908 Warszawa SPECYFIKACJA TECHNIKI MPLS VPN W ŚRODOWISKU SPRZĘTOWYM I SYMULACYJNYM Streszczenie: Artykuł obejmuje opis specyfikacji środowiska sprzętowego routerów firmy Cisco oraz symulatora GNS3 w kontekście implementacji usługi MPLS VPN. Opiera się na projekcie sieci, mającej na celu wymodelowanie przykładowej sieci usługodawcy wraz z sieciami klienckimi, na której została zaimplementowana usługa MPLS VPN. W opracowaniu zawarto krótką charakterystykę obu środowisk, ich podobieństwo oraz problemy występujące podczas realizacji projektu. Słowa kluczowe: MPLS, VPN, Cisco, GNS3 1. Wstęp Od początku swojego istnienia usługa sieci prywatnych zyskała ogromną popularność, zwłaszcza wśród przedsiębiorstw. Najpierw miała ona formę linii dzierżawionych od usługodawców, a później przybrała formę wirtualnych sieci prywatnych (Virtual Private Network, VPN). Wirtualna sieć prywatna jest usługą, która wykorzystuje infrastrukturę sieci publicznej do transmisji prywatnych danych, zapewniając prywatność za pomocą protokołów tunelowych oraz algorytmów szyfrujących. VPN są najczęściej wykorzystywane, jako rozwiązanie biznesowe do tworzenia ekstranetów i szeroko obszarowych intranetów.
218 Marcin Pólkowski, Dariusz Laskowski Rys. 1. Schemat działania wirtualnej sieci prywatnej Drugim najważniejszym zastosowaniem wirtualnych sieci prywatnych z punktu widzenia korporacji jest zapewnienie zdalnego dostępu pracownikom do zasobów firmy. Dzięki temu możliwe stało się np. zatrudnienie ograniczonego zespołu administratorów sieci, którzy mogą teraz pracować w domu. Większości społeczeństwa termin VPN kojarzy się tylko z zastosowaniami biznesowymi. Okazuje się jednak, że nawet użytkownicy domowi mogą osiągnąć wymierne korzyści z używania osobistych wirtualnych sieci prywatnych (ang. Personal VPN). Osobiste sieci VPN są w stanie zapewnić potężną ochronę danych przez atakami hakerów. Ochrona ta jest zazwyczaj wsparta na silnym szyfrowaniu, które chroni cały ruch wpływający i wypływający z sieci użytkownika. Do najważniejszych korzyści takiego zastosowania należą: Anonimowe przeglądanie stron internetowych. Zapewnienie dostępu do swoich danych z innej lokalizacji. Szyfrowanie połączeń w celu ochrony przed podsłuchem. Obecnie na rynku dostępne są różne wersje usługi VPN zależne od potrzeb klientów oraz zasobów i środków dostawców usług. Głównym celem niniejszego opracowania było porównanie konfiguracji sieci z zaimplementowaną usługą VPN w środowisku MPLS (Multiprotocol Label Switching) za pomocą rozwiązań sprzętowych oraz symulacyjnych. Skupiono się w nim na porównaniu sposobów konfiguracji, poprawności komend w obu środowiskach oraz dokładności odwzorowanie rzeczywistego sprzętu przez symulator. Do tego celu użyto renomowanych urządzeń i oprogramowania konfiguracyjnego tj. routery firmy Cisco oraz symulatora środowiska teleinformatycznego GNS3 (Graphical Network Simulator).
Specyfikacja techniki MPLS VPN 219 2. Charakterystyka środowiska sprzętowego firmy Cisco Amerykańska firma Cisco Systems jest światowym liderem dostarczającym wyspecjalizowany sprzęt związany z sieciami komputerowymi i usługami teleinformatycznymi. W swoich urządzeniach używają własnego systemu operacyjnego Cisco IOS (Międzysieciowy System Operacyjny), który pozwala na trasowanie pakietów za pomocą sprzętowych elementów. Niezależnie od przeznaczenia, wszystkie routery Cisco mają podobną budowę. Głównym elementem jest procesor, który jest odpowiedzialny za przetwarzanie danych. Równie ważnym modułem jest pamięć. W routerach występuje ich kilka rodzajów: ROM (Read Only Memory) pamięć trwała, w której zapisany jest program POST (Power-On Self Test), odpowiednik pecetowego BIO- Su, oraz system operacyjny Cisco IOS. NVRAM (Nonvolatile Random Access Memory) pamięć nieulotna RAM, w której jest przechowywana konfiguracja startowa routera. Można ją wyczyścić i zapisywać w niej nowe konfiguracje. Jej główną zaletą jest brak utraty danych przy wystąpieniu braku zasilania. FlashRAM (Flash Random Access Memory) pamięć typu flash, w której są przechowywane wersje systemu Cisco IOS. Zazwyczaj występuje w postaci modułów SIMM (Single-Inline Memory Modules) RAM (Random Access Memory) pamięć o dostępie swobodnym. Służy do przechowywania danych, na których operuje procesor. Konfigurowanie routera polega na wprowadzaniu do niego komend za pomocą wiersza poleceń CLI (Command Line Interface). W celu podłączenia się do routera możemy skorzystać z kilku możliwości: Gniazdo konsoli (ang. Console) bezpośrednie podłączenie komputera z emulatorem terminala do wprowadzania poleceń. Gniazdo sterowania zdalnego (AUX) przy pomocy podłączonego modemu telefonicznego można konfigurować router z jakiejkolwiek lokalizacji z zapewnionym podłączeniem do Internetu. Wychodząc naprzeciw oczekiwaniom użytkowników, którzy często konfigurują stosunkowe proste rozwiązania na routerach jak i tych mniej zaawansowanych, firma Cisco wprowadziła jeszcze jeden sposób konfiguracji za po-
220 Marcin Pólkowski, Dariusz Laskowski mocą apletów napisanych w języku Java bazujących na graficznym interfejsie użytkownika (GUI). Istnieją trzy wersje tego oprogramowania: Cisco Router and Security Device Manager (SDM) narzędzie do podstawowej konfiguracji routerów. Cisco Configuration Professional (CCP) aplikacja dla zaawansowanych, oferująca szerszy zakres konfigurowanych funkcji. Cisco Configuration Professional Express (CPP Express) lekka wersja CPP, którą wgrywamy do pamięci flash routera. Sieci MPLS są implementowane zazwyczaj w szkieletach dostawców usług, których konfiguracją zajmują się wyspecjalizowani pracownicy. Dlatego technikę MPLS i związane z nią usługi można konfigurować wyłącznie za pomocą linii komend i odpowiedniego emulatora terminala. 3. Charakterystyka symulatora GNS3 GNS3 (Graphical Network Simulator) to graficzny symulator sieciowy. Jest to darmowe oprogramowanie symulujące oparte na licencji GPLv2. Pozwala na naukę konfiguracji routerów firmy Cisco oraz Juniper (największego konkurenta Cisco na rynku światowym). Główną zaletą GNS3 jest fakt, że użytkownik wykorzystuje oryginalne obrazy systemu Cisco IOS, dzięki zaznajamia się z systemem, który jest dokładnie taki sam jak na rzeczywistym sprzęcie, dzięki czemu wszystkie polecenia wykorzystywane do konfiguracji fizycznego sprzętu działają w symulatorze. Niestety niesie też to za sobą pewną wadę. Mianowicie, przy sieciach składających się z dużej ilości routerów obciążenie procesora oraz pamięci znacznie wzrasta. Do emulacji routerów Cisco GNS3 wykorzystuje emulator Dynamips. Jest to program działający na platformach Linux, Mac OS oraz MS Windows, który wymaga załadowania do swojej pamięci oryginalnego obrazu Cisco IOS. Jedyną niedogodnością symulatora GNS3 jest brak możliwości konfiguracji użytych komputerów PC. Wykorzystuje do tego cepu program VPCS (Virtual PC Simulator), który jest dostępny razem z pakietem GNS3.
Specyfikacja techniki MPLS VPN 221 Rys. 2. Główne okno symulatora GNS3 4. Charakterystyka implementacji usługi MPLS VPN MPLS VPN jest najbardziej popularną i rozpowszechnioną implementacją techniki MPLS. Jej głównymi zaletami są skalowalność i separacja mniejszych sieci, które to cechy są bardzo ważne z punktu widzenia dużych przedsiębiorstw. Topologia takiej sieci składa się zazwyczaj z trzech obszarów: szkieletu sieci dostawcy usługi (P), brzegu sieci (PE) oraz obszaru leżącego po stronie klientów (w którym również można wyodrębnić brzeg od reszty sieci (CE)). Implementacja usługi MPLS VPN składa się z kilku etapów, niezależnych od platformy. Pierwszym krokiem jest utworzenie modelu sieci za pomocą fizycznych lub wirtualnych routerów oraz ich połączenie. Następnie należy skonfigurować na każdym routerze interfejsy sieciowe wraz z adresacją. Trzecim krokiem jest konfiguracja protokołu routingu w sieci szkieletowej. W celach naukowych wykorzystano protokół OSPFv3 (Open Short Past First). Po uruchomieniu routingu można przejść do konfiguracji techniki MPLS oraz proto-
222 Marcin Pólkowski, Dariusz Laskowski kołu LDP (Label Distribution Protocol). Końcowym etapem jest implementacja usługi MPLS VPN. Rys. 3. Topologia badanej sieci Konfiguracja routerów opiera się na wprowadzaniu do niego komend za pomocą wiersza poleceń CLI (Command Line Interface). W niniejszym opracowaniu wykorzystano darmowy emulator PuTTYtel. Przypisywanie adresów IP do poszczególnych interfejsów routerów polega na wywołaniu danego interfejsu i nadaniu mu adresu IP oraz maski podsieci, a następnie uruchomieniu go. W przypadku routerów dostawcy usług należy dodatkowo skonfigurować adresy pętli zwrotnych (loopback). Uruchamianie protokołu routingu OSPFv3 wykonuje się w trybie konfiguracji globalnej (configure terminal). PE1#configure terminal Enter configuration commands, one per line. End with CNTL/Z PE1(config)#router ospf 1 PE1(config-router)#network 192.0.0.0 0.255.255.255 area 1 PE1(config-router)#end Rys. 4. Konfiguracja protokołu OSPF na routerze PE1
Specyfikacja techniki MPLS VPN 223 Technikę MPLS należy skonfigurować i uruchomić na routerach tworzących sieć szkieletową. Pierwszą czynnością jest uruchomienie na każdym routerze przełączania CEF (Cisco Express Forwarding). CEF jest to zaawansowane przełączanie w warstwie 3 modelu OSI opracowane przez firmę Cisco. Klasyczne szybkie przełączanie opierało się na budowaniu tablicy przełączania na żądanie. Powodowało to, znaczące opóźnienia wysyłania pierwszych pakietów do danego odbiorcy. CEF wprowadziło tablicę przełączania, które jest ustanawiana zawczasu, dzięki czemu nie występują opóźnienia. Uruchamia się go w trybie konfiguracji globalnej poleceniem ip cef. Następnym krokiem jest zadeklarowanie techniki MPLS dla całego routera (mpls ip). Po tej deklaracji należy włączyć obsługę MPLS na każdym z interfejsów należących do sieci szkieletowej. Aby konfiguracja techniki MPLS była kompletna, należy uruchomić protokół LDP i przypisać adres pętli zwrotnej jako numer id routera. PE1(config)#ip cef PE1(config)#mpls ip PE1(config)#int f1/0 PE1(config-if)#mpls ip PE1(config-if)#exit PE1(config)#mpls ldp router-id loopback0 force PE1(config)#mpls label protocol ldp PE1(config)#end Rys. 5. Konfiguracja MPLS na routerze PE1 Po wykonaniu dotychczasowych kroków można przystąpić do implementacji usługi MPLS VPN, którą wykonuje się na routerach brzegowych PE w trzech etapach: zadeklarowanie tablic VRF (Virtual Routing/ Forwarding Table), stworzenie połączenia BGP pomiędzy routerami brzegowymi dostawcy usług skonfigurowanie routingu pomiędzy routerami klienta i dostawcy usług. Tablice VRF są połączeniem tablicy routingu, tablicy Cisco CEF oraz zasocjowanych protokołów routingu występujących w routerach PE. Każda sieć VPN posiada unikalną tablicę VRF na przylegających do nich routerach do-
224 Marcin Pólkowski, Dariusz Laskowski stawców usług. Tworzy się je za pomocą polecenia ip vrf [nazwa tablicy]. Komenda rd [numer AS]:[liczba] określa identyfikator RD dla danej VPN. routetarget export/import [identyfikator rd] tworzy regułę RT. Ja widać na zrzucie, dostęp do sieci miały tylko adresy oznaczone identyfikatorem 1:100. PE1(config)#ip vrf uzytkownik1 PE1(config-vrf)#rd 1:100 PE1(config-vrf)#route-target export 1:100 PE1(config-vrf)#route-target import 1:100 PE1(config-vrf)#exit Rys. 6. Deklarowanie nowej tablicy VRF na routerze PE1 Jedną z zalet implementacji usługi MPLS VPN jest brak konieczności stosowania protokołu BGP do trasowania pakietów w całej sieci szkieletowej (BGP- Free Core). Używa się go jedynie na routerach brzegowych PE do przesyłania prefiksów sieci VPN. Początkowo protokół BGP mógł jedynie przenosić pakiety IP. W późniejszym etapie rozwoju technologii sieciowych opracowano wersję MP-BGP (Multi Protocol BGP). To właśnie ten protokół jest używany do transmisji identyfikatorów sieci VPN. W tym celu nawiązuje się sesje BGP pomiędzy routerami PE, tak jakby znajdowały się w swoim bezpośrednim sąsiedztwie. PE1(config)#router bgp 1 PE1(config-router)#no synchronization PE1(config-router)#neighbor 192.4.4.4 remote-as 1 PE1(config-router)#no auto summary PE1(config-router)# Rys. 6. Konfiguracja globalna protokołu BGP na routerze PE1 Routery CE są routerami należącymi do klienta usługi VPN. Pomiędzy nimi, a routera-mi brzegowymi dostawcy usługi należy skonfigurować protokół routingu. Większość ISP (Internet Service Providers) używa do tego celu statycznego routingu, ponieważ daje większą kontrolę nad połączeniami, niż alternatywny protokół RIPv2.
Specyfikacja techniki MPLS VPN 225 5. Wnioski Celem niniejszego artykułu było przybliżenie środowiska sprzętowego firmy Cisco oraz symulatora GNS3, w kontekście wirtualnej sieci prywatnej opartej o technikę MPLS. Z punktu widzenia wprowadzanych komend, konfiguracja obu środowisk wygląda identycznie dzięki zastosowaniu w symulatorze GNS3 programu Dynamips do emulacji wirtualnych routerów, które wykorzystują oryginalne obrazy systemu Cisco IOS. Pozwala to studentom oraz wszystkim innym zainteresowanym osobom, które nie mają dostępu do drogiego sprzętu na przećwiczenie tej konfiguracji. Symulator GNS3 okazał się znacznie bardziej rozbudowany i oferujący dużo więcej możliwości niż te najbardziej popularne oferowane przez firmę Cisco Packet Tracer oraz Boson NetSim. Jedyne ograniczenie wprowadza wydajność jednostki, na której symulujemy sieć. Wraz ze wzrostem użytych wirtualnych urządzeń znacząco spada płynność działania symulatora oraz zwiększa się czas zbieżności routingu oraz przesyłania zapytań ICMP. W celu minimalizacji tych problemów należy przed przystąpieniem do pracy prawidłowo dobrać wartość idlepc. Źle dobrana wartość idlepc może sprawić, że jeden router obciąży procesor nawet w 100%. Dzięki zastosowaniu symulatora GNS3, użytkownik uzyskuje możliwość implementacji praktycznie każdej sieci, co ograniczają jedynie parametry oraz wydajność komputera. Obsługuje on wiele protokołów oraz nowoczesnych technologii, co pozwala na funkcjonalne symulowanie oraz sprawdzenie działania interesujących zagadnień. Literatura 1. Conlan P. J., Cisco Network Professional s Advenced Interworking Guide, Wiley Publishing Inc., Indianapolis 2009, ISBN: 978-0-470-38360-5 2. De Ghein L., MPLS Fundamentals, Cisco Press, Indianapolis 2007, ISBN: 1-58705-197-4 3. Graziani R., Vachon B., Akademia sieci Cisco CCNA Exploration Semestr 4 Sieci WAN zasady dostępu, Wydawnictwo Naukowe PWN SA, Warszawa 2009, ISBN: 978-83-01-15933-7
226 Marcin Pólkowski, Dariusz Laskowski 4. Habraken J., Routery Cisco w praktyce, Helion, Gliwice 2008, ISBN: 83-7197-214-8 5. Kabaciński W., Żal M., Sieci telekomunikacyjne, WKŁ, Warszawa 2008, ISBN: 978-83-206-1716-0 6. Serafin M., Sieci VPN Zdalna praca i bezpieczeństwo danych, Helion, Gliwice 2008, ISBN: 978-83-246-1521-6