VTP Server

Was ist ein VTP-Server?

Ein VTP-Server ist ein Switch in einer Cisco-VTP-Domäne, der die zentrale Autorität für die Verwaltung der VLAN-Datenbank besitzt. Er kann VLANs anlegen, löschen und umbenennen. Alle Änderungen, die auf einem VTP-Server vorgenommen werden, erhöhen die VTP-Revisionsnummer und werden per VTP-Advertisements an alle anderen Switches in derselben Domäne verteilt. Der Server speichert die komplette VLAN-Konfiguration dauerhaft im NVRAM, sodass sie nach einem Neustart sofort wieder zur Verfügung steht. In einer VTP-Domäne können mehrere Server existieren, um Redundanz und flexible Administration zu ermöglichen.

Aufgaben und Arbeitsweise

Die Hauptaufgabe eines VTP-Servers besteht darin, den autoritativen Stand der VLAN-Datenbank zu halten und Änderungen im Netz zu propagieren. Sobald der Administrator ein VLAN hinzufügt, löscht oder umbenennt, führt der Server folgende Schritte aus:

  • Die lokale VLAN-Datenbank wird aktualisiert und die Änderung im NVRAM gespeichert.
  • Die VTP-Revisionsnummer wird um eins erhöht.
  • Ein Summary Advertisement mit der neuen Revisionsnummer wird unverzüglich an alle Trunk-Ports gesendet.
  • Auf Anfrage werden Subset Advertisements mit den vollständigen VLAN-Informationen nachgeliefert.

Empfängt ein VTP-Server seinerseits ein Advertisement mit einer höheren Revisionsnummer als seiner eigenen, aktualisiert er seine Datenbank mit den empfangenen Informationen und überschreibt seine lokalen VLANs. Dieses Verhalten ist identisch zum VTP-Client und stellt sicher, dass alle Server und Clients in der Domäne synchron bleiben, solange die Revisionsnummern konsistent verwaltet werden.

Konfiguration und Betrieb

Der VTP-Server ist der Standardmodus eines Cisco-Switches. Wird ein Switch ausgeliefert oder auf Werkseinstellungen zurückgesetzt, arbeitet er als VTP-Server ohne konfigurierten Domänennamen. Der Wechsel in diesen Modus erfolgt mit dem Befehl vtp mode server im globalen Konfigurationsmodus. Zusätzlich muss ein Domänenname vergeben werden, damit der Switch aktiv Advertisements senden und empfangen kann. Ein Server ohne Domänennamen bleibt passiv, bis er entweder einen Namen aus einem empfangenen Advertisement übernimmt oder manuell gesetzt wird.

Die VLAN-Konfiguration eines Servers wird im Flash-Speicher in der Datei vlan.dat abgelegt und übersteht Neustarts und Stromausfälle. Ein Client hingegen speichert die VLAN-Datenbank nicht dauerhaft und muss sie nach einem Neustart erneut lernen.

Die VTP-Revisionsnummer und ihre Gefahren

Die Revisionsnummer ist das zentrale Steuerungselement von VTP. Jede Änderung auf einem Server erhöht die Nummer. Ein Advertisement mit einer höheren Revisionsnummer führt dazu, dass alle Empfänger ihre lokale Datenbank verwerfen und durch die empfangene ersetzen. Dieser Mechanismus birgt das größte Risiko des Protokolls.

Wird ein gebrauchter oder aus einer anderen Domäne stammender Switch mit einer hohen Revisionsnummer und dem passenden Domänennamen in ein laufendes Netz eingefügt, sendet er sein Summary Advertisement aus. Alle anderen Switches erkennen die höhere Nummer als neueren Stand an und übernehmen dessen VLAN-Datenbank. Der Switch fungiert damit ungewollt als VTP-Server für die gesamte Domäne und kann die produktive VLAN-Konfiguration mit einer leeren oder falschen Datenbank überschreiben. Die Folgen sind flächendeckende VLAN-Ausfälle und ein erheblicher Administrationsaufwand zur Wiederherstellung.

VTP-Server in Version 2 und Version 3

VTP Version 2 verhält sich in Bezug auf den Server weitgehend wie Version 1. Es gibt keine Trennung zwischen primären und sekundären Servern. Jeder Server ist gleichberechtigt und kann Änderungen vornehmen. Dies ist einfach, aber riskant, weil jeder Server unkontrolliert die gesamte Domäne beeinflussen kann.

VTP Version 3 führt das Konzept des Primary Servers ein. Nur ein einziger Switch in der Domäne kann als Primary Server agieren. Dieser ist der exklusive Ursprung aller VLAN-Änderungen. Andere Switches können als Secondary Server arbeiten und die Datenbank replizieren, jedoch keine Änderungen autorisieren. Der Primary Server wird mit dem Befehl vtp primary festgelegt und muss sich gegenüber den anderen Switches authentifizieren. Dadurch wird verhindert, dass ein falsch konfigurierter oder unautorisierter Switch mit hoher Revisionsnummer die Domäne überschreibt. Version 3 ist daher die empfohlene Variante, wenn VTP überhaupt eingesetzt wird.

Sicherheitsmaßnahmen für VTP-Server

Um die Risiken durch ungewollte Server mit hoher Revisionsnummer zu minimieren, sind mehrere Vorkehrungen zu treffen. Vor dem Einfügen eines neuen oder gebrauchten Switches in eine bestehende Domäne muss dessen Revisionsnummer zurückgesetzt werden. Dies geschieht, indem der Switch in den Transparent-Modus oder in eine andere Domäne mit beliebigem Namen versetzt und anschließend wieder in die eigentliche Domäne zurückgebracht wird. Die Revisionsnummer beginnt dann wieder bei null.

Der Domänenname sollte auf allen Switches explizit gesetzt sein, damit kein Switch versehentlich einen fremden Namen annimmt und unbeabsichtigt Server-Funktionen aufnimmt. In modernen Netzen mit VTP Version 3 sollte der Primary Server festgelegt und die Authentifizierung aktiviert sein, um unbefugte Änderungen zu unterbinden. Viele Administratoren entscheiden sich ganz gegen VTP und betreiben alle Switches im Transparent-Modus oder im Off-Modus, um die VLAN-Verwaltung vollständig lokal und kontrolliert zu halten.

Zusammenfassung

Der VTP-Server ist die zentrale Verwaltungsinstanz in einer VTP-Domäne, auf der VLAN-Änderungen vorgenommen und automatisch an alle anderen Switches verteilt werden. Er speichert die Konfiguration dauerhaft und steuert mit der Revisionsnummer die Synchronisation. Die Kehrseite dieser Automatik ist die Empfindlichkeit gegenüber falsch eingebrachten Switches mit hoher Revisionsnummer, die ungewollt die Datenbank überschreiben können. VTP Version 3 mit dem Primary-Server-Konzept und strikte Betriebsprozesse entschärfen dieses Risiko, während viele Umgebungen aus Sicherheitsgründen vollständig auf VTP verzichten.

Weblinks

Zuletzt geändert: