Netzwerk & WAN
VRF / VRF-Lite
Eine VRF gibt einem Router mehrere getrennte Routing-Tabellen, sodass mehrere Netze mit eigener, auch überlappender IP-Adressierung auf einer Hardware laufen.
- Getrennte Routing-Tabellen
- Überlappende IP-Bereiche
- Mandanten- und Management-Trennung
- VRF-Lite ohne MPLS
- Auch im Linux-Kernel
Eine VRF (Virtual Routing and Forwarding) ist eine eigenständige Routing-Tabelle innerhalb eines Routers. Statt einer globalen Tabelle hält das Gerät mehrere, voneinander isolierte Instanzen, jede mit eigener Routing- und Weiterleitungsbasis. Eine Route in der einen VRF taucht in der anderen nur auf, wenn man es ausdrücklich erlaubt.
Dieser Artikel erklärt das Prinzip getrennter RIB und FIB, den Unterschied zwischen VRF-Lite und einem vollen MPLS-L3VPN, die Mechanismen des Route Leaking, den Nutzen eines Management-VRF, die Umsetzung im Linux-Kernel sowie die Skalierungs- und Sicherheitsgrenzen.
1. Was eine VRF technisch ist
Jede VRF-Instanz besitzt eine eigene Routing Information Base (RIB) und eine eigene Forwarding Information Base (FIB). Ein Paket, das auf einem Interface in VRF-A eintrifft, wird ausschließlich gegen die Tabelle von VRF-A aufgelöst. Damit sind überlappende Adressräume kein Problem: Zwei Mandanten dürfen dasselbe Netz 192.168.10.0/24 betreiben, weil die Lookups in getrennten Tabellen stattfinden.
Die Zuordnung erfolgt pro Interface: Jedes physische oder logische Interface gehört genau einer VRF an. Erst diese Bindung macht aus der reinen Tabelle eine durchgängige Trennung von der Leitung bis zur Weiterleitungsentscheidung.
2. VRF-Lite und das volle L3VPN
Der Begriff VRF-Lite stammt aus der Cisco-Welt und meint die Nutzung von VRFs ohne MPLS-Backbone und ohne MP-BGP als VPN-Signalisierung. Jeder Router auf dem Pfad braucht eigene VRF-Konfiguration und je VRF eine eigene Verbindung zum Nachbarn, etwa als getaggtes Sub-Interface. Das ist einfach aufzusetzen, skaliert aber schlecht: Bei vielen VRFs und vielen Transit-Routern wächst die Zahl der nötigen Verbindungen schnell an.
Ein volles BGP/MPLS-L3VPN nach RFC 4364 löst das, indem ein Route Distinguisher die Routen eindeutig macht, Route-Targets den Austausch steuern und MP-BGP die VPN-Routen über ein gemeinsames, gelabeltes Backbone trägt. Die Details gehören in den MPLS-Artikel; hier zählt die Abgrenzung: VRF-Lite verzichtet auf diese Maschinerie und bezahlt das mit schlechterer Skalierung.
VRF-Lite ist die richtige Wahl für überschaubar viele Instanzen und Standorte. Sobald Mandantenzahl und Topologie wachsen, übernimmt ein MPLS- oder EVPN-Backbone die Skalierung.
3. Route Leaking: gezielt durchlassen
Vollständige Trennung ist der Normalfall. Wo zwei VRFs gezielt Routen austauschen sollen, gibt es mehrere Wege:
- Route-Target-Import/Export die Quell-VRF exportiert Routen mit einem RT-Wert, die Ziel-VRF importiert sie. Setzt eine BGP-Konfiguration voraus.
- Statisches Leaking eine statische Route in VRF-A zeigt auf einen Next-Hop, der in VRF-B aufgelöst wird. Für beide Richtungen sind Routen in beiden VRFs nötig.
- Shared-Services-Muster ein zentraler Internet- oder Dienste-VRF hält die Default-Route oder gemeinsame Server, die Mandanten-VRFs leaken nur das Nötige (Hub-and-Spoke).
Leaking ist die größte Fehlerquelle
Jede geleakte Route durchbricht bewusst die Trennung. Zu großzügige Import/Export-Regeln oder eine falsch gesetzte statische Route können Mandanten-Verkehr in den falschen VRF leiten. Route Leaking gehört eng begrenzt und dokumentiert.
4. Management-VRF
Ein Management-VRF trennt den Steuer- und Wartungspfad (etwa der dedizierte Management-Port) von der Datenebene. Management-Verkehr läuft dann über eine eigene Tabelle und nie über Produktionspfade. Dienste wie SSH, SNMP oder ein Monitoring-Agent lassen sich gezielt in diesen VRF legen. Manche Plattformen wie Cumulus Linux aktivieren einen Management-VRF standardmäßig; ein Dienst kann allerdings nicht gleichzeitig in mehreren VRFs lauschen.
5. VRF im Linux-Kernel
Linux setzt VRFs über ein Layer-3-Master-Device (l3mdev) um: Ein VRF-Device ist mit einer Routing-Tabelle verknüpft, Interfaces werden ihm untergeordnet. Im Unterschied zu Network Namespaces, die den gesamten Netzwerk-Stack trennen, isoliert eine VRF nur das Layer-3-Routing und ist entsprechend leichtgewichtig. Prozesse starten mit ip vrf exec im Kontext einer VRF.
VRF anlegen und Interface zuordnen (Linux iproute2)
# VRF-Device mit eigener Tabelle anlegen
ip link add mgmt type vrf table 10
ip link set dev mgmt up
# Interface der VRF unterordnen
ip link set dev eth1 master mgmt
# Prozess im VRF-Kontext starten
ip vrf exec mgmt ping 10.0.10.1 Dienste binden
Systemdienste binden standardmäßig an den Default-VRF. Verschiebt man Interfaces in eine VRF, brechen bestehende Bindungen unter Umständen. Die sysctl-Schalter tcp_l3mdev_accept und udp_l3mdev_accept steuern, ob Default-VRF-Dienste auch VRF-gebundene Verbindungen annehmen.
6. Trennung ist keine Verschlüsselung
Wie das VLAN auf Layer 2 trennt die VRF auf Layer 3 nur logisch. Der Verkehr passiert Transit-Geräte im Klartext. Wer eine VRF zur Mandantentrennung nutzt und zugleich Vertraulichkeit auch unter regulatorischen Anforderungen belegen muss, braucht zusätzlich Verschlüsselung über IPsec oder MACsec. Die Isolation steht und fällt außerdem mit korrekter Konfiguration: Ein falsch zugeordnetes Interface hebt sie auf.
7. Stärken und Grenzen
| Stärken | Grenzen |
|---|---|
| Routing-Trennung ohne eigene Hardware je Mandant | VRF-Lite skaliert schlecht über viele VRFs und Router |
| Überlappende Adressräume ausdrücklich erlaubt | Verschlüsselt nicht; Isolation ist reine Konfigurationssache |
| Breite Unterstützung: Cisco, Juniper, Arista, Linux/FRR | Troubleshooting verlangt konsequente VRF-Angabe (z. B. ping vrf) |
| Management-VRF als sauberer Out-of-Band-Pfad | Route Leaking erhöht Komplexität und Fehlerrisiko |
| Basis für Mandanten in MPLS- und EVPN-Fabrics | Dienst-Bindungen unter Linux müssen bewusst gesetzt werden |
Häufige Fragen zu VRF / VRF-Lite
VRF-Lite nutzt getrennte Routing-Tabellen ohne MPLS-Backbone: Jeder Router braucht je VRF eine eigene Verbindung zum Nachbarn, was bei vielen Mandanten schlecht skaliert. Ein MPLS-L3VPN nach RFC 4364 trägt die VRF-Routen über MP-BGP und Labels über ein gemeinsames Backbone und skaliert dadurch auf viele Standorte und Mandanten.
Ja, überlappende Adressräume sind ein Designziel von VRFs. Weil jede Instanz eine eigene Routing-Tabelle hat, können zwei Mandanten denselben Bereich wie 192.168.10.0/24 betreiben, ohne zu kollidieren, solange kein Route Leaking sie zusammenführt.
Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.
Der nächste Schritt
VRF / VRF-Lite im eigenen Haus richtig einsetzen?
Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.