VLAN Trunking Protocol
Abkürzung: VTP
Was ist VTP?
VTP steht für VLAN Trunking Protocol. Es handelt sich um ein proprietäres Layer-2-Protokoll von Cisco zur zentralen Verwaltung von VLANs in einer Switching-Domäne. Mit VTP können VLAN-Änderungen, also das Anlegen, Löschen oder Umbenennen von VLANs, auf einem zentralen Switch konfiguriert und automatisch an alle anderen Switches in derselben VTP-Domäne weitergegeben werden. Dies erspart dem Administrator die manuelle und fehleranfällige Konfiguration identischer VLAN-Datenbanken auf jedem einzelnen Switch. VTP ist ausschließlich auf Cisco-Geräten verfügbar und funktioniert über Trunk-Verbindungen.
VTP-Domäne und Grundprinzip
Die VTP-Domäne ist eine logische Gruppe von Switches, die ihre VLAN-Konfigurationen miteinander teilen. Jeder Switch kann Mitglied genau einer VTP-Domäne sein. Die Zugehörigkeit wird über den Domänennamen festgelegt, der auf allen Switches identisch sein muss. Ein Switch ohne konfigurierten Domänennamen übernimmt den Namen des ersten empfangenen VTP-Advertisements, sofern sein eigener Name noch leer ist. Innerhalb der Domäne werden VLAN-Informationen über sogenannte VTP-Advertisements verteilt. Diese Advertisements werden auf allen Trunk-Ports versendet und von benachbarten Switches empfangen, verarbeitet und weitergeleitet.
VTP-Modi
Jeder Switch in einer VTP-Domäne arbeitet in einem von vier Modi, die seine Rolle bei der Verteilung und Speicherung der VLAN-Daten bestimmen.
- Server: Der Standardmodus. Ein VTP-Server kann VLANs erstellen, löschen und ändern. Er speichert die VLAN-Datenbank dauerhaft im NVRAM und erhöht bei jeder Änderung die VTP-Revisionsnummer. Der Server sendet VTP-Advertisements aus und verarbeitet eingehende Advertisements, um seine eigene Datenbank zu aktualisieren.
- Client: Ein VTP-Client kann selbst keine VLANs erstellen oder löschen. Er empfängt VTP-Advertisements und aktualisiert seine VLAN-Datenbank entsprechend. Die VLAN-Informationen werden nicht dauerhaft gespeichert, sondern bei einem Neustart aus den empfangenen Advertisements erneut gelernt. Ein Client leitet VTP-Advertisements an seine Nachbarn weiter.
- Transparent: Ein Switch im transparenten Modus nimmt nicht aktiv an VTP teil. Er speichert seine VLAN-Datenbank lokal und sendet keine eigenen VTP-Advertisements aus, die auf lokalen Änderungen basieren. Empfangene VTP-Advertisements werden jedoch unverändert an andere Switches weitergeleitet, sodass der transparente Switch als Verteiler fungiert. Transparente Switches haben eine eigene Revisionsnummer, die nicht in die Domäne propagiert wird.
- Off: Der Off-Modus, eingeführt mit VTP Version 3, versetzt den Switch in einen vollständig passiven Zustand. Er sendet keine VTP-Advertisements und verarbeitet keine empfangenen. Die VLAN-Konfiguration erfolgt ausschließlich lokal, und der Switch beeinflusst die VTP-Domäne in keiner Weise.
VTP-Advertisements und Nachrichtenarten
Die Kommunikation in einer VTP-Domäne erfolgt über drei Typen von VTP-Nachrichten, die als Multicast-Advertisements über Trunk-Ports verschickt werden.
- Summary Advertisements: Diese werden alle fünf Minuten oder bei einer Änderung der VLAN-Datenbank vom VTP-Server ausgesendet. Sie enthalten den Domänennamen, die aktuelle Revisionsnummer und grundlegende Statusinformationen. Anhand der Revisionsnummer entscheidet ein empfangender Switch, ob seine VLAN-Datenbank aktualisiert werden muss.
- Subset Advertisements: Enthalten die detaillierten VLAN-Informationen, also die Liste aller VLANs mit ihren IDs, Namen und MTUs. Sie werden nach einem Summary Advertisement gesendet, wenn die Revisionsnummer eine Aktualisierung erfordert.
- Request Advertisements: Ein Switch kann mit dieser Nachricht aktiv ein VTP-Update anfordern, etwa nach einem Neustart oder einem Domänenwechsel.
VTP-Versionen
Es existieren drei Versionen des Protokolls, die sich im Funktionsumfang und in der Sicherheit unterscheiden.
- VTP Version 1: Die ursprüngliche Implementierung. Sie unterstützt nur den normalen VLAN-Bereich von 1 bis 1005 und keine Token-Ring-VLANs. Version 1 kennt die Modi Server, Client und Transparent.
- VTP Version 2: Erweitert die Unterstützung auf Token-Ring-VLANs und bietet Verbesserungen bei der Konsistenzprüfung. Transparente Switches leiten VTP-Nachrichten unabhängig vom Domänennamen weiter. Der Client-Modus kann keine Änderungen vornehmen, was in Version 1 noch eingeschränkt möglich war.
- VTP Version 3: Die aktuelle und sicherste Version. Sie trennt die Verwaltung von VLAN-Daten und MST-Konfigurationen. Es gibt den Off-Modus, der den Switch von VTP isoliert. Die Authentifizierung von VTP-Nachrichten wird unterstützt, und die gefürchtete automatische Überschreibung der VLAN-Datenbank durch einen falsch konfigurierten Switch mit hoher Revisionsnummer wird durch eine strengere Rechtevergabe und das Konzept des Primary Servers verhindert. VTP Version 3 ist die empfohlene Version, sofern VTP überhaupt eingesetzt wird.
Die Gefahr der Revisionsnummer
Die VTP-Revisionsnummer ist ein zentraler Mechanismus zur Erkennung von Aktualisierungen, stellt aber auch das größte Sicherheitsrisiko des Protokolls dar. Jedes Mal, wenn auf einem VTP-Server eine VLAN-Änderung vorgenommen wird, erhöht er seine Revisionsnummer um eins. Empfängt ein Switch ein Summary Advertisement mit einer höheren Revisionsnummer als seiner eigenen, geht er davon aus, dass seine VLAN-Datenbank veraltet ist. Er fordert die Subset Advertisements an und überschreibt seine gesamte lokale VLAN-Konfiguration mit den empfangenen Daten.
Dieser Automatismus wird gefährlich, wenn ein gebrauchter oder falsch konfigurierter Switch mit einer hohen Revisionsnummer und dem passenden Domänennamen in ein bestehendes Netz eingefügt wird. Der neue Switch sendet sein Summary Advertisement mit der hohen Revisionsnummer aus. Alle anderen Switches erkennen die vermeintlich aktuellere Version, übernehmen die VLAN-Datenbank des neuen Switch und löschen dabei alle zuvor mühsam konfigurierten VLANs. Das Netz verliert schlagartig seine VLAN-Struktur, und der Datenverkehr bricht zusammen. Diese spektakulären Ausfälle haben VTP in vielen Umgebungen in Verruf gebracht und gelten als abschreckendes Beispiel für die Gefahren automatisierter Konfigurationsverteilung.
VTP Pruning
VTP Pruning ist eine optionale Funktion, die unnötigen Broadcast-, Multicast- und Unicast-Flooding-Verkehr auf Trunk-Verbindungen unterdrückt. Sie sorgt dafür, dass ein Switch nur dann Verkehr für ein bestimmtes VLAN über einen Trunk sendet, wenn der Nachbar-Switch tatsächlich aktive Ports in diesem VLAN hat. VTP Pruning wird auf einem VTP-Server aktiviert und dynamisch in der gesamten Domäne umgesetzt. Das Feature wird in einem eigenen Artikel ausführlich behandelt.
Best Practices und Sicherheitsempfehlungen
Die Sicherheitsrisiken von VTP haben dazu geführt, dass viele Netzwerkadministratoren das Protokoll vollständig deaktivieren und VLANs ausschließlich manuell konfigurieren. Eine solche manuelle Konfiguration ist in kleinen bis mittleren Netzen oft der sicherere und einfachere Weg. Wenn VTP eingesetzt wird, sind folgende Maßnahmen zwingend:
- VTP-Version 3 verwenden, da sie den Off-Modus, Authentifizierung und Schutz vor ungewollten Überschreibungen durch Revisionsnummern bietet.
- Den VTP-Domänennamen auf allen Switches explizit setzen und sicherstellen, dass ungenutzte Switches nicht mit dem Produktionsnetz verbunden werden, bevor ihre Revisionsnummer auf Null zurückgesetzt wurde.
- Die Revisionsnummer eines gebrauchten oder aus einem anderen Netz stammenden Switch zurücksetzen, indem die VTP-Domäne auf einen beliebigen anderen Namen geändert und danach wieder auf den korrekten Namen zurückgesetzt wird. Alternativ kann der Switch in den Transparent-Modus versetzt und dann wieder in den gewünschten Modus gewechselt werden.
- Unbenutzte Trunk-Ports in den Access-Modus versetzen oder administrativ abschalten, um ungewollte VTP-Advertisements zu unterbinden.
- Die Konfiguration regelmäßig sichern, sodass eine zerstörte VLAN-Datenbank schnell wiederhergestellt werden kann.
- In heterogenen Umgebungen mit Switches anderer Hersteller grundsätzlich auf VTP verzichten, da diese das Protokoll nicht unterstützen und eine manuelle VLAN-Konfiguration erforderlich ist.
Zusammenfassung
VTP ist ein leistungsfähiges, aber potentiell gefährliches Protokoll zur zentralisierten VLAN-Verwaltung in Cisco-Netzwerken. Es automatisiert die Verteilung und Synchronisation der VLAN-Datenbank und vereinfacht die Administration großer Layer-2-Infrastrukturen. Die Risiken durch ungewolltes Überschreiben der VLAN-Datenbank aufgrund einer falsch hohen Revisionsnummer haben jedoch zu einem deutlichen Rückgang des Einsatzes geführt. In modernen Netzen setzt man entweder auf die sicherere Version 3 mit strenger Rechtevergabe oder ganz auf manuelle VLAN-Konfiguration.