La configuración de redes empresariales modernas a menudo implica la segmentación del tráfico para mejorar la seguridad, el rendimiento y la gestión. Las Redes de Área Local Virtuales (VLANs) son una herramienta fundamental para lograr esta segmentación. Sin embargo, para que estas VLANs puedan comunicarse entre diferentes switches o dispositivos de red, se requiere un mecanismo que permita el transporte de múltiples VLANs a través de un único enlace físico. Aquí es donde entran en juego los enlaces troncales (trunks) y, específicamente, el comando switchport trunk allowed vlan en el contexto de switches gestionables, particularmente los de Cisco.

Puertos de Acceso vs. Puertos Troncales: La Base de la Comunicación
Antes de adentrarnos en los comandos específicos, es crucial comprender la diferencia fundamental entre los puertos de acceso y los puertos troncales en un switch.
Puerto de Acceso 101: ¿Qué es y qué hace?
Los puertos de acceso son aquellos que se configuran para transportar tráfico de red de una única VLAN específica. Estos puertos se conectan típicamente a dispositivos finales como computadoras de usuarios, impresoras o teléfonos IP. La característica distintiva de un puerto de acceso es que maneja tráfico no etiquetado. Cuando un dispositivo final envía datos, el switch agrega una etiqueta VLAN a esa trama para identificar a qué VLAN pertenece. Este proceso asegura que el tráfico de una VLAN no interfiera con el de otras, proporcionando aislamiento y seguridad.
Conceptos Básicos del Puerto Troncal: ¿Qué debe saber?
Por otro lado, los puertos troncales están diseñados para transportar tráfico de múltiples VLANs a través de un único enlace. Son la columna vertebral de la conectividad entre switches, o entre un switch y un router o servidor que necesite acceder a varias VLANs simultáneamente. La clave de los puertos troncales es el etiquetado de tramas (frame tagging). Utilizando protocolos como IEEE 802.1Q (el estándar más común) o ISL (un protocolo propietario de Cisco, ahora menos utilizado), cada paquete de datos que viaja por un enlace troncal se enriquece con una etiqueta que identifica la VLAN a la que pertenece. Esto permite al switch receptor saber a qué VLAN reenviar el tráfico.
El Comando switchport trunk allowed vlan y su Propósito
El comando switchport trunk allowed vlan es una herramienta poderosa que permite a los administradores de red controlar qué VLANs específicas pueden pasar a través de un puerto troncal. Si bien, por defecto, un puerto configurado como troncal permite el tráfico de todas las VLANs presentes en la red, esta configuración puede ser restrictiva y generar tráfico innecesario o problemas de seguridad. El comando switchport trunk allowed vlan nos da la granularidad para definir explícitamente qué VLANs deseamos permitir.
¿Por qué Limitar las VLANs en un Troncal?
Existen varias razones de peso para utilizar switchport trunk allowed vlan:
- Optimización del Tráfico: Al permitir solo las VLANs necesarias en un enlace troncal, se reduce la cantidad de tráfico de broadcast innecesario que inunda la red. Cada VLAN es un dominio de broadcast independiente, y el tráfico de broadcast de una VLAN no se reenvía a otras VLANs a través del troncal si no están permitidas. Esto mejora el rendimiento general de la red.
- Seguridad Mejorada: Restringir el acceso de ciertas VLANs a través de un troncal puede ser una medida de seguridad importante. Si una VLAN específica no necesita comunicarse con otra parte de la red a través de ese enlace, bloquearla puede prevenir accesos no autorizados o la propagación de amenazas.
- Gestión Simplificada: En redes complejas con muchas VLANs, especificar qué VLANs están permitidas en cada enlace troncal puede hacer que la topología de la red sea más fácil de entender y gestionar.
Sintaxis y Funcionamiento del Comando
La sintaxis básica para configurar las VLANs permitidas en un puerto troncal es la siguiente:
switchport trunk allowed vlan <vlan-id-list>Donde <vlan-id-list> puede ser una lista de números de VLAN separados por comas (por ejemplo, 10,20,30), un rango de VLANs (por ejemplo, 10-20), o la palabra clave all para permitir todas las VLANs.
Ejemplos de Uso:
switchport trunk allowed vlan 10,20: Permite que solo las VLANs 10 y 20 pasen a través del puerto troncal.switchport trunk allowed vlan 10-30: Permite que las VLANs del rango 10 al 30 pasen a través del puerto troncal.switchport trunk allowed vlan add 20: Este comando se utiliza para agregar una VLAN a la lista existente de VLANs permitidas. Si previamente teníamosswitchport trunk allowed vlan 10, al ejecutarswitchport trunk allowed vlan add 20, la lista permitida se convierte en10,20.switchport trunk allowed vlan remove 20: Este comando se utiliza para eliminar una VLAN de la lista de VLANs permitidas.
Es importante notar la diferencia entre switchport trunk allowed vlan <vlan-id-list> y switchport trunk allowed vlan add <vlan-id>. El primer comando reemplaza la lista existente con la nueva especificada, mientras que el segundo agrega la VLAN a la lista actual.
Comportamiento por Defecto y Consideraciones
Cuando un puerto se configura como troncal (switchport mode trunk), por defecto, todas las VLANs creadas en el switch están permitidas para pasar a través de ese enlace. Esto significa que si tienes las VLANs 10, 20 y 30 creadas en tu switch, y configuras un puerto como troncal sin especificar allowed vlan, estas tres VLANs (además de la VLAN 1, que siempre está presente por defecto) estarán permitidas en ese enlace troncal.
Si intentas ejecutar un comando como switchport trunk allowed vlan add 20 cuando la VLAN 20 ya está permitida por defecto, este comando no tendrá ningún efecto observable en la configuración, ya que la VLAN ya se encuentra habilitada.
El Rol de la VLAN Nativa
Otro concepto importante en la configuración de troncales es la VLAN nativa. La VLAN nativa es la VLAN que se utiliza para el tráfico no etiquetado en un enlace troncal. Por defecto, la VLAN 1 es la VLAN nativa. Es una buena práctica de seguridad cambiar la VLAN nativa a un valor diferente de la VLAN 1 para reducir la superficie de ataque. El comando para configurar la VLAN nativa es switchport trunk native vlan <vlan-id>. Es crucial que la VLAN nativa sea la misma en ambos extremos del enlace troncal para evitar problemas de comunicación y posibles vulnerabilidades.
Detección de Tráfico Innecesario
Como se mencionó en una de las preguntas proporcionadas, no existe un comando directo para detectar si una VLAN está generando tráfico innecesario en un enlace troncal. La detección de tráfico innecesario generalmente se realiza mediante un análisis del tráfico de red, monitorización del uso de ancho de banda por VLAN, o mediante la revisión de la configuración y los requisitos de comunicación de cada VLAN. Si una VLAN no está configurada para comunicarse con otros dispositivos o VLANs a través de un troncal específico, su tráfico en ese troncal podría considerarse innecesario y ser eliminado de la lista allowed vlan.
Configuración Práctica y Verificación
La configuración de enlaces troncales y la gestión de las VLANs permitidas es un proceso que se realiza en el modo de configuración de interfaz de un switch.
Cisco Packet Tracer – video 12: Como crear y configurar Vlans y enlaces troncales (trunk mode)
Comandos de Configuración Esenciales
Para configurar un puerto como troncal y especificar las VLANs permitidas, seguiríamos estos pasos generales en un switch Cisco:
- Ingresar al modo de configuración global:
Switch> enableSwitch# configure terminal - Seleccionar la interfaz a configurar:
Switch(config)# interface <interface-id>Por ejemplo:interface GigabitEthernet0/1 - Establecer el modo de la interfaz como troncal:
Switch(config-if)# switchport mode trunkNota: En algunos casos, especialmente con encapsulación automática, es posible que necesites especificar el tipo de encapsulación, comoswitchport trunk encapsulation dot1q. - Especificar las VLANs permitidas:
Switch(config-if)# switchport trunk allowed vlan <vlan-id-list>O para agregar VLANs:Switch(config-if)# switchport trunk allowed vlan add <vlan-id> - Configurar la VLAN nativa (recomendado):
Switch(config-if)# switchport trunk native vlan <vlan-id> - Salir del modo de configuración de interfaz y guardar cambios:
Switch(config-if)# endSwitch# write memoryoSwitch# copy running-config startup-config
Verificación de la Configuración
Después de aplicar la configuración, es fundamental verificar que los cambios se hayan aplicado correctamente. El comando principal para esto es:
Switch# show interfaces <interface-id> switchportEste comando proporciona información detallada sobre el estado de la interfaz, incluyendo si está en modo troncal, qué VLANs están permitidas y cuál es la VLAN nativa.
La salida de este comando puede mostrar información como:
Administrative Mode: trunkOperational Mode: trunkTrunking Native Mode VLAN: 99 (VLAN0099)Trunking VLANs Enabled: 10,20,30,99
Si el comando show interfaces trunk aparece vacío, esto indica que no hay ningún puerto troncal activo en el switch. Para que se muestren las troncales, es necesario configurar explícitamente un enlace troncal entre dos switches o entre un switch y un router/servidor compatible.
Consideraciones Adicionales y Solución de Problemas
El Dilema de las VLANs "Creadas" vs. "Configuradas"
Una duda común en entornos de aprendizaje como los de Cisco es la diferencia entre una VLAN "creada" y una VLAN "configurada en interfaces". Si una VLAN está solo "creada" (es decir, existe en la base de datos de VLANs del switch pero no tiene puertos de acceso asignados), todas las VLANs creadas están permitidas por defecto en un enlace troncal. El tráfico podría, en teoría, viajar por cualquiera de estas VLANs si los puertos de acceso correspondientes estuvieran configurados y activos. Sin embargo, sin información específica sobre quién genera el tráfico o cómo están configurados los puertos de acceso, afirmar que el tráfico solo viajará por una VLAN específica (como la VLAN 1) es especulativo. En la práctica, el tráfico fluirá por las VLANs permitidas en el troncal que tengan dispositivos de origen y destino comunicándose.
Errores Comunes y Soluciones
- Error de Encapsulación (Cisco): El mensaje "Command rejected: An interface whose trunk encapsulation is ‘Auto’ can not be configured to ‘trunk’ mode" indica que el modo de negociación automática ("Auto") del protocolo DTP (Dynamic Trunking Protocol) está interfiriendo. Para resolverlo, se puede forzar la encapsulación 802.1Q explícitamente con
switchport trunk encapsulation dot1qantes de configurar el modo troncal. - VLAN Nativa Mismatch: Si dos switches conectados por un troncal tienen configuradas VLANs nativas diferentes, pueden surgir problemas de comunicación o incluso vulnerabilidades de seguridad. La solución es asegurar que la VLAN nativa sea idéntica en ambos extremos del enlace troncal, por ejemplo, utilizando
switchport trunk native vlan 10. - Bucles de Red: La configuración de troncales, especialmente en redes redundantes, puede crear bucles de red si el Spanning Tree Protocol (STP) no está configurado correctamente. Es vital monitorizar el estado de STP (
show spanning-tree) y ajustar las prioridades de los switches raíz si es necesario. Desactivar temporalmente puertos sospechosos puede ayudar en la resolución de problemas.
Conclusión
El comando switchport trunk allowed vlan es una herramienta esencial para la administración avanzada de redes, permitiendo un control preciso sobre el flujo de tráfico entre switches. Al comprender su propósito, sintaxis y cómo interactúa con otros conceptos como las VLANs nativas y el etiquetado de tramas, los administradores de red pueden optimizar el rendimiento, mejorar la seguridad y simplificar la gestión de sus infraestructuras de red. La capacidad de definir explícitamente qué VLANs pueden transitar por un enlace troncal es fundamental para construir redes eficientes y seguras.