Monitorizando tráfico con Port Mirroring

SPAN local: tanto el origen como el destino de SPAN se encuentran en el switch local. La fuente es uno o más puertos de switch.

SPAN remoto (RSPAN): la fuente y el destino de SPAN se encuentran en diferentes switches. El tráfico reflejado se copia a través de una VLAN de propósito especial a través de enlaces troncales entre los switches desde la fuente hasta el destino.

SPAN

Para configurar una sesión SPAN, se comienza por definir la fuente (source) de los datos de la sesión SPAN, usando el siguiente comando de configuración global:

Switch(config)# monitor session session-number source {interface type member/mod/num | vlan vlan-id}[rx | tx | both]

Después se identifica el destino de SPAN utilizando el siguiente comando de configuración global. Asegúrese de indicar el mismo número de sesión para que el destino quede vinculado a la fuente (source) correspondiente:

Switch(config)# monitor session session-number destination interface type member/mod/num [encapsulation replicate]

Importante: Solo se puede definir un destino para cada sesión de SPAN. Las diferentes sesiones de SPAN configuradas no pueden compartir un destino común, cada una debe tener su propio destino. El destino debe ser una interfaz física, no una interfaz VLAN SVI.

SPAN normalmente copia los paquetes al destino sin ninguna etiqueta de VLAN Trunk. SPAN normalmente no copia los protocolos de Capa 2 que envía el propio switch, como pueden ser STP, BPDU, CDP, VTP, DTP y PAgP. Si queremos capturar cualquier información de etiquetado de VLAN o los paquetes de protocolo de Capa 2, se debe especificar encapsulation replicate.

Si la fuente SPAN es un puerto Trunk, se puede especificar de qué VLANs se quiere capturar el tráfico especificando una lista de VLAN con el siguiente comando de configuración global:

Switch(config)# monitor session session-number filter vlan vlan-range

NOTA: Cuando se habilita SPAN local el STP está deshabilitado en el puerto de destino.

RSPAN

La configuración de RSPAN comienza con la definición de la VLAN RSPAN de propósito especial. Si se configura la VLAN RSPAN en un servidor VTP, éste la propaga correctamente a otros switches intermedios. Si se hace manualmente se debe extender esta VLAN para RSPAN explícitamente en cada switch intermedio. Si se está utilizando la VTP Pruning, la VLAN RSPAN se eliminará de troncales innecesarios, lo que limitará el impacto del tráfico en áreas no relacionadas de la red.

Es conveniente crear y mantener una o más VLAN RSPAN solo para fines exclusivamente de monitoreo, para ello definir una VLAN RSPAN para cada sesión RSPAN que se utilizará. Es un mal consejo añadir dispositivos a una VLAN RSPAN.

RSPAN VLAN deshabilita el aprendizaje de direcciones MAC (disables MAC address learning).

La VLAN RSPAN se configura solo en puertos Trunk y no en puertos Access.

Para definir una VLAN RSPAN en cada conmutador entre el origen y el destino, podemos usar los siguientes comandos de configuración:

Switch(config)# vlan vlan-id
Switch(config-vlan)# remote-span

Una vez que tenemos la VLAN SPAN definida en los switches implicados (todo el camino desde el origen al destino). En el switch de origen, indicamos el origen y el destino con los siguientes comandos de configuración global:

Switch(config)# monitor session session-number source {interface type member/ mod/num | vlan vlan-id}[rx | tx | both]
Switch(config)# monitor session session-number destination remote vlan rspan-vlan-id

En el switch de destino, se debe identificar de nuevo el origen y el destino de RSPAN mediante los siguientes comandos de configuración global:

Switch(config)# monitor session session-number source remote vlan rspan-vlan-id
Switch(config)# monitor session session-number destination interface type member/mod/num [encapsulation replicate]

Para ver las sesiones configuradas podemos buscar los comandos en la configuración:

Switch# show running-config | include monitor

O podemos ver las sesiones an global o alguna en específico con el comando:

Switch# show monitor [session {session-number | all | local | range range-list | remote}] [detail]

Para borrar una o más sesiones podemos usar el comando:

Switch(config)# no monitor session {session | range session-range} | local | all}

Retro

Lugares

Redes

Sistemas

Varios