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:
- 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. - 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.
- 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 șiswitchport nonegotiate); - trunk-urile:
switchport mode trunkșiswitchport 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 trunktrebuie 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) șiip 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 dinencapsulation 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 nativespune 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 au192.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 routinge 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 switchporttransformă 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
- PC-urile din VLAN 10 de pe S1 și S2 nu comunică între ele. Pe trunk,
show interfaces trunkarată „Vlans allowed on trunk: 1,20,30”. Care e problema și ce comandă o rezolvă fără să afecteze celelalte VLAN-uri? - Legi două switch-uri 2960 noi, cu configurația implicită (dynamic auto pe ambele). Se formează trunk? Ce faci ca să fie trunk?
- 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țaGigabitEthernet0/0/0. - Câte valori are câmpul VLAN ID din 802.1Q și câte VLAN-uri poți folosi efectiv? De ce?
- 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.
Î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.