Weird Things on Cisco Switches – Case study #2: VTP
Thursday, November 05th, 2009 | Author:

Pe un switch Cisco putem configura VLAN-uri (Virtual LANs) pentru a segmenta rețeaua în mai multe domenii de broadcast. VLAN-urile pentru Ethernet sunt de la 1 la 1001 dar există și VLAN-urile extinse, de la 1006 la 4096 (protocolul de trunking IEEE 802.1Q suportă până la 4096 valori) ce pot fi folosite.

Pentru ca un frame să circule în rețeaua de switch-uri, toate switch-urile trebuie să știe de VLAN-ul de care aparține respectivul frame. VTP (VLAN Trunking Protocol), proprietar Cisco, este un protocol care propagă în rețea lista de VLAN-uri. Astfel, în loc de a adăuga fiecare VLAN manual pe fiecare switch,  VTP face treaba pentru noi.

Ce este uneori ciudat este locul unde sunt stocate intrările pentru VLAN-uri. Curiculumul CCNA, în mare, spune că ele nu sunt salvate în running-config din NVRAM ci în fișierul vlan.dat din Flash. Astfel, atunci când trebuie să resetăm switch-ul, trebuie să ștergem și running-config și vlan.dat. Primul lucru de reținut este faptul că VLAN-urile extinse (1006-4096) NU sunt stocate în vlan.dat ci în running-config, deci, dacă se șterge vlan.dat , acestea vor rămâne.

Un alt lucru ciudat l-am observat la o resetare de switch-uri. Dacă există o rețea de switch-uri, conectate și configurate cu VTP, este greu de șters baza de date de VLAN-uri. Atunci când ștergem flash:vlan.dat de pe un switch și îl repornim (pentru că am șters și startup-config), vom vedea că rămân VLAN-urile, motivul fiind preluarea lor din VTP de la celelalte switch-uri, neresetate.

Pentru a putea reseta switch-urile, ar trebui să le trecem in VTP Transparent mode, pentru a nu mai lua de la vecini VLAN-urile. Și aici intervine excepția Cisco: dacă switch-ul este în Transparent, orice VLAN adăugat va fi configurat în running-config (deci înclusiv cele cu ID mai mic decât 1001). Aceste VLAN-uri nu vor fi afectate de ștergerea vlan.dat, deci s-ar putea să rămână active fără să vă dați seama de ce.

Explicația vine, probabil, din faptul că VTP-ul nu transmite în rețea VLAN-urile extinse, deci, switch-ul va încerca să țină în vlan.dat doar ceea ce trimite prin VTP și restul să fie plasat în running-config.