logo-jonsch

VLAN-Datenbanken mit VTP austauschen



Beitragsbaum



VLAN Trunking Protocol?

Durch das proprietäre VLAN Trunking Protocol (VTP) von Cisco, wird die Einrichtung und Administration von VLAN-Infrastrukturen enorm vereinfacht und die Verteilung der VLAN Informationen komplett automatisiert. Dafür wird auf einem managebarem Switch oder Router eine so genannte VTP-Domain eingerichtet und dieser wird im gleichen Zuge als Server der VTP-Domain bestimmt. Oft mals nimmt ein Router diesen Part als Server für diese VTP-Funktion ein. Die am Router angeschlossenen Switche werden als Client konfiguriert und empfangen dann die vom Router generierten VTP-Pakete bei Veränderungen der VLAN-Konfiguration.


Im Endeffekt müssen nur noch VLAN-Änderungen auf dem VTP-Server, also dem Router, durchgeführt werden, damit diese dann an alle in der domainbefindlichen Clients automatisch verteilt werden und eine Konvergenz stattfinden kann. Damit jedoch dieses Prozedere fehlerfrei durchgeführt werden kann, müssen sich alle Clients in der selben VTP-Domain mit der selben VTP-Version befinden wie der Server selbst. Die VTP-Informationen werden über eine standardisierte Multicast Adresse 01-00-0C-CC-CC-CC verteilt.


Bei Veränderungen werden die Informationen zu den VLAN’s über die oben genannte Multicast Adresse an alle Clients versendet. Der Nachteil ist jedoch hier, dass die Clients auch unnötigen Unicast und Broadcast Verkehr der VLAN’s empfangen. Da der Verkehr von Broadcast Adressen allgemein immer entgegengenommen wird und dies ab einer gewissen Masse, ein Netzwerkgerät stark einschränken kann, wird die Funktion des Pruning Mode verwendet, um solchen eher unnötigen Verkehr zu unterbinden und somit die Netzwerkgeräte zu entlasten.


Konfigurationsbeispiel

In diesem Konfigurationsbeispiel wird VTP auf einem Router, der als VTP-Server dient und auf einem Switch, der die Zugehörigkeit als VTP-Client zugeteilt bekommt, konfiguriert. Als Erstes wird nachgeschaut, ob sich überhaupt schon eine VTP-Konfiguration auf dem Server und dem Client befindet. Falls auf dem Befehl hin eine Fehlermeldung ausgespuckt wird, ist kein VTP eingerichtet. Man kann diese Informationen anhand des show Befehls auf dem jeweiligen Netzwerkgerät einsehen.

# show vtp status



VTP Mode festlegen

Durch das Festlegen des Routers als VTP-Server, können sämtliche VLAN-Konfigurationen nur auf diesem angelegt oder angepasst werden. Außerdem nimmt dieser durch die Deklarierung die Verteilung der VLAN-Informationen an die VTP-Clients der Domain auf sich.

(config)# vtp mode server



VTP Version bestimmen

Als Nächstes muss die Version der VTP-Domain bestimmt werden. Man unterscheidet hier zwischen den Versionen 1 bis 3.

  • Die Version 1 unterstützt eine VLAN Reichweite bis maximal 1000 VLAN ID’s und kein Token Ring VLAN.
  • Die Version 2 allerdings untersützt zusätzlich Token Ring VLAN’s
  • Die Version 3 untersützt eine VLAN Reichweite bis maximal 4096 VLAN ID’s und das Verwenden der Zusatzfunktion hidden und secret bei der Konfiguration des VTP-Passwortes.

Durch die Angabe hidden erscheint das Passwort nicht in Klartext in der Konfigurationsdatei und durch die Angabe secret wird das Passwort als MD5 Hashwert in der Konfigurationsdatei abgelegt.

In meinem Beispiel wird die Version 2 verwendet.

(config)# vtp version 2



VTP Domain erstellen

Damit der VTP-Server konfiguriert werden kann, muss man sich vorher einen sinnvollen Domainnamen überlegen. In meinem Beispiel wird die VTP-Domain VD_TEST verwendet.

(config)# vtp domain VD_TEST



VTP Passwort setzen

Das dazugehörige Passwort für die VTP-Domain in diesem Beispiel ist PW_TEST und wird folgendermaßen konfiguriert.

(config)# vtp password PW_TEST



Allerdings wird dieses meistens nur „verschlüsselt“ angezeigt.

# show vtp password



VTP Pruning aktivieren

Jedoch gibt es ein ein altbekanntes Problem mit VTP bezüglich VLAN’s und deren Broadcast-Domains. Alle Router und Switche in der gleichen VTP-Domain befinden sich auch gleichzeitig in der selben Broadcast-Domain. Sobald nun auf einer Schnittstelle mit der VLAN ID 2 ein Broadcast entsandt wird, wird dieser Broadcast pauschal an die komplette Broadcast-Domain verteilt.


Das heißt, alle Router und Switche, selbst die die dieses VLAN nicht ein mal für eine Ihrer Schnittstellen verwenden und nur als VLAN in ihrer VLAN-Datenbank konfiguriert haben, werden nun mit dieser Information über die Trunks versorgt.


Das mag sich jetzt nicht wirklich viel anhören, jedoch muss man sich das mit einem Netzwerk von mehreren hundert Switchen und VLAN’s vorstellen. Der Verkehr könnte schnell zu einem Problem werden und die Switche von Ihrer Leistung sehr stark bis zu einem erfolgreichen Absturz beeinträchtigt werden.


Damit solche Schreckensszenarien verhindert werden können, nutzt man die Funktion des VTP-Pruning. Dank dieser Zusatzfunktion werden Broadcasts eines VLAN’s nur an die Router und Switche, also VTP-Clients, übermittelt, welche auch wirklich das VLAN für Ihre Schnittstellen verwenden und nicht nur in ihrer VLAN-Datenbank konfiguriert haben. Falls dies nicht der Fall ist, sorgt VTP-Pruning für einen Stopp der Weiterleitung über den Trunk an die Geräte, die nicht betroffen sind.

(config)# vtp pruning



VTP Konfiguration überprüfen

Als Letztes kann man sich den Status und die Konfiguration nochmal anzeigen lassen und überprüfen, ob alles soweit passt.


VTP-Konfiguration am Router:

# show vtp status



  • VTP Version : 3 (capable)
  • Configuration Revision : 110
  • Maximum VLANs supported locally : 1005
  • Number of existing VLANs : 48
  • VTP Operating Mode : Server
  • VTP Domain : VD_TEST
  • VTP Pruning Mode : Enabled (Operationally Enabled)
  • VTP V2 Mode : Enabled
  • VTP Traps Generation : Enabled
  • MD5 digest : 0x29 0xFF 0x31 0x8T 0x4F 0x32 0x24 0x38
  • VTP version running : 2

VTP-Konfiguration am Switch:

# show vtp status



  • VTP Version : 1to3
  • VTP version running : 2
  • VTP Domain : VD_TEST
  • VTP Pruning Mode : Enabled (Operationally Enabled)
  • VTP Traps Generation : Disabled
  • Device ID : 0101.0101.0101
  • Feature VLAN : Client
  • VTP Operating Mode : Enabled
  • Maximum VLANs supported locally : 1005
  • Number of existing VLANs : 48
  • Configuration Revision : 107
  • MD5 digest : 0x29 0xFF 0x31 0x8T 0x4F 0x32 0x24 0x38

Configuration Revision

Die Revisionsnummer startet nach der Erstkonfiguration mit dem Wert Null und steigt nach jeder Konfiguration und Änderung der VTP Konfiguration um eins.


Wieso sollte dies nun wichtig sein für die VTP Konfiguration? – Ganz einfach.


Sobald man mehrere Server in einer VTP-Domain besitzt, wird anhand der Rvisionsnummer bestimmt, welcher Server priorisiert wird für die Verteilung der VLAN Informationen. Beispielsweise würde Router 1 mit dem Wert von 107 zu dem Router 2 mit 105 gewinnen. Somit würde Router 1 die VLAN Informationen an die Clients und dann den Router 2 verteilen oder auch gegebenenfalls überschreiben.


… und jetzt kommen wir zu dem Punkt warum es wichtig ist, auf diese zu achten.


Wenn Router 1 mit der höheren Revisionsnummer gewinnt, würde er die vollständige VLAN Datenbank des anderen VTP-Server, in dem Fall die des Router 2, überschreiben. Das führt in den meisten Fällen zu fehlerhaften VLAN ID’s und daraufhin auf Konflikte des Datenverkehrs. Darauf sollte dringend geachtet werden!


over & out,
jonsch