Virtual Routing and Forwarding (VRF) to potężna technologia, która zapewnia skuteczny sposób na optymalizację istniejącej infrastruktury. Jest ona stosowana wszędzie tam, gdzie potrzebujemy odseparować od siebie co najmniej dwie sieci bez konieczności wykorzystania osobnych urządzeń.
Gdzie najczęściej spotykamy się z taką sytuacją?
Oczywiście w sieciach dostawców usług, którzy mogą obsługiwać setki czy tysiące klientów, którym zależy, aby ich ruch nie był widoczny dla pozostałych. Kolejnym miejsce, gdzie VRF znajduje swoje zastosowanie, są sieci korporacyjne, gdzie różnie działy lub nawet całe spółki dążą do pełnej separacji, bez konieczności inwestowania w nadmiarowy sprzęt.
VRF oferuje więc najprostszy sposób segmentacji ruchu z różnych sieci, umożliwiając bardzo granularne trasowanie danych pomiędzy nimi. VRF mogą być wdrażane zarówno w sieciach fizycznych, jak i wirtualnych, zapewniając wszechstronne i bezpieczne rozwiązanie dla stale rosnącej liczby użytkowników i urządzeń.
W artykule zbadamy, czym jest VRF, jak działa, jakie ma zalety i dlaczego staje się coraz bardziej popularnym wyborem wśród administratorów sieci. Omówimy również różne rodzaje wdrożeń VRF, ich zalety i wady, a także najlepsze praktyki wdrażania. Na koniec poruszymy kilka kluczowych kwestii związanych z bezpieczeństwem, o których należy pamiętać podczas korzystania z technologii VRF.
Jak działa VRF?
VRF, czyli Virtual Routing and Forwarding, to technologia, która pozwala na tworzenie wielu niezależnych tablic routingu w jednym routerze. Każda instancja ma swoją własną tablicę FIB, co zapewnia separację na poziomie warstwy trzeciej i drugiej. Można to porównać do małego routera w routerze lub innym urządzeniu obsługującym tę technologię.
VRF działa poprzez podział routera na kilka wirtualnych tabel routingu, z których każda ma swój własny zestaw tras i polityk. Umożliwia to korzystanie z tej samej adresacji w różnych VRF-ach, nie wpływając na transmisję danych.
Każdy VRF ma swój zestaw interfejsów, protokołów routingu, list dostępu i innych konfiguracji. Tablica routingu dostępna pod poleceniem show ip route
jest tak naprawdę globalną, domyślną instancją vrf.
Kiedy pakiety wchodzą do routera, sprawdzane są pod kątem odpowiedniej tablicy tras VRF, aby zdecydować, czy mają być przekazane dalej, czy odrzucone. Zapewnia to wysoki poziom bezpieczeństwa, ponieważ nieprawidłowe pakiety z jednego segmentu nie wpływają na pozostałe. VRF zapewnia też skalowalność, umożliwiając łatwe dodawanie nowych sieci bez wpływu na istniejące.
Jest to ważne narzędzie w nowoczesnych sieciach, często używane z innymi technologiami, takimi jak MPLS.
Konfiguracja VRF na urządzeniu Cisco
Stworzenie instancji VRF, jest stosunkowo prostym procesem składającym się z dwóch etapów. W pierwszym z nich musi stworzyć jego definicję, która zawiera następujące elementy:
- Nazwa danej instancji
- Route Distinguisher
- Route target
Nazwa instancji stanowi wyłącznie ozdobnik i w zasadzie może być dowolna. Route Distinguisher oraz Route Target omówimy sobie szczegółowo w kolejnych akapitach.
Przykładowa konfiguracja VRF
ip vrf forwarding MGT
rd 65000:1
route-target export 65000:1
route-target import 65000:1
Drugim etapem jest przypięcie konkretnych interfejsów do naszej instancji:
interface GigabitEthernet0/1
ip vrf forwarding MGT
ip address 10.1.1.1 255.255.255.0
Przedstawiona konfiguracja tworzy instancję VRF o nazwie „MGT” z route distinguisher (RD) 65000:1. Określa również, że VRF będzie importować i eksportować trasy zgodnie z ustawieniami route-target import/export 65000:1.
Interfejs GigabitEthernet0/1 jest następnie powiązany z VRF MGT i otrzymuje adres IP 10.1.1.1/24.
Jest to stary sposób konfiguracji, który możesz spotkać raczej w istniejących od lat implementacjach. Jej główną wadą jest fakt, że działa ona wyłącznie dla protokołu IPv4.
Aktualnie stosuje się nowszą wersję definiowania VRF z użyciem formuły vrf definition:
vrf definition MGT
rd 65000:1
address-family ipv4
route-target export 65000:1
route-target import 65000:1
exit-address-family
!
interface GigabitEthernet0/1
vrf forwarding MGT
ip address 10.1.1.1 255.255.255.0
!
Jak pewnie zwróciłeś uwagę, tym razem wartości route-target zostały umieszczone w address-family ipv4. Zmieniło się również polecenie do przypisania interfejsu do VRF.
Route Distinguisher
Powiedzieliśmy sobie wcześniej, że stosując VRF, możemy wykorzystywać nakładające się na siebie adresacje. Jeśli klient A wykorzystuje adresację 192.0.2.0/24, a klient B również wykorzystuje adresację 192.0.2.0/24, to potrzebujemy mechanizmu, który pozwoli nam sprawić, aby obie te adresacje były unikalne dla każdego z klientów.
Route Distinguisher to 8 bajtowy identyfikator, które zadaniem jest sprawić, aby dany prefix był unikalny. RD typowo składa się z dwóch elementów rozdzielonych dwukropkiem. Pierwszy to zwykle numer systemu autonomicznego, a drugi to identyfikator urządzenia. W ten sposób w naszym przykładzie stworzyliśmy RD z numeru ASN 65000 i identyfikatora 100. Nic nie stoi jednak przeszkodzie, aby taka sama wartość RD była wykorzystywana na każdym urządzeniu i wyglądało na przykład tak 700:1.
Kiedy mamy już nasze RD, jest ono dodawane do prefiksu w formacie „RD:prefiks”. Dla przykładu dla adresu 192.0.2.0/24 otrzymalibyśmy coś takiego 65000:100:192.0.2.0/24.
Podsumujmy w punktach czego dowiedzieliśmy się właśnie o Route Distinguisher:
- Unikalność: RD jest unikalną wartością przypisaną do prefiksu, aby uczynić go globalnie unikalnym.
- Format: RD ma określony format i zazwyczaj składają się z dwóch pól oddzielonych dwukropkiem. Zwykle są tp ASN oraz identyfikator.
- Funkcja: Główną funkcją jest rozróżnienie prefiksów we wspólnej infrastrukturze, co pozwala na tworzenie oddzielnych domen routingu.
- Długość: Długość RD może być różna, ale zazwyczaj jest to 8 bajtów.
- Skalowalność: RD umożliwiają skalowalność sieci poprzez współistnienie wielu instancji VRF w tej samej infrastrukturze, przy zachowaniu oddzielnych domen routingu.
Route Target
Route Target w skrócie RT, to kolejny mechanizm, który pozwala nam na granularną kontrolę nad tym, co trafia do naszej tablicy routingu. Wyobraź sobie taką sytuację. Mamy firmę, która posiada główną siedzibę oraz dwa oddziały. W centrali chcemy wiedzieć o wszystkich prefiksach, ale nie ma potrzeby, aby nasze filie wiedziały o sobie nawzajem.
Do tego właśnie służy Route Target w ramach naszego VRF. Jest to mechanizm, który definiuje politykę importowania oraz eksportowania prefiksów. O ile w ramach jednej instancji stosujemy jedną politykę do eksportu, tak nie raz zdarzy Ci się skonfigurować więcej niż jedną politykę na import prefiksów.
Podobnie jak RD, Route Target składa się z dwóch elementów oddzielonych dwukropkiem. Zwykle pierwsza wartość to ASN, czyli numer systemu autonomicznego. Drugi to dowolny identyfikator. W naszym przykładzie stworzyliśmy wartość RT, wykorzystując ASN 65000 oraz identyfikator 1, uzyskując 65000:1.
Podsumujmy w punktach czego dowiedzieliśmy się właśnie o Route Target:
- Format: RT mają określony format i zazwyczaj składają się z dwóch pól oddzielonych dwukropkiem. Składa się zwykle z ASN oraz identyfikatora.
- Funkcja: Główną funkcją jest agregacja i dystrybucja informacji o prefiksach w obrębie sieci.
- Długość: Długość RD może być różna, ale zazwyczaj jest to 8 bajtów.
- Skalowalność: RT umożliwiają skalowalność sieci poprzez sterowanie przepływem informacji o prefiksach.
Czym jest VRF-lite?
VRF-lite, to uproszczona wersja VRF, używana bez technologii MPLS.
VRF-Lite umożliwia współistnienie wielu instancji routingu w ramach tej samej sieci, tworząc izolowane przestrzenie adresowe dla różnych działów lub klientów. Zapewnia to korzyści płynące z technologii VRF, takie jak multi-tenancy i bezpieczeństwo, bez złożoności MPLS.