Introducción
Este documento describe cómo identificar y recopilar datos cuando el tráfico ha perdido a través de la WAN pero no se ven caídas en el extremo de la SD-WAN.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Red de área extensa definida por software (SD-WAN) de Cisco
- Captura de paquetes integrada o captura de paquetes vManage
- Wireshark
- Microsoft Excel
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- C8000V versión 17.03.04
- vManage versión 20.3.4
- Wireshark versión 2.6.3
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Background
Para ayudar con este desafío, los pasos descritos en este documento muestran cómo marcar el tráfico específico con el punto de código de servicios diferenciados (DSCP) para ayudar a identificar los paquetes deseados. DSCP se puede utilizar para identificar el tráfico ya que este valor se copia del encabezado de paquete interno al encabezado IPsec. Una vez que se identifican los paquetes deseados, se muestra cómo hacer coincidir el tráfico a través de dos capturas de WAN para garantizar que el tráfico circule desde el origen al destino.
Se utilizan dos sitios de router individuales para demostrar esta técnica de solución de problemas. En este caso, el tráfico ICMP de 10.0.0.10 a 10.0.2.10 en forma de 100 pings, como se muestra en la imagen. No hay pérdidas en este ejemplo, pero esta misma técnica de solución de problemas se utiliza en el caso de que haya una pérdida para identificarla.
Proceso de Troubleshooting
Proceso general
- Para el tráfico rastreado a través de la WAN, se necesita una lista de acceso (ACL) (o política centralizada) para marcar el tráfico con algún valor DSCP no utilizado. En este ejemplo, se utiliza DSCP 27.
- Una vez marcado el tráfico, la captura de paquetes integrada se utiliza para capturar los paquetes en la interfaz de transporte del router de origen y destino.
Nota: La captura de paquetes de vManage también se puede utilizar aunque hay una limitación de 5 MB de datos o 5 minutos de tiempo de ejecución.
- Una vez realizadas las capturas, ábralas en Wireshark para verlas.
- El filtro se aplica en Wireshark para mostrar qué paquetes se desean y, a continuación, se comparan.
- Microsoft Excel se utiliza para capturas de gran tamaño para garantizar la precisión.
Marque el tráfico deseado con DSCP
Una lista de acceso como el ejemplo Se configura en el router de origen (cEdge1 en este ejemplo) y se aplica en la interfaz en la parte SD-WAN de la configuración del router como se muestra.
Se aplica un contador opcional para verificar que el tráfico llega a la política como se esperaba. Esto se puede verificar con el comando show sdwan policy access-list-counters.
policy
access-list mark_dscp_27
sequence 10
match
source-ip 10.0.0.10/32
destination-ip 10.0.2.10/32
!
action accept
count MARK_DSCP_27_COUNT (optional counter to verify packets that hit the policy)
set
dscp 27
!
!
!
default-action accept
sdwan
interface GigabitEthernet3
access-list mark_dscp_27 in
Capturar el tráfico con la captura incorporada
Nota: Cómo configurar una captura de paquetes incrustada en Cisco IOS XE para capturar los paquetes cifrados que atraviesan la WAN, navegue hasta Ejemplo de Configuración de Captura de Paquetes Integrada para Cisco IOS y Cisco IOS XE
Nota: Se debe utilizar una ACL para limitar el EPC en la WAN, ya que podría haber más del límite de velocidad de 1000 PPS para el EPC.
Ejemplo:
Una ACL se configura en cEdge1 y cEdge3 ya que el tráfico sólo se verifica en la dirección de origen a destino en este ejemplo.
Nota: Las direcciones IP de WAN se utilizan para filtrar la captura. Hay varias salidas que se pueden utilizar para identificar la trayectoria que toma el tráfico de modo que se puedan identificar las IP de WAN correctas para el filtro ACL. Los comandos que se pueden utilizar para generar esta salida son show sdwan app-fwd cflow flows y show sdwan policy service path. Desplácese hasta Seguimiento de paquete condicional para la condición de depuración.
ip access-list extended CAP-Filter
10 permit ip host 192.168.23.149 host 192.168.28.240
En este punto, las capturas se inician en ambos routers y se envían 100 pings a través de la superposición.
#ping vrf 10 10.0.2.10 rep 100
Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 10.0.2.10, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 1/1/4 ms
Una vez que las capturas se detienen y se recopilan de ambos routers, deben abrirse en Wireshark para verlas.
Análisis mediante Wireshark
Una vez que se abre la captura cEdge1 en Wireshark, se ve que todo el tráfico está cifrado y no es fácil descifrar qué paquetes son los pings que se enviaron.
Filtre esta captura con un filtro de visualización ip.dsfield.dscp == 27, se ve que solo se muestran 100 paquetes en la parte inferior de la pantalla y se ve que el valor de la columna DSCP muestra todos 27.
En algunos casos en los que el valor DSCP se mantiene a través de la WAN, se puede utilizar el mismo filtro en la captura de destino.
En otros casos, esto no es posible, como en una situación en la que el valor DSCP se borra a través de una conexión de Internet pública.
Filtrar el tráfico deseado por secuencia ESP
En cualquier caso, el tráfico se puede identificar con los números de secuencia ESP.
Para ver los números de secuencia ESP en el paquete, haga clic con el botón derecho en la captura y elija Decodificar como se muestra.
Seleccione el menú desplegable Campo actual y, en ese campo, escriba UDPENCAP o selecciónelo en el menú desplegable.
Seleccione OK una vez que haya terminado.
Dentro de la sección Detalles del Paquete Wireshark, expanda la parte Carga de Seguridad de Encapsulación del paquete para ver la Secuencia ESP.
Haga clic con el botón derecho del ratón en ESP Sequence y seleccione apply as column para que la secuencia ESP se pueda ver como una columna en la sección Packet List en la parte superior de la pantalla Wireshark.
Nota: El SPI ESP para los paquetes en cEdge1 es 0x040001dc. Se utiliza para un filtro en la captura de destino.
Abra la captura de destino, repita los pasos para decodificar como UDPENCAP y muestre los números de secuencia ESP en los paquetes.
Una vez que los paquetes muestran el número de secuencia ESP, el SPI ESP de la primera captura se puede utilizar como filtro en la segunda captura para mostrar sólo el tráfico dentro de ese SPI que coincida con el tráfico deseado.
Observe que los números de secuencia de paquetes que coinciden con ambos tienen DSCP 27 marcado.
Esta comparación se puede realizar en Wireshark manualmente o se puede utilizar Microsoft Excel para realizar esta comparación.
Para utilizar Microsoft Excel para realizar la comparación, es necesario dividir ambas capturas para que contengan sólo paquetes que se encuentren en ambas capturas.
En la captura de origen, el primer paquete relevante tiene la secuencia ESP 306 y corresponde al paquete número 451.
El último paquete relevante en la captura de origen tiene la secuencia ESP 405 y es el paquete número 550.
En la captura de destino, el primer paquete relevante corresponde a la captura de origen con la secuencia ESP 306, pero en esta captura está el paquete 463.
El último paquete relevante también está presente con la secuencia ESP 405 y es el paquete 564.
La primera captura se debe dividir para incluir sólo los paquetes relevantes.
Vaya a Archivo > Exportar disecciones de paquetes > Como CSV...
Seleccione Captured y Range y en el campo Range escriba el rango desde el primer paquete relevante hasta el último paquete relevante.
Introduzca un nombre de archivo en el campo Nombre de archivo y haga clic en Guardar.
Repita el mismo proceso en la captura 2 para los paquetes relevantes.
Abra ambos archivos CSV en Microsoft Excel.
En la captura de origen CSV, guárdela como un formato XLSX.
En la parte inferior de la pantalla, seleccione el símbolo + para agregar otra hoja. Asígnele el nombre CAP2_slice.
Abra el archivo CAP2 CSV y presione CTRL + a para seleccionar all y CTRL + c para copiarlo.
Navegue hasta el archivo CAP1_slice.xlsx y en la segunda pestaña para CAP2_slice, pegue (CTRL + v) la información copiada en la celda A1.
Vaya de nuevo a la hoja CAP1_slice y cree una nueva columna llamada COMPARE_ESP_SEQUENCE.
Dado que el número de secuencia ESP se encuentra en la Columna G, cree un comando VLOOKUP como se muestra para comparar las dos hojas y asegurarse de que todo lo que se encuentra en la Columna G en el origen está en la Columna G en el destino.
=SI(ISNA(BUSCARV(G2,CAP2_slice!G:G,1,FALSO)),"FALTANTE","PRESENTE")
Después de seleccionar Enter, se muestra la palabra PRESENT. Esto significa que el paquete con la secuencia ESP 306 está presente en la segunda hoja. Esto es significativo porque significa que el paquete llegó desde el origen al destino.
Seleccione la columna O fila 2 y sitúe el cursor sobre la esquina inferior derecha del cuadro verde que rodea la celda.
Seleccione y mantenga pulsado, y arrastre el ratón hacia abajo para copiar esta fórmula en la parte inferior de las celdas que tienen valores.
Desplácese de nuevo hasta la parte superior de la hoja y haga clic en COMPARE_ESP_SEQUENCE. A continuación, seleccione Ordenar y filtrar.
Elija Filter en el menú desplegable.
Aparecerá un menú desplegable en la columna COMPARE_ESP_SEQUENCE.
Haga clic en el menú desplegable del encabezado COMPARE_ESP_SEQUENCE. Observe que en este ejemplo, el único valor que se muestra es PRESENT. Esto significa que todos los paquetes están presentes en ambas capturas.
Para crear un ejemplo problemático, elimine 10 paquetes de CAP2_slice, para demostrar cómo funcionaría esto en una prueba en la que faltan algunos paquetes perdidos.
Vuelva a la hoja CAP1_slice y ahora se ve que faltan 10 paquetes.
Cuando se selecciona el menú desplegable en la columna COMPARE_ESP_SEQUENCE, ahora se ve que también hay paquetes PERDIDOS. Esto se puede alternar para ver solamente los paquetes PERDIDOS.
Ahora solo se muestran los paquetes que faltan en la hoja de Excel.
DSCP es diferente en el receptor
En algunos escenarios, el valor DSCP establecido es borrado por el ISP, por lo que no coincide en el lado del receptor con el DSCP establecido en el remitente. Otra herramienta útil para complementar esta situación y realizar un seguimiento de los paquetes es el ESP SPI y el número de secuencia ESP.
El DSCP se debe utilizar para identificar paquetes interesantes del remitente. Luego, el número de secuencia ESP de esos paquetes específicos se puede comparar con la captura del receptor. A diferencia del marcado DSCP, el número de secuencia ESP no se puede modificar ya que está integrado en la funcionalidad IPSEC de SD-WAN. Esto hace que el Número de secuencia ESP sea útil para rastrear los paquetes interesantes (coincidentes con DSCP en el remitente) a través de la capa subyacente.
Para comparar los números de secuencia ESP, el número de secuencia ESP se puede agregar como una columna en Wireshark y compararse entre las capturas salientes y entrantes.
Cuando se abre la captura pcap en Wireshark, para poder ver el SPI ESP y el número de secuencia, expanda un paquete, haga clic con el botón derecho y seleccione las preferencias de protocolo, busque UDPENCAP y cambie el puerto predeterminado al puerto SD-WAN (puerto de origen) como se muestra en la imagen.
Después de que UDPENCAP esté colocado con el puerto correcto, la información ESP ahora se muestra como se muestra en la imagen.
Nota: Para obtener más información sobre ESP en SD-WAN, consulte Resolución de problemas de fallos de reproducción de bloqueo IPSec de extremo SD-WAN
Información Relacionada