21 de septiembre de 2018

Verificación de enlaces troncales en switches Catalyst

La operación y mantenimiento de enlaces troncales en switches Cisco Catalyst, respecto de su operación específica como troncal, requiere también de herramientas a nivel del sistema operativo que permiten verificar y monitorear la operación de los enlaces troncales que operamos.
En este sentido Cisco IOS y Cisco IOS XE proporcionan una serie de comando show que aplican a este propósito:
  • show interfaces status
  • show interfaces trunk
  • show interfaces switchport
show interfaces status
Se trata de un comando poco utilizado en el monitoreo de enlaces troncales que proporciona una rápida visibilidad de cuáles son los puertos que se encuentran operando en modo troncal.
No da mayor información sobre la operación.

Switch> show interfaces status

 Port   Name     Status     Vlan      Duplex Speed Type
 Fa0/1           disabled   routed      auto  auto 10/100BaseTX
 Fa0/2           disabled   routed      auto  auto 10/100BaseTX
 Fa0/3           disabled   routed      auto  auto 10/100BaseTX
 Fa0/4           disabled   routed      auto  auto 10/100BaseTX
 Fa0/5           disabled   routed      auto  auto 10/100BaseTX
 Fa0/6           connected  10        a-full a-100 10/100BaseTX
 Fa0/7           connected  10        a-full a-100 10/100BaseTX
 Fa0/8           connected  200       a-half a-100 10/100BaseTX
 Fa0/9           connected  trunk     a-full a-100 10/100BaseTX
 Fa0/10          disabled   routed      auto  auto 10/100BaseTX
 Fa0/11          disabled   routed      auto  auto 10/100BaseTX
 Fa0/12          disabled   routed      auto  auto 10/100BaseTX
 [se omiten líneas]

show interfaces trunk
Este comando permite verificar múltiples elementos de la operación de los enlaces troncales:
  • Modo en que el puerto se establece como troncal.
    El puerto puede establecerse como troncal a través de una negociación de DTP o por configuración manual.
    En este caso se indica modo "on", esto es configuración manual en modo troncal.
  • Protocolo de etiquetado de VLANs utilizado.
    En el ejemplo de abajo es 802.1Q
  • Estado operativo del puerto.
    En el ejemplo el estado es "trunking".
  • VLAN nativa definida en el puerto.
    En nuestro ejemplo, la VLAN 99.
  • VLANs permitidas en ese puerto troncal.
    En el ejemplo son las VLANs 10 y 99.
  • VLANs permitidas y activas en ese troncal. Puede ocurrir que en un enlace troncal una VLAN esté permitida pero no se encuentre creada en el switch, con lo que estará permitida pero no activa. Es el caso habitual de puertos con configuración por defecto que tienen todas las VLANs posibles permitidas, pero activas solamente las que están creadas en el switch.
    En el ejemplo son las VLANs 10 y 99.
  • VLANs que en este enlace troncal están en modo forwarding (el troncal es parte de la topología activa de STP) y por lo tanto están permitiendo el tráfico de esa VLAN.
    En este ejemplo ambas VLANs utilizan este enlace troncal para el reenvío de tráfico. No hay VLANs bloqueadas.
Switch# show interfaces trunk
Port        Mode    Encapsulation    Status    Native vlan
Gi0/1       on      802.1q           trunking  99

Port        Vlans allowed on trunk
Gi0/1       10,99

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

Port        Vlans in spanning tree forwarding state and not pruned

Gi0/1       10,99

Si se indica un puerto específico muestra solamente la información correspondiente a ese puerto. Si no se indica un puerto, muestra todos los puertos troncales del dispositivo.
En el caso del ejemplo el switch tiene un solo puerto troncal.

show interfaces switchport
El comando nos permite verificar el estado operativo del puerto en cuanto a su operación en capa 2.
  • Modo administrativo: Muestra la configuración realizada en el puerto.
    En este caso se ha configurado como troncal estáticamente utilizando el comando switchport mode trunk.
  • Modo operativo: Muestra el modo en que el puerto está operando. Cuando se utiliza DTP muestra el resultado de la negociación del protocolo.
    En este caso el modo en que está operando es troncal.
  • Encapsulación administrativa: Refiere a la configuración de encapsulación del puerto.
    En el ejemplo, está configurado para operar utilizando IEEE 802.1Q que es el protocolo por defecto y el único disponible en este caso.
  • Encapsulación operativa: Es la encapsulación que de hecho se está utilizando en el enlace.
    En este caso es 802.1Q.
  • Negociación: Indica si está operativa la negociación de DTP en el puerto.
    En el ejemplo muestra que la negociación está activa.
  • VLAN en modo acceso: Es la VLAN en la cual se colocará el puerto en caso de estar operando en modo acceso si no se indica otra cosa.
  • VLAN nativa en modo troncal: Es la VLAN que se asume como VLAN nativa en caso de que el puerto esté operando en modo troncal, si no se indica otra cosa.
  • Voice VLAN: Indica si se ha definido una VLAN de voz en ese puerto, y en caso de que se haya definida cuál es el ID de VLAN.
    En el caso del ejemplo no hay VLAN de voz definida.
  • A continuación se presenta la información correspondiente a la definición de private VLANs.
Switch# show interfaces GigabitEthernet1/0/1 switchport
 Name: Gig0/1
 Switchport: Enabled
 Administrative Mode: trunk
 Operational Mode: trunk
 Administrative Trunking Encapsulation: dot1q
 Operational Trunking Encapsulation: dot1q
 Negotiation of Trunking: On
 Access Mode VLAN: 1 (default)
 Trunking Native Mode VLAN: 1 (default)
 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 encapsulation: dot1q
 Administrative private-vlan trunk normal VLANs: none
 Administrative private-vlan trunk private VLANs: none
 Operational private-vlan: none
 Trunking VLANs Enabled: ALL
 Pruning VLANs Enabled: 2-1001
 Capture Mode Disabled
 Capture VLANs Allowed: ALL

 Protected: false
 Appliance trust: none

Mensaje CDP
Cuando hay diferencia en la definición de la VLAN nativa entre los 2 puertos que componen un enlace troncal, no hay un mensaje de error directo del puerto; sin embargo en los switches Catalyst que tienen activo CDP, la diferencia de configuración entre ambos extremos del troncal genera un mensaje de evento CDP que indica esa falta de coincidencia.

*Mar 1 06:45:26.232: %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet0/1 (2), with S2 GigabitEthernet0/1 (99).

El mensaje indica que:
  • El puerto GigabitEthernet0/1 de este switch utiliza la VLAN 2 como VLAN nativa.
  • El puerto GigabitEthernet0/1 del switch vecino (S2) utiliza la VLAN 99 como VLAN nativa.
Esta diferencia de configuración genera el mensaje "NATIVE VLAN MISMATCH".

Otros post sobre el tema

..
Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


13 de septiembre de 2018

Configuración de enlaces troncales en switches Catalyst

Respecto de la implementación de VLANs y enlaces troncales, los switches Cisco Catalyst presentan varias definiciones por defecto que debemos tener presentes:
  • Por defecto está creada la VLAN 1, y todos los puertos del switch están asignados a esa VLAN 1.
  • La VLAN 1 es la VLAN de gestión (management) por defecto, y la VLAN nativa por defecto en los enlaces troncales.
  • En la mayoría de los switches en la actualidad no es necesario definir un protocolo de etiquetado de tramas ya que se asume por defecto IEEE 802.1Q. Sin embargo, si el dispositivo soportara ISL, no hay encapsulación por defecto y se debe especificar.
  • Cuando se define un enlace como troncal, por defecto, en ese enlace están permitidas todas las VLANs que se encuentran creadas en el switch.
  • Todos los puertos del switch implementan por defecto DTP para definir dinámicamente si operan en modo acceso o modo troncal.
Configuración básica del troncal
En primer lugar debemos tener presente que un troncal es un enlace que conecta 2 puertos de 2 switches diferentes, que son independientes entre sí. Por lo tanto es esencial que la configuración de ambos puertos sea compatible ya que se configuran de modo independiente.

Switch(config)#interface fastethernet 0/1
Switch(config-if)#shutdown
  • En los manuales de procedimiento se aconseja desactivar la interfaz antes de iniciar propiamente la configuración del puerto para evitar que los procesos de autonegociación estén negociando permanentemente mientras cambiamos la configuración.
Switch(config-if)#switchport trunk encapsulation dot1q
  • El comando define el protocolo de etiquetado de etiquetas que utilizará al operar en modo troncal.
  • No todas las plataformas permiten variar la encapsulación por defecto que se utiliza en los enlaces troncales. En aquellos dispositivos que solamente soportan IEEE 802.1Q este comando no está disponible.
Switch(config-if)#switchport mode trunk
  • Coloca el puerto en modo troncal.
  • Utilizará el protocolo de etiquetado de trama especificado con el comando anterior. Si el comando no está disponible, utilizará por defecto IEEE 802.1Q
  • Todas las VLANs creadas en el switch están permitidas en el enlace.
  • Al utilizar 802.1Q hay siempre una VLAN nativa, y en este caso la VLAN nativa por defecto es la VLAN 1.
Switch(config-if)#no shutdown
  • Terminada la configuración es necesario activar nuevamente el puerto.
Buenas prácticas sugeridas
En este caso se trata de prácticas de configuración sugeridas, no obligatorias, que apuntan a mejorar la seguridad o performance de la red.

.1. Desactivar DTP

DTP es el protocolo que negocia, en los swtiches Catalyst, el modo de operación del puerto (troncal o acceso). Esto permite que, por ejemplo, un enlace entre 2 switches negocie automáticamente como troncal sin necesidad de intervención del Administrador.
DTP está activo por defecto en todos los puertos de los switches Catalyst.
Dado que este protocolo permite que un enlace podría negociar sin intervención alguna como troncal, y que ese troncal permitiría por defecto el tráfico de todas las VLANs existentes, DTP es un potencial riesgo de seguridad. De alli que se recomienda desactivarlo.

Switch(config-if)#switchport nonegotiate
  • El comando suprime toda negociación de DTP en el puerto.
  • Este comando es necesario aún cuando el puerto sea colocado manualmente en modo acceso o troncal, ya que el protocolo sigue activo.
  • Esto hace necesario que el otro extremo del enlace también sea configurado manualmente como troncal.
.2. Cambiar la VLAN nativa

Todo enlace troncal 802,1Q tiene una VLAN nativa o untagged.
En los switches Catalyst la VLAN nativa en los puertos troncales 802.1Q es por defecto la VLAN 1.
Dado que la VLAN nativa puede ser aprovechada por un potencial atacante para "saltar" la división de VLANs en la red, se sugiere cambiar la VLAN nativa a otra VLAN en la que no se coloquen puertos de acceso, preferentemente una VLAN que esté en desuso.

Switch(config-if)#switchport trunk native vlan 999
  • Tenga presente que la VLAN nativa debe coincidir en ambos extremos del enlace.
  • Una disparidad en la definición de la VLAN nativa en ambos extremos no genera mensajes de error.
    En el caso de switches Catalyst CDP generará un mensaje de evento 
    CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on... que puede visualizarse en el puerto consola o en el registro de eventos.
.3. Restricción de las VLANs transportadas en el enlace troncal

Al activar un enlace troncal, por defecto se permite el transporte de todas las VLANs existentes a través de ese enlace troncal.
En algunos casos el diseño de la red requiere restringir las VLANs que se transportan en algunos troncales. Cuando no es así se sugiere, como buena práctica, que se limite las VLANs permitidas a solamente las necesarias.
Esto se hace permitiendo solamente las VLANs deseadas con lo que automáticamente quedan excluidas todas las VLANs que no son explíticamente permitidas.

Switch(config-if)#switchport trunk allowed vlan 2-10,20,30
  • De este modo se restringe el troncal exclusivamente a las VLANs que se declaran en el comando. En este caso es el rango de VLANs que va desde la 2 hasta la 10, y además las VLANs 20 y 30.
  • Todas las demás VLANs están excluidas de este enlace troncal.
Switch(config-if)#switchport trunk allowed vlan remove 5
  • Este comando remueve de las VLANs permitidas en el enlace, exclusivamente aquellas que se especifican en el comando. En este caso remueve la VLAN 5 del grupo de VLANs permitidas.
  • Si se aplica en un troncal que está operando con valores por defecto, el resultado será que siguen estando permitidas todas las VLANs salvo aquellas que se indiquen específicamente.
Switch(config-if)#switchport trunk allowed vlan add 40
  • Este comando agrega a las VLANs permitidas en el troncal aquella que se indica específicamente en el comando.
  • ATENCIÓN. Si se intenta agregar una VLAN sin el keyword "add" el resultado será que se sobrescribirán las VLANs permitidas y quedarán como permitidas solamente aquellas que se están especificando en el comando.
Procedimiento de configuración de troncales

.1. Ingrese al modo de configuración de la interfaz.
.2. Desactive la interfaz.
.3. Selecciona la encapsulación a utilizar (si corresponde).
.4. Coloque la interfaz en modo troncal.
.5. Desactive DTP
.6. Modifique la VLAN nativa.
.7. Restrinja las VLANs permitidas en el enlace troncal.
.8. Reactive la interfaz.

Otros post publicados


.
Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.