Ghid CCNA

VLAN-uri și trunk-uri explicate (802.1Q, native VLAN, inter-VLAN)

VLAN-urile sunt simple ca idee, dar au câteva detalii (native VLAN, lista de VLAN-uri permise, DTP) care strică multe laboratoare și dau multe întrebări de examen.

În ghidul ăsta afli de ce există VLAN-uri, cum lucrează porturile access și trunk, ce conține tag-ul (eticheta) 802.1Q, ce e native VLAN, de ce DTP se oprește, cum se face rutarea între VLAN-uri și ce comenzi Cisco IOS configurezi și verifici. La final ai un tabel de depanare și exerciții cu răspunsuri.

În cursurile CCNA v8 de la Networking Academy, subiectele astea sunt în CCNA 2 · IEN: VLAN-urile și trunk-urile în modulul 3, rutarea între VLAN-uri în modulul 4, iar atacurile de tip VLAN hopping în modulul 11 (securitatea accesului și la nivelul 2).

De ce avem VLAN-uri

Fără VLAN-uri, toate porturile unui switch sunt în aceeași rețea locală și în același domeniu de broadcast. Un broadcast trimis de un PC (de exemplu o cerere ARP sau DHCP) ajunge la toate celelalte. Într-o firmă cu sute de dispozitive asta înseamnă trafic inutil și nicio separare între departamente.

Un VLAN (Virtual LAN) împarte switch-ul, logic, în mai multe rețele separate: porturile din VLAN 10 nu văd frame-urile (cadrele) din VLAN 20. Ce câștigi:

  • domenii de broadcast mai mici: un broadcast rămâne în VLAN-ul lui;
  • securitate: între VLAN-uri traficul trece printr-un dispozitiv de nivel 3, unde poți pune reguli (ACL-uri);
  • organizare: VLAN-ul urmează funcția (Vânzări, Contabilitate, Telefonie), nu locul fizic;
  • cost mai mic: aceleași switch-uri servesc mai multe rețele.

Regula de bază: un VLAN = un domeniu de broadcast = o subrețea IP. Dacă ai nevoie de ajutor la împărțirea adreselor, vezi ghidul de subnetting pas cu pas.

Tipuri și intervale de VLAN-uri

Termen Ce înseamnă
VLAN implicit (default) VLAN 1. La început toate porturile sunt în el. Nu poate fi șters sau redenumit.
VLAN de date VLAN pentru traficul utilizatorilor (PC-uri, imprimante).
VLAN de voce VLAN separat pentru telefoanele IP, ca vocea să poată primi prioritate.
VLAN de management VLAN prin care accesezi switch-ul (SSH, SNMP), cu o adresă IP pe interfața lui virtuală.
Native VLAN VLAN-ul frame-urilor fără tag de pe un trunk (implicit VLAN 1).
Interval normal VLAN 1–1005 (1002–1005 sunt rezervate pentru tehnologii vechi și nu pot fi șterse).
Interval extins VLAN 1006–4094.

Pe majoritatea switch-urilor Catalyst, VLAN-urile din intervalul normal se salvează în fișierul vlan.dat din memoria flash, separat de configurația de rulare.

Porturi access și porturi trunk

Portul access aparține unui singur VLAN de date. Frame-urile ies și intră pe el fără tag, deci dispozitivul conectat (un PC, de exemplu) nici nu știe că există VLAN-uri. Switch-ul ține minte, intern, în ce VLAN e fiecare port.

Portul trunk duce mai multe VLAN-uri pe același cablu. Ca switch-ul de la celălalt capăt să știe din ce VLAN vine fiecare frame, frame-urile sunt marcate cu un tag. Trunk-urile leagă de obicei switch-uri între ele sau un switch de un router.

PC-A (VLAN 10) ---access---+        trunk 802.1Q         +---access--- PC-C (VLAN 10)
                           S1 ======================== S2
PC-B (VLAN 20) ---access---+    (duce VLAN 10 și 20)     +---access--- PC-D (VLAN 20)

PC-A și PC-C sunt în aceeași rețea, deși sunt pe switch-uri diferite. PC-A și PC-B sunt pe același switch, dar în rețele diferite: fără un router sau un switch Layer 3 nu pot comunica.

Tag-ul 802.1Q

Standardul IEEE 802.1Q inserează în frame-ul Ethernet un tag de 4 octeți, între adresa MAC sursă și câmpul tip (EtherType):

Fără tag:   | MAC dest. | MAC sursă |        | Tip | Date | FCS |
Cu 802.1Q:  | MAC dest. | MAC sursă | Tag 4B | Tip | Date | FCS |
Câmp Biți Rol
TPID 16 valoarea 0x8100, care spune „urmează un tag 802.1Q”
PCP (prioritate) 3 prioritatea frame-ului (CoS, 0–7), folosită la QoS, de exemplu pentru voce
DEI 1 marchează frame-urile care pot fi aruncate primele la congestie
VLAN ID 12 numărul VLAN-ului: 2^12 = 4.096 de valori, din care 1–4094 utilizabile

Pentru că tag-ul schimbă conținutul frame-ului, switch-ul recalculează FCS-ul. Frame-ul maxim crește de la 1.518 la 1.522 de octeți.

Native VLAN

Pe un trunk 802.1Q, un singur VLAN circulă fără tag: native VLAN. Orice frame primit fără tag pe un trunk e considerat al VLAN-ului nativ. Implicit, native VLAN e VLAN 1.

Trei reguli practice:

  1. Native VLAN trebuie să fie același la ambele capete. Dacă un capăt are 1 și celălalt 99, frame-urile fără tag „sar” dintr-un VLAN în altul. CDP observă asta și afișează un mesaj de tip %CDP-4-NATIVE_VLAN_MISMATCH.
  2. Schimbă native VLAN de pe VLAN 1 pe un VLAN dedicat, în care nu pui niciun utilizator (de exemplu 999). Asta reduce riscul atacului double tagging: un atacator conectat la un port din VLAN-ul nativ trimite un frame cu două tag-uri; primul switch îl scoate pe cel exterior (al VLAN-ului nativ, care pleacă pe trunk fără tag), iar al doilea switch îl citește pe cel interior și livrează frame-ul într-un alt VLAN.
  3. Nu folosi native VLAN pentru date sau management.

Lista de VLAN-uri permise

Implicit, un trunk lasă să treacă toate VLAN-urile. E mai sigur și mai curat să permiți doar ce ai nevoie:

S1(config-if)# switchport trunk allowed vlan 10,20,99,999
S1(config-if)# switchport trunk allowed vlan add 30
S1(config-if)# switchport trunk allowed vlan remove 20

Capcana clasică: switchport trunk allowed vlan 30 fără add înlocuiește toată lista. Trunk-ul care ducea 10, 20 și 99 va duce doar 30, iar utilizatorii din celelalte VLAN-uri rămân brusc fără rețea. Când adaugi, scrie mereu add.

DTP și de ce îl oprești

DTP (Dynamic Trunking Protocol) e un protocol Cisco care negociază automat dacă o legătură devine trunk. Modurile portului:

Comandă Ce face portul
switchport mode access rămâne access, indiferent de celălalt capăt
switchport mode trunk devine trunk și anunță prin DTP că vrea trunk
switchport mode dynamic desirable cere activ trunk; devine trunk dacă vecinul e trunk, desirable sau auto
switchport mode dynamic auto așteaptă; devine trunk doar dacă vecinul cere (trunk sau desirable)
switchport nonegotiate oprește mesajele DTP (se folosește cu modul access sau trunk)

Rezultatul combinațiilor:

Capătul A \ Capătul B dynamic auto dynamic desirable trunk access
dynamic auto access trunk trunk access
dynamic desirable trunk trunk trunk access
trunk trunk trunk trunk conectivitate limitată
access access access conectivitate limitată access

Pe multe switch-uri Catalyst (de exemplu seria 2960), modul implicit e dynamic auto. Două switch-uri noi legate între ele nu formează singure un trunk, pentru că amândouă așteaptă. E o întrebare foarte des întâlnită.

De ce oprești DTP: dacă un port de utilizator negociază, un atacator poate pretinde că e switch (switch spoofing), formează un trunk și primește trafic din toate VLAN-urile. Practica recomandată:

  • porturile de utilizator: switchport mode access (opțional și switchport nonegotiate);
  • trunk-urile: switchport mode trunk și switchport nonegotiate;
  • porturile nefolosite: shutdown și mutate într-un VLAN nefolosit.

VLAN-ul de voce

Când PC-ul e legat prin telefonul IP, pe același port trec două fluxuri. Soluția e un port access cu VLAN de voce:

S1(config)# interface FastEthernet0/5
S1(config-if)# switchport mode access
S1(config-if)# switchport access vlan 10
S1(config-if)# switchport voice vlan 150

Telefonul află VLAN-ul de voce de la switch prin CDP (sau LLDP-MED) și își marchează traficul cu tag-ul 802.1Q al VLAN-ului 150, inclusiv cu prioritatea din câmpul PCP. Traficul PC-ului rămâne fără tag, în VLAN 10.

Configurare completă pe un switch

Exemplul de mai jos creează două VLAN-uri de date, un VLAN de management și un VLAN nativ, pune porturile în VLAN-uri și configurează trunk-ul spre alt switch.

S1# configure terminal
S1(config)# vlan 10
S1(config-vlan)# name VANZARI
S1(config-vlan)# exit
S1(config)# vlan 20
S1(config-vlan)# name CONTABILITATE
S1(config-vlan)# exit
S1(config)# vlan 99
S1(config-vlan)# name MANAGEMENT
S1(config-vlan)# exit
S1(config)# vlan 999
S1(config-vlan)# name NATIV
S1(config-vlan)# exit
S1(config)# interface range FastEthernet0/1 - 10
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 10
S1(config-if-range)# exit
S1(config)# interface range FastEthernet0/11 - 20
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 20
S1(config-if-range)# exit
S1(config)# interface GigabitEthernet0/1
S1(config-if)# switchport mode trunk
S1(config-if)# switchport trunk native vlan 999
S1(config-if)# switchport trunk allowed vlan 10,20,99,999
S1(config-if)# switchport nonegotiate
S1(config-if)# exit
S1(config)# interface vlan 99
S1(config-if)# ip address 192.168.99.11 255.255.255.0
S1(config-if)# no shutdown
S1(config-if)# exit
S1(config)# ip default-gateway 192.168.99.1
S1(config)# end
S1# copy running-config startup-config

Câteva detalii utile:

  • Pe switch-urile care suportă și ISL (vechea metodă Cisco de trunking), înainte de switchport mode trunk trebuie să alegi încapsularea: switchport trunk encapsulation dot1q. Pe seria 2960 comanda nu există, pentru că știe doar 802.1Q.
  • Dacă atribui un port unui VLAN care nu există, switch-ul îl creează automat și te anunță.
  • no vlan 20 șterge VLAN-ul, dar porturile rămân atribuite lui și devin inactive. Mută-le întâi în alt VLAN.
  • Interfața vlan 99 (o SVI) și ip default-gateway îți permit să administrezi switch-ul de la distanță. Un switch Layer 2 nu rutează, deci are nevoie de gateway ca să răspundă dispozitivelor din alte rețele.

Verificarea

Comandă Ce vezi
show vlan brief VLAN-urile existente, numele, starea și porturile access din fiecare (trunk-urile nu apar aici)
show interfaces trunk porturile trunk, modul, încapsularea, native VLAN, VLAN-urile permise și cele active
show interfaces FastEthernet0/5 switchport modul administrativ și operațional, VLAN-ul access, native VLAN, VLAN-ul de voce, dacă negociază

Un exemplu de ieșire pentru trunk-ul configurat mai sus:

S1# show interfaces trunk

Port        Mode         Encapsulation  Status        Native vlan
Gi0/1       on           802.1q         trunking      999

Port        Vlans allowed on trunk
Gi0/1       10,20,99,999

Port        Vlans allowed and active in management domain
Gi0/1       10,20,99,999

Port        Vlans in spanning tree forwarding state and not pruned
Gi0/1       10,20,99,999

„Mode on” = trunk static. Un VLAN prezent la „allowed”, dar absent din „allowed and active”, probabil nu e creat pe switch.

Rutarea între VLAN-uri

VLAN-urile sunt rețele separate, deci au nevoie de un dispozitiv de nivel 3 ca să comunice. Sunt trei variante.

1. Varianta veche: câte o interfață de router pentru fiecare VLAN

Fiecare VLAN folosește un cablu și o interfață separată a routerului. Nu scalează.

2. Router-on-a-stick

Un singur cablu, configurat trunk pe switch, iar pe router interfața fizică se împarte în subinterfețe, câte una pentru fiecare VLAN. Fiecare subinterfață știe ce tag să citească și să pună (encapsulation dot1Q) și are adresa de gateway a VLAN-ului ei.

R1(config)# interface GigabitEthernet0/0/1.10
R1(config-subif)# description Gateway VLAN 10
R1(config-subif)# encapsulation dot1Q 10
R1(config-subif)# ip address 192.168.10.1 255.255.255.0
R1(config-subif)# exit
R1(config)# interface GigabitEthernet0/0/1.20
R1(config-subif)# description Gateway VLAN 20
R1(config-subif)# encapsulation dot1Q 20
R1(config-subif)# ip address 192.168.20.1 255.255.255.0
R1(config-subif)# exit
R1(config)# interface GigabitEthernet0/0/1.99
R1(config-subif)# encapsulation dot1Q 99
R1(config-subif)# ip address 192.168.99.1 255.255.255.0
R1(config-subif)# exit
R1(config)# interface GigabitEthernet0/0/1.999
R1(config-subif)# encapsulation dot1Q 999 native
R1(config-subif)# exit
R1(config)# interface GigabitEthernet0/0/1
R1(config-if)# no shutdown

De reținut:

  • numărul subinterfeței (.10) e doar un nume; contează VLAN-ul din encapsulation dot1Q 10 (ține-le identice);
  • interfața fizică nu primește adresă IP, dar trebuie pornită cu no shutdown; subinterfețele urmează starea ei;
  • encapsulation dot1Q 999 native spune routerului că VLAN-ul nativ e 999, la fel ca pe switch;
  • routerul nu negociază DTP, deci portul switch-ului spre router trebuie pus manual switchport mode trunk;
  • PC-urile din VLAN 10 au gateway 192.168.10.1, iar cele din VLAN 20 au 192.168.20.1.

Verificarea: show ip interface brief (subinterfețele trebuie să fie up/up), show ip route (câte o rețea conectată „C” pentru fiecare VLAN) și show vlans pe router (cu „s”; pe switch comanda e show vlan brief).

Limita: traficul dintre VLAN-uri trece de două ori prin același cablu, deci într-o rețea mare devine gâtul sticlei.

3. Switch Layer 3 cu SVI

Un switch multilayer poate ruta singur. Pentru fiecare VLAN creezi o SVI (Switch Virtual Interface), adică o interfață virtuală interface vlan X, cu adresa de gateway a VLAN-ului, și pornești rutarea:

D1(config)# ip routing
D1(config)# interface vlan 10
D1(config-if)# ip address 192.168.10.1 255.255.255.0
D1(config-if)# no shutdown
D1(config-if)# exit
D1(config)# interface vlan 20
D1(config-if)# ip address 192.168.20.1 255.255.255.0
D1(config-if)# no shutdown
D1(config-if)# exit
D1(config)# interface GigabitEthernet1/0/24
D1(config-if)# no switchport
D1(config-if)# ip address 10.0.0.1 255.255.255.252
D1(config-if)# no shutdown
  • ip routing e obligatoriu; fără el switch-ul are adrese în fiecare VLAN, dar nu rutează între ele.
  • O SVI e up/up doar dacă VLAN-ul există și cel puțin un port din acel VLAN (access sau trunk care îl duce) e activ și în starea STP forwarding, iar SVI-ul nu are shutdown.
  • no switchport transformă un port fizic într-un port rutat, ca o interfață de router, util spre un router sau spre alt switch Layer 3.
Variantă Avantaje Dezavantaje
O interfață de router pe VLAN simplu de înțeles multe cabluri și interfețe, nu scalează
Router-on-a-stick un singur cablu, ieftin toată rutarea pe o singură legătură, gâtuire
Switch Layer 3 cu SVI rapid (rutare în hardware), scalează switch mai scump

Depanare: greșeli frecvente

Simptom Cauza probabilă Cum verifici și repari
Un PC nu comunică cu altele din „același” VLAN portul e în VLAN-ul greșit show vlan brief, apoi switchport access vlan X
Un grup de porturi s-a oprit brusc VLAN-ul lor a fost șters show vlan brief (porturile nu mai apar) → recreezi VLAN-ul sau muți porturile
Legătura dintre switch-uri nu e trunk ambele capete sunt dynamic auto sau un capăt e access show interfaces trunk, show interfaces g0/1 switchport → switchport mode trunk
Mesaje „native VLAN mismatch” native VLAN diferit la cele două capete show interfaces trunk pe ambele switch-uri → același switchport trunk native vlan
Un VLAN merge pe un switch, dar nu trece pe trunk VLAN-ul nu e în lista permisă sau nu e creat pe celălalt switch show interfaces trunk → switchport trunk allowed vlan add X, vlan X
Router-on-a-stick: nimic nu merge interfața fizică e oprită sau portul switch-ului nu e trunk show ip interface brief, no shutdown, switchport mode trunk
Un singur VLAN nu ajunge la router VLAN greșit în encapsulation dot1Q show vlans pe router (cu „s”), show running-config
PC-ul își vede gateway-ul, dar nu alt VLAN ip routing lipsă pe switch-ul Layer 3 sau gateway greșit pe PC show ip route, configurația PC-ului
SVI în starea down/down VLAN inexistent sau niciun port activ în VLAN show vlan brief, show ip interface brief

Exerciții

  1. PC-urile din VLAN 10 de pe S1 și S2 nu comunică între ele. Pe trunk, show interfaces trunk arată „Vlans allowed on trunk: 1,20,30”. Care e problema și ce comandă o rezolvă fără să afecteze celelalte VLAN-uri?
  2. Legi două switch-uri 2960 noi, cu configurația implicită (dynamic auto pe ambele). Se formează trunk? Ce faci ca să fie trunk?
  3. Scrie configurația de router-on-a-stick pentru VLAN 30, cu rețeaua 192.168.30.0/24 și gateway-ul .1, pe interfața GigabitEthernet0/0/0.
  4. Câte valori are câmpul VLAN ID din 802.1Q și câte VLAN-uri poți folosi efectiv? De ce?
  5. Pe un trunk care ducea VLAN-urile 10, 20 și 30 cineva a scris switchport trunk allowed vlan 40. Ce se întâmplă și cum trebuia scrisă comanda?
Răspunsuri

1. VLAN 10 nu e permis pe trunk. Pe interfața trunk, la ambele capete dacă e nevoie: switchport trunk allowed vlan add 10. Fără add, ai înlocui lista și ai tăia VLAN-urile 1, 20 și 30.

2. Nu. Două porturi dynamic auto așteaptă fiecare ca celălalt să ceară trunk, deci legătura rămâne access. Pui cel puțin un capăt (ideal ambele) pe switchport mode trunk, apoi switchport nonegotiate.

3.

R1(config)# interface GigabitEthernet0/0/0.30
R1(config-subif)# encapsulation dot1Q 30
R1(config-subif)# ip address 192.168.30.1 255.255.255.0
R1(config-subif)# exit
R1(config)# interface GigabitEthernet0/0/0
R1(config-if)# no shutdown

Portul switch-ului spre router trebuie să fie trunk și să permită VLAN 30.

4. Câmpul are 12 biți, deci 2^12 = 4.096 valori. 0 și 4095 sunt rezervate, deci rămân 4.094 VLAN-uri (1–4094).

5. Lista permisă devine doar VLAN 40; VLAN-urile 10, 20 și 30 nu mai trec pe trunk. Corect: switchport trunk allowed vlan add 40.

Cum le înveți cel mai repede

  • Construiește același laborator de trei ori: cu router-on-a-stick, cu switch Layer 3 și stricat intenționat (native VLAN diferit, VLAN lipsă de pe trunk), apoi reparat doar cu comenzi show.
  • Învață pe de rost tabelul DTP.
  • Leagă VLAN-urile de straturi: trunk-urile sunt stratul 2, rutarea între VLAN-uri e stratul 3. Vezi modelul OSI vs TCP/IP.
  • Stăpânește comenzile de bază din fișa cu comenzile Cisco IOS.

Exersează VLAN-urile în aplicația Routerel

Routerel are peste 1.900 de întrebări pentru CCNA 1 · ITN, CCNA 2 · IEN și CCNA 3 · CEN, cu scheme de rețea și configurații pe care le poți mări și cu explicație imediat după răspuns. Greșelile revin singure prin repetiție spațiată până le stăpânești, iar simularea de examen cu timp îți arată unde stai. Abonații noi au 7 zile gratuite, cu acces la tot.

Descoperă aplicația

Întrebări frecvente

Ce este un VLAN?

O rețea locală logică creată pe un switch. Porturile din VLAN-uri diferite sunt separate ca și cum ar fi pe switch-uri diferite: fiecare VLAN are propriul domeniu de broadcast și, de obicei, propria subrețea IP.

Care e diferența dintre un port access și un port trunk?

Un port access aparține unui singur VLAN de date și trimite frame-uri fără tag; acolo conectezi PC-uri, imprimante sau servere. Un port trunk transportă mai multe VLAN-uri pe același cablu, marcând frame-urile cu un tag 802.1Q; îl folosești între switch-uri sau între switch și router.

Ce este native VLAN?

VLAN-ul căruia îi aparțin frame-urile trimise fără tag pe un trunk 802.1Q. Implicit e VLAN 1. Trebuie să fie același la ambele capete ale trunk-ului și e bine să fie un VLAN nefolosit de utilizatori.

De ce se recomandă dezactivarea DTP?

DTP negociază automat dacă un port devine trunk. Un atacator conectat la un port care negociază ar putea forma un trunk și ar primi trafic din toate VLAN-urile. De aceea porturile se configurează explicit ca access sau trunk, iar pe trunk-uri se oprește negocierea cu switchport nonegotiate.

Cum comunică două VLAN-uri între ele?

Doar printr-un dispozitiv de nivel 3: un router cu subinterfețe pe un trunk (router-on-a-stick) sau un switch Layer 3 cu interfețe SVI și rutarea pornită cu ip routing.

Câte VLAN-uri pot exista?

Câmpul VLAN ID are 12 biți, deci 4.096 de valori. 0 și 4095 sunt rezervate, așa că rămân VLAN-urile 1–4094: intervalul normal 1–1005 și cel extins 1006–4094. Pentru locul VLAN-urilor în examen, vezi ghidul despre CCNA.


Routerel este o aplicație independentă și nu este afiliată, sponsorizată sau aprobată de Cisco Systems, Inc. Cisco, CCNA, Cisco IOS, Catalyst și Networking Academy sunt mărci înregistrate ale Cisco Systems, Inc.