17 de noviembre de 2018

Comandos: show ip ospf database

Desde hace unas semanas estamos revisando los comandos de monitoreo de OSPF versión 2. Uno particularmente importantes pero también complejo es  show ip ospf database. 

Este comando permite revisar la base de datos de información de enrutamiento que utiliza OSPF para calcular la ruta a proponer a la tabla de enrutamiento. 
Pero para comprenderlo acabadamente es necesario tener presente que OSPF es un protocolo de estado de enlace y que por lo tanto no intercambia rutas sino información de esos enlaces, lo que llamamos información de enrutamiento.
Esas unidades de información son los denominados LSAs y es la información recolectada que se puede verificar en la base de datos de OSPF. En conclusión, en esta base de datos, no encontramos rutas sino unidades de información de diferente tipo que luego utiliza el algoritmo de Dijkstra para reconstruir la topología de la red y luego calcular la ruta más corta.

Como otros comandos vinculados al protocolo, ha sido introducido en IOS 10.0 y a partir de allí se ha mantenido en sucesivas versiones y releases del sistema operativo, con algunas pequeñas variantes.
El comando tiene una cantidad importante de variantes que mencionaré al final de este post.

Consideremos en primer lugar un ejemplo tomando como base el resultado de la ejecución en un router Cisco IOS para luego revisarlo con mayor detalle.

Router# show ip ospf database
            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Router Link States (Area 0)

Link ID     ADV Router      Age       Seq#       Checksum Link count
1.1.1.1     1.1.1.1         1070      0x80000006 0x001b09 3
1.1.1.3     1.1.1.3         880       0x80000005 0x0028ef 3
1.1.1.2     1.1.1.2         880       0x80000005 0x00c559 3
1.1.1.4     1.1.1.4         880       0x80000005 0x008889 3

                Net Link States (Area 0)
Link ID      ADV Router      Age      Seq#       Checksum
172.16.2.2   1.1.1.3         1070     0x80000001 0x0075a1
172.16.4.2   1.1.1.4         880      0x80000001 0x001bfd
172.16.3.2   1.1.1.4         880      0x80000002 0x000b7b
172.16.1.2   1.1.1.2         185      0x80000002 0x007d6c


Lectura del comando
Revisemos ahora el resultado de la ejecución del comando:

Router# show ip ospf database
            OSPF Router with ID (1.1.1.1) (Process ID 1)

  • Router with id - Muestra el router ID de OSPF del dispositivo en el cual se ejecuta el comando.
  • Process ID - Identificador del proceso de OSPF al cual corresponde la información que se presenta a continuación

                Router Link States (Area 0)

  • Inicio de la sección de la bases de datos que contiene la información obtenida utilizando LSAs tipo 1.
    Muestra cuáles son los otros dispositivos en el área.
    En este caso nos indica que hay 4 dispositivos OSPF en el área
  • Esta información corresponde al área 0.
    Si se tratara de un router de borde de área (ABR), esta sección se repite para cada área en la que se encuentra el dispositivo.

Link ID     ADV Router      Age       Seq#       Checksum Link count
1.1.1.1     1.1.1.1         1070      0x80000006 0x001b09 3
1.1.1.3     1.1.1.3         880       0x80000005 0x0028ef 3
1.1.1.2     1.1.1.2         880       0x80000005 0x00c559 3
1.1.1.4     1.1.1.4         880       0x80000005 0x008889 3

  • Link ID - Router ID.
  • ADV Router - Router ID del dispositivo que publicó el LSA.
  • Age - Tiempo en segundos desde que se recibió la información correspondiente a este LSA.
  • Seq# - Número de secuencia del LSA, permite detectar información vieja o duplicada.
  • Checkum - Valor de verificación del contenido completo del LSA.
  • Link count - Cantidad de interfaces que participan del área, detectadas en el dispositivo.

                Net Link States (Area 0)

  • Inicio de la sección de la base de datos que contiene la información correspondiente a los LSAs tipo 2 recibidos.
    Indica cuáles son los dispositivos DR para el área y qué segmento de red representa cada uno.
  • Esta información corresponde al área 0.
    Si se tratara de un router de borde de área (ABR), esta sección se repite para cada área en la que se encuentra el dispositivo.

Link ID      ADV Router      Age      Seq#       Checksum
172.16.2.2   1.1.1.3         1070     0x80000001 0x0075a1
172.16.4.2   1.1.1.4         880      0x80000001 0x001bfd
172.16.3.2   1.1.1.4         880      0x80000002 0x000b7b
172.16.1.2   1.1.1.2         185      0x80000002 0x007d6c
  • Link ID - Dirección IP de la interfaz del router DR correspondiente al enlace que se reporta.
    Por ejemplo: 172.16.2.2 es la dirección IP de la interfaz del router 1.1.1.3 que conecta al segmento 172.16.2.0.
  • ADV Router - Router ID del dispositivo que publicó el LSA.
  • Age - Tiempo en segundos desde que se recibió la información correspondiente a este LSA.
  • Seq# - Número de secuencia del LSA, permite detectar información vieja o duplicada.
  • Checkum - Valor de verificación del contenido completo del LSA.
Variantes del comando 
El comando permite requerir información detallada de cada tipo de SLA indicando a continuación del mismo de qué tipo de SLA se desea obtener.

Router#show ip ospf database asbr-summary

  • Muestra la información detallada de los LSAs tipo 3 (summary) generada por el router de borde de área.

Router#show ip ospf database external

  • Presenta la información detallada de los LSAs tipo 5 (external) generados a partir de rutas redistribuidas dentro del protocolo en un router de borde de sistema autónomo (ASBR).

Router#show ip ospf database network

  • Permite verificar la información correspondiente a los LSAs tipo 2 recibidos por el dispositivo.
También es posible solicitar una síntesis detallada de cuántos LSAs de cada tipo y cuántos en total para cada área se contienen en la base de datos de OSPF.

Router#show ip ospf database database-summary

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


10 de noviembre de 2018

Comandos: show ip ospf interface

En las redes corporativas actuales OSPF versión 2 ocupa un lugar relevante. Es por eso muy importante que conozcamos los principales comandos de diagnóstico que nos permiten verificar la operación, definir potenciales mejoras y detectar la posible fuente de fallos.
Revisemos ahora uno de esos comandos básicos:  show ip ospf interface [int]. 

Este comando permite verificar la operación de OSPF sobre cada una de las interfaces asociadas al proceso del protocolo de enrutamiento.

Como otros comandos vinculados al protocolo, ha sido introducido en IOS 10.0 y a partir de allí se ha mantenido en sucesivas versiones y releases del sistema operativo, con algunas variantes.
En IOS 12.0(25)S se introdujo el keyword "brief" que permite revisar una tabla sintética de las interfaces asociadas al proceso del protocolo en la que se puede verificar dirección IP de la interfaz/longitud de prefijo, costo, estado y cantidad de vecinos que negocian a través de esa interfaz.

Consideremos en primer lugar un ejemplo tomando como base el resultado de la ejecución en un router Cisco IOS para luego revisarlo con mayor detalle.

Router# show ip ospf interface GigabitEthernet 0/0

GigabitEthernet0/0 is up, line protocol is up
 Internet Address 192.168.254.202/24, Area 0
 Process ID 1, Router ID 192.168.99.1, Network Type BROADCAST, Cost: 10
 Topology-MTID    Cost    Disabled    Shutdown      Topology Name
       0           10        no          no            Base
 Transmit Delay is 1 sec, State DR, Priority 1
 Designated Router (ID) 192.168.99.1, Interface address 192.168.254.202
 Backup Designated router (ID) 192.168.254.10, Interface address 192.168.254.10
 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
   oob-resync timeout 40
   Hello due in 00:00:05
 Supports Link-local Signaling (LLS)
 Cisco NSF helper support enabled
 IETF NSF helper support enabled
 Can be protected by per-prefix Loop-free FastReroute
 Can be used for per-prefix Loop-free FastReroute repair paths
 Index 1/1, flood queue length 0
 Next 0x0(0)/0x0(0)
 Last flood scan length is 1, maximum is 1
 Last flood scan time is 0 msec, maximum is 0 msec
 Neighbor Count is 1, Adjacent neighbor count is 1 
   Adjacent with neighbor 192.168.254.10  (Backup Designated Router)
 Suppress hello for 0 neighbor(s)

Si se especifica una interfaz en concreto se muestra la información correspondiente sólo a esa interfaz; si en cambio no se indica una interfaz particular se mostrará la información correspondiente a todas las interfaces asociadas al proceso del protocolo.

Lectura del comando
Revisemos ahora el resultado de la ejecución del comando:

Router# show ip ospf interface GigabitEthernet 0/0

GigabitEthernet0/0 is up, line protocol is up
  • Estado de operación de la interfaz en capa física y en capa de enlace de datos.
 Internet Address 192.168.254.202/24, Area 0
  • Dirección IP y máscara de subred asignadas a la interfaz.
  • Area - ID de área OSPF a la que está asociada esta interfaz. En el caso del ejemplo es el área 0 (backbone).
 Process ID 1, Router ID 192.168.99.1, Network Type BROADCAST, Cost: 10
  • Process ID - identificador del proceso de OSPF. Es un requisito para la configuración del protocolo.
  • Router ID - identificador asumido por el dispositivo para el intercambio de información de enrutamiento con este protocolo.
  • Network Type - Tipo de red asumido por el protocolo respecto del enlace del que es parte la interfaz que se está analizando. En este caso se asume un enlace tipo broadcast.
  • Costo - Costo asumido para este enlace para el cálculo de la métrica de las rutas aprendidas a través de esta interfaz.
 Topology-MTID    Cost    Disabled    Shutdown      Topology Name
       0           10        no          no            Base
  • Topology-MTID - Número asignado a la topología (ID) de modo que el protocolo puede identificar la topología asociada con la información enviada por sus vecinos.
  • Cost - Costo asociado al enlace para el cálculo de la métrica de la ruta.
 Transmit Delay is 1 sec, State DR, Priority 1
  • Transmit Delay - Demora para la transmisión expresada en segundos.
  • State - Estado de negociación DR/BDR de la interfaz que está asociada a una red tipo broadcast. En este caso el dispositivo ha sido seleccionado como DR para ese segmento de red.
  • Priority - Prioridad del dispositivo para la definición de la elección de DR/BDR.
 Designated Router (ID) 192.168.99.1, Interface address 192.168.254.202
  • Designated Router (ID) - Router ID del dispositivo elegido como DR.
  • Interface address - Dirección IP de la interfaz del router DR conectado al enlace.
 Backup Designated router (ID) 192.168.254.10, Interface address 192.168.254.10
  • Backup Designated Router (ID) - Router ID del dispositivo elegido como BDR para el enlace de red tipo broadcast al que conecta esta interfaz.
  • Interface address - Dirección IP de la interfaz del router BDR conectado al enlace.
 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
  • Timer intervals configured - Valor de los temporizadores con los que opera el protocolo OSPF sobre este enlace expresado en segundos.
  • Hello - Temporizador que controla el intervalo de tiempo para el envío de paquetes hello a través de la interfaz. En este caso es de 10 segundos.
  • Dead - Temporizador que controla el intervalo de tiempo para dar por no-presente a un dispositivo vecino detectado a través de la interfaz. En este caso es de 40 segundos.
   oob-resync timeout 40
   Hello due in 00:00:05

   [se omiten líneas...]

 Neighbor Count is 1, Adjacent neighbor count is 1 
  • Neighbor Count - Cantidad de vecinos que se detectan como adyacentes a través de esta interfaz. En este caso se detecta un único vecino a través de la interfaz.
   Adjacent with neighbor 192.168.254.10  (Backup Designated Router)
 Suppress hello for 0 neighbor(s)
  • RID del vecino que se ha detectado a través de esta interfaz.
  • El vecino OSPF detectado a través de esta interfaz ha sido elegido como BDR para el enlace de red tipo broadcast al que conecta la interfaz.

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


31 de octubre de 2018

Comandos: show ip ospf

Me abocaré ahora a la revisión de los comandos específicos de monitoreo de la operación de OSPF versión 2 (enrutamiento IPv4). Comenzaré por revisar el comando show ip ospf [PID]. 

Este comando permite verificar información sobre el proceso de enrutamiento y ha sido introducido en IOS 10.0 y a partir de allí se ha mantenido en sucesivas versiones y releases del sistema operativo, con algunas variantes.
La estructura e información que brinda el comando no sólo depende de la versión del sistema operativo sino también de la configuración del protocolo.

Consideremos en primer lugar un ejemplo tomando como base el resultado de la ejecución en un router Cisco IOS para luego revisarlo con mayor detalle.

Router# show ip ospf
Routing Process "ospf 201" with ID 10.0.0.1
  Supports only single TOS(TOS0) routes 
  Supports opaque LSA 
  SPF schedule delay 5 secs, Hold time between two SPFs 10 secs 
  Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs 
  LSA group pacing timer 100 secs 
  Interface flood pacing timer 55 msecs 
  Retransmission pacing timer 100 msecs 
  Number of external LSA 0. Checksum Sum 0x0      
  Number of opaque AS LSA 0. Checksum Sum 0x0      
  Number of DCbitless external and opaque AS LSA 0 
  Number of DoNotAge external and opaque AS LSA 0 
  Number of areas in this router is 2. 2 normal 0 stub 0 nssa 
  External flood list length 0 
     Area BACKBONE(0) 
         Number of interfaces in this area is 2 
         Area has message digest authentication 
         SPF algorithm executed 4 times 
         Area ranges are 
         Number of LSA 4. Checksum Sum 0x29BEB  
         Number of opaque link LSA 0. Checksum Sum 0x0      
         Number of DCbitless LSA 3 
         Number of indication LSA 0 
         Number of DoNotAge LSA 0 
         Flood list length 0 
     Area 172.16.26.0 
         Number of interfaces in this area is 0 
         Area has no authentication 
         SPF algorithm executed 1 times 
         Area ranges are 
            192.168.0.0/16 Passive Advertise  
         Number of LSA 1. Checksum Sum 0x44FD   
         Number of opaque link LSA 0. Checksum Sum 0x0      
         Number of DCbitless LSA 1 
         Number of indication LSA 1 
         Number of DoNotAge LSA 0 
         Flood list length 0

El comando muestra información respecto del proceso correspondiente, los timers, operación e información estadística de las áreas conectadas (en este caso se trata de un router ABR de borde de área que conecta 2 áreas) . Si se especifica un ID de proceso se muestra la información exclusivamente de ese proceso, si no se especifica se muestra la información de cada uno de los procesos corriendo en el dispositivo.

Lectura del comando
Revisemos ahora el resultado de la ejecución del comando:

Router# show ip ospf
Routing Process "ospf 201" with ID 10.0.0.1 
  • Puestra el ID de proceso y el router ID utilizado en ese proceso de OSPF.
    En este caso, el PID es 201, el RID es 10.0.0.1
  Supports only single TOS(TOS0) routes 
  • Tipos de servicios OSPF soportados en este proceso.
    En este caso particular se soporta únicamente TOS 0.
  Supports opaque LSA 
  SPF schedule delay 5 secs, Hold time between two SPFs 10 secs 
  • Delay en segundos para el cálculo del algoritmo SPF en el inicio del proceso del protocolo.
    En este caso hay un delay de 5 segundos.
  Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs 
  • Intervalo mínimo, el segundos, entre la generación o arribo de LSAs.
  LSA group pacing timer 100 secs 
  • Intervalo mínimo de tiempo que pasa entre grupos de LSAs.
    En este ejemplo, 100 segundos.
  Interface flood pacing timer 55 msecs 
  • Tiempo en milisegundos configurado para dejar pasar entre inundaciones de LSAs a través de las interfaces.
    En este caso, 55 milisegundos.
  Retransmission pacing timer 100 msecs 
  • Tiempo en milisegundos que debe pasar antes de realizar una retransmisión de un LSA.
    En el ejemplo es de 100 milisegundos.
  Number of external LSA 0. Checksum Sum 0x0
  • Cantidad de LSAs que anuncian enlaces externos procesados.
    En este caso no se ha procesado ninguno.
  Number of opaque AS LSA 0. Checksum Sum 0x0
  • Cantidad de LSAs opacos procesados.
    En este caso, ninguno.
  Number of DCbitless external and opaque AS LSA 0
  • Cantidad de LSAs de demanda de circuito externo y opacos.
  Number of DoNotAge external and opaque AS LSA 0
  • Cantidad de LSAs de DoNotAge LSAs externos y opacos. 
  Number of areas in this router is 2. 2 normal 0 stub 0 nssa 
  • Cantidad de áreas a las que se encuentra conectado este dispositivo.
    En este ejemplo, son 2 áreas.
  • Tipos de áreas a las que se encuentra conectado el dispositivo.
    En este ejemplo está conectado a 2 áreas normales, ningún área stub, ningún área not so stubby.
  External flood list length 0 
  • Longitud de la lista de información externa. En este caso no hay información externa a OSPF.
     Area BACKBONE(0) 
  • Información correspondiente al área de backbone (área 0) a la que se encuentra conectado el dispositivo ya que se trata de un ABR.
         Number of interfaces in this area is 2 
  • Cantidad de interfaces del dispositivo que operan en esta área.
    En este caso el router tiene 2 interfaces en el área 0.
         Area has message digest authentication 
  • En esta área se ha activado autenticación utilizando cifrado MD5.
         SPF algorithm executed 4 times 
  • Cantidad de veces que se ejecutó el algoritmo SPF sobre la información correspondiente a esta área.
    En este caso se ha ejecutado 4 veces desde el inicio del proceso.
         Area ranges are 
         Number of LSA 4. Checksum Sum 0x29BEB  
  • Cantidad de LSAs registrados en la base de datos topológica de esta área. En este caso hay 4 LSAs.
         Number of opaque link LSA 0. Checksum Sum 0x0      
         Number of DCbitless LSA 3 
         Number of indication LSA 0 
         Number of DoNotAge LSA 0 
         Flood list length 0 
  • Demás estadísticas correspondientes al movimiento de LSAs específicos dentro de esta área.
     Area 172.16.26.0 
  • Información de operación del protocolo correspondiente a otra área.
    En este caso el área ID (que tiene 32 bits de longitud) está expresado en un formato de 4 octetos decimales que es uno de los formatos admitidos.
        [se omiten las demás líneas]


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


27 de octubre de 2018

Comando: show ip protocols (ospf)

En posts anteriores he revisado comandos de monitoreo de la operación de protocolos de enrutamiento, comenzando por RIP y luego de EIGRP. Continuando con este recorrido voy ahora a revisar comandos vinculados a otro protocolo de enrutamiento, OSPF.

Como dije en su momento cuando analicé el resultado de este comando para el protocolo RIP y para EIGRP, se trata de un comando que es  independiente del protocolo de enrutamiento (o protocolos) implementado. Pero varios de los parámetros que presenta varían de acuerdo al protocolo de enrutamiento implementado. En este post revisaré la información que brinda en caso de encontrar que el protocolo implementado es OSPF.

Este comando ha sido introducido en IOS 10.0 y tuvo algunas modificaciones de consideración en IOS 12,2(15)T y IOS 15.1(2)S.
Es de utilidad para verificar la operación de los protocolos de enrutamiento ya que permite verificar el origen de la información de enrutamiento y la generación de rutas por defecto.

Un ejemplo de este comando en un dispositivo que implementa OSPF:

Router#show ip protocols
Routing Protocol is "ospf 1"
 Outgoing update filter list for all interfaces is not set
 Incoming update filter list for all interfaces is not set
 Default networks flagged in outgoing updates
 Default networks accepted from incoming updates
 Redistributing: ospf 1
 Router-ID: 10.10.3.1
 Number of areas in this router is 1. 1 normal 0 stub 0 nssa
 Maximum path: 4
 Routing for Networks:
    10.1.1.1 0.0.0.0 area 0
    10.1.1.5 0.0.0.0 area 0
    10.10.3.1 0.0.0.0 area 0
 Routing Information Sources:
  Gateway     Distance  Last Update
  10.10.1.1    110      00:00:23
  10.10.2.1    110      00:00:09
 Distance: (default is 110)

Lectura del comando
Revisemos ahora el resultado de la ejecución del comando:

Router#show ip protocols
Routing Protocol is "ospf 1"
  • Indica que se encuentra activo un proceso del protocolo de enrutamiento OSPF que utiliza el ID de proceso "1". Este ID de proceso es de relevancia exclusivamente local.
 Outgoing update filter list for all interfaces is not set
  • Indica si se ha aplicado un filtro de rutas para las actualizaciones de enrutamiento salientes.
 Incoming update filter list for all interfaces is not set
  • Indica si se ha aplicado un filtro de rutas para las actualizaciones de enrutamiento entrantes.
 Default networks flagged in outgoing updates
 Default networks accepted from incoming updates

 Redistributing: ospf 1
  • Muestra las fuentes de información de enrutamiento que están siendo redistribuidas por este proceso de OSPF. En este caso sólo se redistribuyen rutas OSPF.
  Router-ID: 10.10.3.1
  • Identificador del router utilizado por el proceso de ospf que se detalla. Este RID se envía en los paquetes Hello y se comunica en los SLA que corresponden.
 Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  • Number of areas: indica la candidad de áreas a las que están conectadas las diferentes interfaces de este dispositivo.
    En este caso se trata de un router interno de área por lo que está en una solo área.
  • 1 normal 0 stub 0 nssa
    Indica, de las áreas que están conectadas a interfaces de este router, el tipo de áreas de que se trata diferenciando áreas normales, áreas stub y áreas no so stuby areas. En este caso la única área conectada al router es un área normal.
 Maximum path: 4
  • Cantidad máxima de rutas a cada destino que se proponen a la tabla de enrutamiento.
  • En este ejemplo se mantiene el valor por defecto: 4.
 Routing for Networks:
    10.1.1.1 0.0.0.0 area 0
    10.1.1.5 0.0.0.0 area 0
    10.10.3.1 0.0.0.0 area 0
  • Muestra las redes que se han incluido en el proceso de EIGRP y que por lo tanto están siendo publicadas a través de este protocolo.
  • Corresponde a los comandos network utilizados en la configuración.
  • Se detalla dirección IP vinculada a la red que se incorpora el proceso y máscara de wildcard  utilizada en la configuración (en este caso se ha utilizado la dirección IP de la interfaz con una máscara de wildcard completamente en cero).
  • A continuación de cada red definida se indica a qué área de OSPF pertenece esa red. En este caso todas las interfaces son parte del área 0, que es la única área asociada a este router.
 Routing Information Sources:
  Gateway     Distance  Last Update
  10.10.1.1    110      00:00:23
  10.10.2.1    110      00:00:09
  • Muestra la lista de fuentes de información (dispositivos vecinos OSPF) de enrutamiento que está utilizando IOS para construir la tabla topológica con información de enrutamiento.
  • Para cada vecino OSPF se indica: dirección IP, distancia administrativa y tiempo transcurrido desde la recepción de la última actualización desde esa fuente.
 Distance: (default is 110)
  • Muestra la distancia administrativa utilizada por IOS para calificar la información de enrutamiento adquirida a través del protocolo. En este caso se mantiene la distancia administrativa por defecto.


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


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.