- Comportamiento por defecto: todas las interfaces pertenecen a la VLAN 1. La VLAN 1 es la VLAN por defecto y no puede eliminarse.
- Para Voice VLAN: CDP habilitado en el puerto (ver CDP & LLDP - Configuración) e idealmente PoE si el teléfono se alimenta por el cable.
- Troncal (trunk): enlace que transporta el tráfico de varias VLANs entre switches, etiquetando cada trama con su VLAN (802.1Q).
- VLAN nativa: la única VLAN cuyo tráfico viaja sin etiqueta por el troncal. Por defecto es la VLAN 1.
- Encapsulación dot1q: el estándar de etiquetado (802.1Q). ISL es la antigua encapsulación propietaria de Cisco, hoy en desuso.
- DTP: protocolo de Cisco que negocia automáticamente si un enlace se vuelve troncal o de acceso.
Voice VLAN: Cómo funciona
Un teléfono IP tiene un switch interno: un puerto va al switch de la red y otro a la PC del usuario. En el puerto del switch se configuran dos VLANs sobre el mismo cable:
- VLAN de datos (acceso): tráfico de la PC, viaja sin etiqueta.
- VLAN de voz: tráfico del teléfono, viaja etiquetado 802.1Q.
No es un troncal: es un puerto de acceso con una VLAN de voz auxiliar. El switch le comunica al teléfono qué VLAN de voz usar a través de CDP (o por DHCP).
Rangos de VLAN
Los identificadores válidos van de 1 a 4094:
- Rango normal: 1 - 1005 (Standard VLANs) = Utilizables: 1 - 1001
- Reservadas: 1002 - 1005 (Token Ring y FDDI, heredadas)
- Rango extendido: 1006 - 4094
SEGURIDAD antes de empezar
Usar el comando Switch(config)# vtp mode transparent para evitar arruinar las VLANs.
VLANs
1. Crear una VLAN y nombrarla
Verificar primero que la VLAN no esta siendo usada, aparece en Switch# show vlan brief.
-
Comando:
Switch(config)# vlan <número-de-vlan> -
Comando:
Switch(config-vlan)# name <nombre-de-vlan> -
Ejemplo:
Switch(config)# vlan 10 -
Ejemplo:
Switch(config-vlan)# name VLAN_INGENIEROS
Para eliminar una VLAN, usar
Switch(config)# no vlan <Numero-VLAN>
2. Asignar un puerto de acceso a una VLAN (Hacia EndPoint)
- Comando:
Switch(config-if)# switchport mode access=Fija el puerto como de acceso, Ponlo siempre en puertos de endpoint. - Comando:
Switch(config-if)# switchport access vlan <número-de-vlan>
Switch(config)# interface fastEthernet 0/1 = Elegir interface
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Para asignar varios puertos a la vez, usar
Switch(config)# interface range fastEthernet 0/2 - 8y seguir con el resto de comandos usados.
Para quitar la asignación de un puerto y devolverlo a la VLAN 1:Switch(config-if)# no switchport access vlan
Al borrar una VLAN, los puertos que la tenían asignada quedan inactivos hasta reasignarlos. No vuelven solos a la VLAN 1. Ver Troubleshooting, caso 6.
3. Configurar un enlace troncal (Hacia Router, Switches, APs, etc)
Los mismos comandos se aplican en las interfaces de los dos Routers, Switches, APs, del enlace.
-
Comando:
switchport mode trunk=Fija el puerto como de trunk, Ponlo siempre en puertos hacia Switches, Routers, APs, etc. -
Comando:
Switch(config-if)# switchport trunk encapsulation dot1q -
Comando:
Switch(config-if)# switchport trunk native vlan <número-de-vlan> -
Comando:
Switch(config-if)# switchport trunk allowed vlan <lista-de-vlans> -
Ejemplo:
Switch(config-if)# switchport trunk native vlan 99 -
Ejemplo:
Switch(config-if)# switchport trunk allowed vlan 10,20-50,70,100
Switch(config)# interface fastEthernet 0/1 = Elegir interface
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport nonegotiate
Switch(config-if)# switchport trunk native vlan <número-de-vlan>
Switch(config-if)# switchport trunk allowed vlan <lista-de-vlans>
Agregar o quitar VLANs sin reescribir toda la lista:
Switch(config-if)# switchport trunk allowed vlan add <número-de-vlan> = Agregar
Switch(config-if)# switchport trunk allowed vlan remove <número-de-vlan> = Quitar
4. Configurar datos y voz en el puerto (Hacia el Telefono)
-
Comando:
Switch(config-if)# switchport access vlan <vlan-de-datos> -
Comando:
Switch(config-if)# switchport voice vlan <vlan-de-voz> -
Ejemplo:
Switch(config-if)# switchport access vlan 20 -
Ejemplo:
Switch(config-if)# switchport voice vlan 30
Switch(config)# interface fastethernet 0/10
Switch(config-if)# description (Describir hacia donde va esto)
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# switchport voice vlan 30
Switch(config-if)# spanning-tree portfast
switchport access vlan 20: VLAN de datos (la PC).switchport voice vlan 30: VLAN de voz (el teléfono).
5. Confianza de QoS hacia el teléfono (Opcional para Voice-VLAN)
- Requisitos: el puerto debe estar en modo acceso, con VLAN de voz y con CDP activo.
Plataforma moderna (Catalyst 9000, 3650/3850):
Switch(config)# interface <puerto>
Switch(config-if)# switchport voice vlan <vlan-voz>
Switch(config-if)# trust device cisco-phone
Plataforma antigua (2960, 3560):
Switch(config)# mls qos
Switch(config)# interface <puerto-numero>
Switch(config-if)# switchport voice vlan <vlan-voz>
Switch(config-if)# mls qos trust device cisco-phone
Switch(config-if)# mls qos trust cos
Ver QoS - Configuración para el detalle.
Ejemplos
Ejemplo 1 - Dos VLANs y asignación de puertos
Objetivo: en SW1, crear VLAN 10 (INGENIEROS) y VLAN 20 (MKT). Fa0/1 va a INGENIEROS; Fa0/2 a Fa0/5 van a MKT.
Switch> enable
Switch# configure terminal
Switch(config)# hostname SW1
! Crear y nombrar las VLANs
SW1(config)# vlan 10
SW1(config-vlan)# name VLAN_INGENIEROS
SW1(config-vlan)# exit
SW1(config)# vlan 20
SW1(config-vlan)# name VLAN_MKT
SW1(config-vlan)# exit
! Puerto de acceso para INGENIEROS
SW1(config)# interface fastEthernet 0/1
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 10
SW1(config-if)# exit
! Bloque de puertos de acceso para MKT
SW1(config)# interface range fastEthernet 0/2 - 5
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# exit
SW1(config)# end
SW1# copy running-config startup-config
Ejemplo 2 - Tres VLANs en un switch de acceso de oficina
Objetivo: VLAN 10 (INGENIEROS) en Fa0/1-8, VLAN 20 (MKT) en Fa0/9-16, VLAN 30 (VENTAS) en Fa0/17-24.
SW1# configure terminal
SW1(config)# vlan 10
SW1(config-vlan)# name INGENIEROS
SW1(config-vlan)# vlan 20
SW1(config-vlan)# name MKT
SW1(config-vlan)# vlan 30
SW1(config-vlan)# name VENTAS
SW1(config-vlan)# exit
SW1(config)# interface range fastEthernet 0/1 - 8
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 10
SW1(config-if-range)# exit
SW1(config)# interface range fastEthernet 0/9 - 16
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# exit
SW1(config)# interface range fastEthernet 0/17 - 24
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 30
SW1(config-if-range)# exit
SW1(config)# end
SW1# write memory
Ejemplo 3 - Troncal manual entre dos switches con VLAN nativa dedicada
Topología: SW1 Fa0/10 conecta con SW2 Fa0/10. El troncal transporta VLAN 10, 20 y 30, con la VLAN 99 como nativa dedicada.
SW1:
SW1# configure terminal
SW1(config)# interface fastEthernet 0/10
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 99
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99
SW1(config-if)# switchport nonegotiate
SW1(config-if)# end
SW1# copy running-config startup-config
SW2 (idéntico en su Fa0/10):
SW2# configure terminal
SW2(config)# interface fastEthernet 0/10
SW2(config-if)# switchport trunk encapsulation dot1q
SW2(config-if)# switchport mode trunk
SW2(config-if)# switchport trunk native vlan 99
SW2(config-if)# switchport trunk allowed vlan 10,20,30,99
SW2(config-if)# switchport nonegotiate
SW2(config-if)# end
SW2# copy running-config startup-config
La VLAN nativa (99) debe coincidir en ambos extremos, o habrá un native VLAN mismatch.
Ejemplo 4 - Restringir VLANs permitidas y ajustar la lista después
Topología: troncal en SW1 Fa0/10 que al inicio solo permite VLAN 10 y 20. Más tarde se agrega la VLAN 30 sin reescribir la lista.
SW1# configure terminal
SW1(config)# interface fastEthernet 0/10
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport nonegotiate
SW1(config-if)# switchport trunk allowed vlan 10,20
SW1(config-if)# exit
! Más adelante: agregar la VLAN 30 al troncal
SW1(config)# interface fastEthernet 0/10
SW1(config-if)# switchport trunk allowed vlan add 30
SW1(config-if)# end
SW1# write memory
Ejemplo 5 - Puerto con PC (datos) y teléfono IP (voz)
Topología: en SW1, Fa0/10 conecta un teléfono IP y, detrás, la PC del usuario. Datos en VLAN 20, voz en VLAN 30.
SW1# configure terminal
SW1(config)# vlan 20
SW1(config-vlan)# name DATOS
SW1(config-vlan)# vlan 30
SW1(config-vlan)# name VOZ
SW1(config-vlan)# exit
SW1(config)# interface fastethernet 0/10
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 20
SW1(config-if)# switchport voice vlan 30
SW1(config-if)# end
SW1# copy running-config startup-config
Ejemplo 6 - Bloque de puestos de trabajo con voz y confianza de QoS
Topología: en SW1, Fa0/1 a Fa0/24 son puestos idénticos (PC + teléfono), con confianza de QoS hacia los teléfonos Cisco.
SW1# configure terminal
SW1(config)# vlan 20
SW1(config-vlan)# name DATOS
SW1(config-vlan)# vlan 30
SW1(config-vlan)# name VOZ
SW1(config-vlan)# exit
SW1(config)# interface range fastethernet 0/1 - 24
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# switchport voice vlan 30
SW1(config-if-range)# trust device cisco-phone
SW1(config-if-range)# end
SW1# write memory
Ejemplo 7 - Todo junto: switch de acceso con datos, voz y troncal
Topología: SW1 es un switch de acceso. Fa0/1-20 son puestos con PC y teléfono (datos VLAN 20, voz VLAN 30). Gi0/1 es el troncal hacia el switch de distribución, con VLAN 99 nativa dedicada. Los puertos sin uso quedan apagados en una VLAN aparte.
SW1# configure terminal
! 1. VLANs
SW1(config)# vlan 20
SW1(config-vlan)# name DATOS
SW1(config-vlan)# vlan 30
SW1(config-vlan)# name VOZ
SW1(config-vlan)# vlan 99
SW1(config-vlan)# name NATIVA
SW1(config-vlan)# vlan 998
SW1(config-vlan)# name SIN_USO
SW1(config-vlan)# exit
! 2. Puestos de trabajo (datos + voz)
SW1(config)# interface range fastethernet 0/1 - 20
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# switchport voice vlan 30
SW1(config-if-range)# trust device cisco-phone
SW1(config-if-range)# exit
! 3. Puertos sin uso
SW1(config)# interface range fastethernet 0/21 - 24
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 998
SW1(config-if-range)# shutdown
SW1(config-if-range)# exit
! 4. Troncal hacia distribución (la voz también debe cruzarlo)
SW1(config)# interface gigabitEthernet 0/1
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 99
SW1(config-if)# switchport trunk allowed vlan 20,30,99
SW1(config-if)# switchport nonegotiate
SW1(config-if)# end
SW1# copy running-config startup-config
La VLAN de voz (30) tiene que estar permitida en el troncal. Si no, los teléfonos obtienen su VLAN pero no llegan al servidor de telefonía.
Verificación
VLANs y puertos de acceso (Switch con VLANs de usuarios)
- Comando:
Switch# show vlan brief
Switch# show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/4, Fa0/5, Fa0/6, Fa0/7
Fa0/8, Fa0/9, Fa0/10, Gi0/2
10 VENTAS active Fa0/1, Fa0/2
20 RRHH active Fa0/3
99 NATIVA active
999 SIN-USO active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Detalle de un puerto: modo, VLAN de acceso, VLAN de voz, nativa
- Comando:
Switch# show interfaces fastEthernet 0/1 switchport
Switch# show interfaces fastEthernet 0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 10 (VENTAS)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Unknown unicast blocked: disabled
Unknown multicast blocked: disabled
Appliance trust: none
Qué deberías ver (checklist)
| Campo | Qué indica |
|---|---|
Switchport: Enabled | El puerto funciona como puerto L2. Disabled significa que es un puerto enrutado (no switchport) |
Administrative Mode | Lo que configuraste: static access, trunk, dynamic auto, dynamic desirable |
Operational Mode | Lo que el puerto está haciendo ahora. Puede diferir del administrativo |
Negotiation of Trunking | On si DTP está activo; Off con mode access o nonegotiate |
Access Mode VLAN | VLAN de acceso del puerto, con su nombre |
Trunking Native Mode VLAN | VLAN nativa de la troncal (debe coincidir con el otro extremo) |
Voice VLAN | VLAN de voz, o none |
Trunking VLANs Enabled | VLANs permitidas en la troncal (ALL o la lista de allowed vlan) |
Troncales: modo, nativa y VLANs permitidas
- Comando:
Switch# show interfaces trunk
Ejemplo 1: Troncal hacia el router (router-on-a-stick)
Switch# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/1 on 802.1q trunking 99
Port Vlans allowed on trunk
Fa0/1 10,20,99
Port Vlans allowed and active in management domain
Fa0/1 10,20,99
Port Vlans in spanning tree forwarding state and not pruned
Fa0/1 10,20,99
Ejemplo 2: Varias troncales con la configuración por defecto
Switch# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/23 auto n-802.1q trunking 1
Fa0/24 desirable n-802.1q trunking 1
Gi0/1 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa0/23 1-4094
Fa0/24 1-4094
Gi0/1 1-4094
Port Vlans allowed and active in management domain
Fa0/23 1,10,20,99
Fa0/24 1,10,20,99
Gi0/1 1,10,20,99
Port Vlans in spanning tree forwarding state and not pruned
Fa0/23 1,10,20,99
Fa0/24 1,10,20,99
Gi0/1 1,10,20,99
Configuración aplicada a un puerto
- Comando:
Switch# show running-config interface fastEthernet 0/1
Ejemplo 1: Puerto de acceso en VLAN 10
Switch# show running-config interface fastEthernet 0/1
Building configuration...
Current configuration : 112 bytes
!
interface FastEthernet0/1
description PC-Contabilidad-Maria
switchport access vlan 10
switchport mode access
end
Ejemplo 2: Puerto de acceso con VLAN de voz y protecciones
Switch# show running-config interface fastEthernet 0/1
Building configuration...
Current configuration : 276 bytes
!
interface FastEthernet0/1
description PC-Ventas + Telefono-IP
switchport access vlan 10
switchport mode access
switchport voice vlan 150
switchport nonegotiate
switchport port-security maximum 3
switchport port-security
switchport port-security violation restrict
spanning-tree portfast
spanning-tree bpduguard enable
end
El teléfono IP como vecino CDP
- Comando:
Switch# show cdp neighbors
Ejemplo 1: Teléfono IP en un puerto de acceso
Switch# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
SEP001122334455 Fas 0/1 152 H P IP Phone Port 1
Ejemplo 2: Teléfono más otros vecinos (router, otro switch y AP)
Switch# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
SEP001122334455 Fas 0/1 152 H P IP Phone Port 1
SEP00AABBCCDDEE Fas 0/2 148 H P IP Phone Port 1
AP-Piso2 Fas 0/6 165 R T I AIR-AP2802 Gig 0
SW2 Fas 0/24 140 S I WS-C2960 Fas 0/24
R1 Gig 0/1 132 R S I ISR4331 Gig 0/0/0