Cisco: VLAN + trunk troubleshooting
A checklist for troubleshooting VLAN and 802.1Q trunk problems on Cisco IOS switches.
Trunk and VLAN problems on Cisco IOS almost always come down to the same six checks. Work them in order and 90% of issues resolve without deep-dive debugging.
1. Is the port even up?
show interfaces status
show interfaces gi1/0/24
Look for connected and the negotiated speed/duplex. Half-duplex on a modern link almost always means a cable/patch problem.
2. What mode is the port in?
show interfaces gi1/0/24 switchport
show interfaces trunk
Common trap: one side is dynamic auto and the other is dynamic auto — they never negotiate up to trunk. At least one side must be dynamic desirable or you must hardcode both with switchport mode trunk.
3. Are the VLANs actually allowed?
show interfaces trunk
! Look at the "Vlans allowed on trunk" column
If you see only VLAN 1, someone ran switchport trunk allowed vlan 1. Add your VLANs back:
interface gi1/0/24
switchport trunk allowed vlan add 10,20,30
4. Native VLAN mismatch?
show interfaces gi1/0/24 trunk
show cdp neighbors detail | i "Native VLAN"
Cisco logs a CDP warning for a native VLAN mismatch, but traffic can still work — it's a security concern (VLAN hopping) and CDP will flag it every 60 seconds.
5. VTP mode / pruning
show vtp status
If the switch is a VTP client and the server hasn't advertised the VLAN, the VLAN simply doesn't exist locally.
6. Spanning-tree blocking the port?
show spanning-tree interface gi1/0/24 detail
show spanning-tree vlan 10 | i FWD|BLK|LRN
A blocked port carries no data even though the interface is up.
Quick sanity check on the downstream host
! On the switch — is a MAC learned from the port?
show mac address-table interface gi1/0/24
show mac address-table vlan 10
No MAC learned → the host isn't sending frames, or is sending them tagged/untagged differently than expected.
Rule of thumb: 70% of "VLAN not working" issues are (2) mode mismatch or (3) allowed-vlan list. Check those first, always.