Este documento describe cómo resolver mejor los problemas de la función de firewall basado en zonas (ZBFW) en el router de servicios de agregación (ASR) 1000, con comandos que se utilizan para sondear los contadores de caídas de hardware en el ASR. ASR1000 es una plataforma de reenvío basada en hardware. La configuración de software de Cisco IOS-XE® programa los ASIC de hardware (procesador de flujo cuántico (QFP) para realizar funciones de reenvío de funciones. Esto permite un mayor rendimiento y un mejor rendimiento. La desventaja de esto es que presenta un mayor desafío para resolver problemas. Los comandos tradicionales de Cisco IOS utilizados para sondear las sesiones actuales y los contadores de caídas mediante el firewall basado en zonas (ZBFW) ya no son válidos, ya que las caídas ya no se encuentran en el software.
Para resolver problemas de la ruta de datos, debe identificar si el tráfico pasa correctamente a través del código ASR y Cisco IOS-XE. Específicamente para las funciones de firewall, la resolución de problemas de la ruta de datos sigue estos pasos:
El resultado de show tech support firewall se resume aquí:
-------- show clock --------
-------- show version -------
-------- show running-config --------
-------- show parameter-map type inspect --------
-------- show policy-map type inspect -------
-------- show class-map type inspect --------
-------- show zone security --------
-------- show zone-pair security --------
-------- show policy-firewall stats global --------
-------- show policy-firewall stats zone --------
-------- show platform hardware qfp active feature firewall datapath <submode> --------
-------- show platform software firewall RP <submode> --------
La información de conexión se puede obtener para que se muestren todas las conexiones en ZBFW. Ingrese este comando:
ASR#show policy-firewall sessions platform
--show platform hardware qfp active feature firewall datapath scb any any any any any all any --
[s=session i=imprecise channel c=control channel d=data channel]
14.38.112.250 41392 14.36.1.206 23 proto 6 (0:0) [sc]
Muestra una conexión Telnet TCP de 14.38.112.250 a 14.36.1.206.
La tabla de conexión se puede filtrar a una dirección de origen o de destino específica. Utilice filtros después del submodo de plataforma. Las opciones para filtrar son:
radar-ZBFW1#show policy-firewall sessions platform ?
all detailed information
destination-port Destination Port Number
detail detail on or off
icmp Protocol Type ICMP
imprecise imprecise information
session session information
source-port Source Port
source-vrf Source Vrf ID
standby standby information
tcp Protocol Type TCP
udp Protocol Type UDP
v4-destination-address IPv4 Desination Address
v4-source-address IPv4 Source Address
v6-destination-address IPv6 Desination Address
v6-source-address IPv6 Source Address
| Output modifiers
<cr>
Esta tabla de conexión se filtra para mostrar solamente las conexiones que se originan en 14.38.112.250:
ASR#show policy-firewall sessions platform v4-source-address 14.38.112.250
--show platform hardware qfp active feature firewall datapath scb 14.38.112.250
any any any any all any --
[s=session i=imprecise channel c=control channel d=data channel]
14.38.112.250 41392 14.36.1.206 23 proto 6 (0:0) [sc]
Una vez que se filtra la tabla de conexión, se puede obtener la información de conexión detallada para un análisis más completo. Para mostrar este resultado, utilice la palabra clave detail.
ASR#show policy-firewall sessions platform v4-source-address 14.38.112.250 detail
--show platform hardware qfp active feature firewall datapath scb 14.38.112.250
any any any any all any detail--
[s=session i=imprecise channel c=control channel d=data channel]
14.38.112.250 41426 14.36.1.206 23 proto 6 (0:0) [sc]
pscb : 0x8c5d4f20, bucket : 64672, fw_flags: 0x204 0x20419441,
scb state: active, scb debug: 0
nxt_timeout: 360000, refcnt: 1, ha nak cnt: 0, rg: 0, sess id: 117753
hostdb: 0x0, L7: 0x0, stats: 0x8e118e40, child: 0x0
l4blk0: 78fae7a7 l4blk1: e36df99c l4blk2: 78fae7ea l4blk3: 39080000
l4blk4: e36df90e l4blk5: 78fae7ea l4blk6: e36df99c l4blk7: fde0000
l4blk8: 0 l4blk9: 1
root scb: 0x0 act_blk: 0x8e1115e0
ingress/egress intf: GigabitEthernet0/0/2 (1021), GigabitEthernet0/0/0 (131065)
current time 34004163065573 create tstamp: 33985412599209 last access: 33998256774622
nat_out_local_addr:port: 0.0.0.0:0 nat_in_global_addr:port: 0.0.0.0:0
syncookie fixup: 0x0
halfopen linkage: 0x0 0x0
cxsc_cft_fid: 0x0
tw timer: 0x0 0x0 0x372ba 0x1e89c181
Number of simultaneous packet per session allowed: 25
bucket 125084 flags 1 func 1 idx 8 wheel 0x8ceb1120
La salida del contador de caídas cambió durante XE 3.9. Antes de XE 3.9, las razones de caída del firewall eran muy genéricas. Después de XE 3.9, las razones de caída del firewall se ampliaron para ser más granulares.
Para verificar los contadores de caídas, realice dos pasos:
El comando básico en el que confiar proporciona todas las caídas a través de QFP:
Router#show platform hardware qfp active statistics drop
Este comando muestra las caídas genéricas globalmente en el QFP. Estas caídas pueden estar en cualquier función. Algunas características de ejemplo son:
Ipv4Acl
Ipv4NoRoute
Ipv6Acl
Ipv6NoRoute
NatIn2out
VfrErr
...etc
Para ver todas las caídas, incluya los contadores que tienen un valor de cero, utilice el comando:
show platform hardware qfp active statistics drop all
Para borrar los contadores, utilice este comando. Borra la salida después de mostrarla en la pantalla. Este comando está claro al leer, por lo que el resultado se restablece a cero después de que se muestre en la pantalla.
show platform hardware qfp active statistics drop clear
A continuación se ofrece una lista de los contadores de caídas de firewall globales de QFP y una explicación:
Motivo de caída global del firewall | Explicación |
FirewallRepresión | Caída de paquetes debido a contrapresión por el mecanismo de registro. |
ZonaNoVálidaFirewall | No hay ninguna zona de seguridad configurada para la interfaz. |
FirewallL4Insp | Falla de verificación de política L4. Consulte la tabla siguiente para obtener información más detallada sobre los motivos de las caídas (motivos de las caídas de las funciones del firewall). |
ZonaSinReenvíoFirewall | El firewall no se inicializa y no se permite el paso de tráfico. |
FirewallNoSesión | La creación de la sesión falla. Podría deberse a que se ha alcanzado el límite máximo de sesiones o a una falla en la asignación de memoria. |
Política de firewall | Se descarta la política de firewall configurada. |
FirewallL4 | Falla de inspección L4. Consulte la tabla siguiente para obtener información más detallada sobre los motivos de las caídas (Motivos de descarte de la función de firewall). |
FirewallL7 | Caída de paquetes debido a inspección L7. Consulte a continuación una lista de motivos de caída L7 más granulares (motivos de descarte de la función Firewall). |
FirewallNotInitiator | No es un iniciador de sesión para TCP, UDP o ICMP. No se ha creado ninguna sesión. Por ejemplo, para ICMP, el primer paquete recibido no es ECHO ni TIMESTAMP. Para TCP, no es un SYN. Esto podría ocurrir en el procesamiento normal de paquetes o en el procesamiento impreciso del canal. |
FirewallNoNewSession | Firewall High Availability no permite nuevas sesiones. |
FirewallSyncookieMaxDst | Para proporcionar protección contra inundación SYN basada en host, existe una velocidad SYN por destino como límite de inundación SYN. Cuando el número de entradas de destino alcanza el límite, se descartan los paquetes SYN nuevos. |
FirewallSyncookie | Se activa la lógica SYNCOOLIE. Esto indica que se envió SYN/ACK con la cookie SYN y se descartó el paquete SYN original. |
FirewallARStandby | El enrutamiento asimétrico no está habilitado y el grupo de redundancia no está en estado activo. |
La limitación con el contador de caídas global de QFP es que no hay granularidad en las razones de caída, y algunas de las razones de caída como FirewallL4 se sobrecargan tanto que es de poca utilidad para la resolución de problemas. Esto se ha mejorado desde entonces en Cisco IOS-XE 3.9 (15.3(2)S), donde se agregaron los contadores de caídas de funciones del firewall. Esto proporciona un conjunto mucho más granular de razones de caída:
ASR#show platform hardware qfp active feature firewall drop all
-------------------------------------------------------------------------------
Drop Reason Packets
-------------------------------------------------------------------------------
Invalid L4 header 0
Invalid ACK flag 0
Invalid ACK number 0
....
A continuación se ofrece una lista de las razones y explicaciones de las caídas de funciones del firewall:
Motivo de la caída de la función de firewall | Explicación |
Longitud de encabezado no válida | El datagrama es tan pequeño que no puede contener el encabezado ICMP, TCP o TCP de capa 4. Podría deberse a:
|
Longitud de datos UDP no válida | La longitud del datagrama UDP no coincide con la longitud especificada en el encabezado UDP. |
Número ACK no válido | Esta caída podría deberse a una de estas razones:
|
Indicador ACK no válido |
Esta caída podría deberse a una de estas razones:
|
Iniciador TCP no válido |
Esto sucede cuando:
|
SYN con datos | El paquete SYN contiene carga útil. Esto no se admite. |
Indicadores TCP no válidos | Los indicadores TCP no válidos pueden ser causados por:
|
Segmento no válido en estado SYNSENT |
Un segmento TCP no válido en estado SYNSENT es causado por:
|
Segmento no válido en estado SYNRCVD |
Un segmento TCP no válido en estado SYNRCVD podría ser causado por:
|
SEQ no válida |
Esto ocurre en el estado SYNRCVD cuando los segmentos provienen del iniciador. Se debe a:
|
Opción de ampliación de ventana no válida |
La opción de escala de ventana TCP no válida se debe a una longitud de byte incorrecta de la opción de escala de ventana. |
TCP fuera de la ventana | El paquete es demasiado viejo: una ventana detrás del ACK del otro lado. Esto podría ocurrir en el estado ESTABLECIDO, CERRADO y LASTACK. |
Carga útil adicional de TCP después de que se envió FIN |
Carga recibida después de enviar FIN. Esto podría suceder en el estado de CLOSEWAIT. |
Desbordamiento de ventana TCP |
Esto ocurre cuando el tamaño del segmento entrante desborda la ventana del receptor. Sin embargo, si se habilita vTCP, esta condición se permite porque el firewall necesita almacenar en búfer el segmento para que el ALG lo consuma más tarde. |
Volver con etiquetas no válidas |
El receptor ya reconoció un paquete retransmitido. |
Segmento fuera de pedido TCP | El paquete Out-Of-Order está a punto de ser entregado a L7 para su inspección. Si L7 no permite el segmento OOO, este paquete se descartará. |
Inundación SYN | Bajo un ataque de inundación TCP SYN. Bajo ciertas condiciones cuando las conexiones actuales a este host exceden el valor semirabierto configurado, el firewall rechazará cualquier nueva conexión a esta dirección IP durante un período de tiempo. Como resultado, se descartarán los paquetes. |
Error interno: error al asignar comprobación de la sininundación |
Durante la verificación de la sininundación, la asignación de hostdb falla. Acción Recomendada: marque "show platform hardware qfp active feature firewall memory" para verificar el estado de la memoria. |
Desconexión de sininundación |
Si se exceden las conexiones semirabiertas configuradas y se configura el tiempo de apagón, se descartan todas las conexiones nuevas a esta dirección IP. |
Límite de sesiones semirabiertas excedido |
El paquete se descartó debido a que se excedieron las sesiones semirabiertas permitidas. También verifique las configuraciones de "max-complete high/low" y "one-minute high/low" para asegurarse de que el número de sesiones semirabiertas no esté siendo reducido por estas configuraciones. |
Demasiados paquetes por flujo |
Se supera el número máximo de paquetes inspeccionables permitidos por flujo. El número máximo es 25. |
Demasiados paquetes de error ICMP por flujo |
Se supera el número máximo de paquetes de error ICMP permitidos por flujo. El número máximo es 3. |
Carga útil TCP no esperada de Rsp a Init |
En el estado SYNRCVD, TCP recibe un paquete con carga útil del respondedor a la dirección del iniciador. |
Error interno - Dirección no definida | Dirección del paquete no definida. |
SYN dentro de la ventana actual | Se ve un paquete SYN dentro de la ventana de una conexión TCP ya establecida. |
RST dentro de la ventana actual | Se observa un paquete RST dentro de la ventana de una conexión TCP ya establecida. |
Segmento inactivo |
Se recibe un segmento TCP que no debería haberse recibido a través de la máquina de estado TCP, como un paquete TCP SYN que se recibe en el estado de escucha del respondedor. |
Error interno de ICMP: información de NAT de ICMP perdida |
El paquete ICMP no está activado pero falta la información NAT interna. Este es un error interno. |
Paquete ICMP en estado de cierre SCB |
Recibió un paquete ICMP en el estado SCB CLOSE. |
Encabezado IP perdido en paquete ICMP |
Falta el encabezado IP en el paquete ICMP. |
Error ICMP sin IP ni ICMP |
Paquete de error ICMP sin IP o ICMP en carga útil. Probablemente causado por un paquete mal formado o un ataque. |
Pkt ICMP Err Demasiado Corto |
El paquete de error ICMP es demasiado corto. |
Límite de ráfaga de error ICMP excedido | El paquete de error ICMP supera el límite de ráfaga de 10. |
Error ICMP inalcanzable |
El paquete de error ICMP no se puede alcanzar excede el límite. Sólo se permite pasar el primer paquete inalcanzable. |
Nº De Seq No Válido De ICMP Err |
Seq# de paquete incrustado no coincide con el seq# del paquete que origina el error ICMP. |
ICMP Err Invalid Ack |
ACK no válido en el paquete de error ICMP incrustado. |
Descarte de acción ICMP |
La acción ICMP configurada es drop. |
Par de zonas sin mapa de políticas |
La política no está presente en el par de zonas. podría deberse a que el ALG (Application Layer Gateway) no se ha configurado para abrir el orificio de entrada para el canal de datos de la aplicación, o al ALG no se ha abierto correctamente el orificio de entrada o no se ha abierto ningún orificio de entrada debido a problemas de escalabilidad. |
Sesión Perdida Y Política No Presente |
Error en la búsqueda de sesión y no hay ninguna política presente para inspeccionar este paquete. |
Error ICMP Y Política No Presente |
Error ICMP sin política configurada en el par de zonas. |
Error de clasificación |
Falla de clasificación en un par de zonas dado cuando el firewall intenta determinar si el protocolo es inspeccionable. |
Descarte de acción de clasificación |
La acción de clasificación es descartada. |
Configuración errónea de la política de seguridad |
Error en la clasificación debido a una configuración incorrecta de la política de seguridad. Esto también podría deberse a que no hay una clavija para el canal de datos L7. |
Enviar RST al respondedor |
Enviar RST al respondedor en estado SYNSENT cuando ACK# no es igual a ISN+1. |
Descarte de política de firewall |
La acción de la política es caer. |
Descarte de fragmentos | Descartar los fragmentos restantes cuando se descarta el primer fragmento. |
Descarte de política de firewall ICMP | La acción de política del paquete integrado ICMP es DROP. |
La inspección L7 devuelve DROP |
L7 (ALG) decide descartar el paquete. La razón se puede encontrar en diferentes estadísticas de ALG. |
Pkt De Segmento L7 No Permitido | Paquete segmentado recibido cuando ALG no lo honra. |
L7 Fragmento Pkt No Permitido | Se recibieron paquetes fragmentados (o VFR) cuando ALG no los cumple. |
Tipo de prueba L7 desconocido |
Tipo de protocolo no reconocido. |
Una vez identificado el motivo de la caída desde los contadores de caídas de funciones globales o de firewall anteriores, podrían ser necesarios pasos adicionales para la resolución de problemas si estas caídas son inesperadas. Aparte de la validación de la configuración para asegurarse de que la configuración es correcta para las funcionalidades de firewall habilitadas, a menudo se requiere tomar capturas de paquetes para el flujo de tráfico en cuestión para ver si los paquetes están mal formados o si hay algún problema de implementación de protocolo o aplicación.
La funcionalidad de registro ASR genera syslogs para registrar los paquetes perdidos. Estos syslogs proporcionan más detalles sobre por qué se descartó el paquete. Hay dos tipos de sysloggings:
Para aislar la causa de las caídas, puede utilizar la resolución de problemas genérica de ZBFW, como habilitar las caídas de registro. Hay dos maneras de configurar el registro de descarte de paquetes.
Método 1: Utilice inspect-global parámetro-map para registrar todos los paquetes perdidos.
parameter-map type inspect-global log dropped-packets
Método 2: Utilice el mapa de parámetro de inspección personalizado para registrar los paquetes perdidos sólo para una clase específica.
parameter-map type inspect LOG_PARAM
log dropped-packets
!
policy-map type inspect ZBFW_PMAP
class type inspect ZBFW_CMAP
inspect LOG_PARAM
Estos mensajes se envían al registro o a la consola en función de la configuración del ASR para el registro. Este es un ejemplo de un mensaje de registro de caídas.
*Apr 8 13:20:39.075: %IOSXE-6-PLATFORM: F0: cpp_cp: QFP:0.0 Thread:103
TS:00000605668054540031 %FW-6-DROP_PKT: Dropping tcp pkt from GigabitEthernet0/0/2
14.38.112.250:41433 => 14.36.1.206:23(target:class)-(INSIDE_OUTSIDE_ZP:class-default)
due to Policy drop:classify result with ip ident 11579 tcp flag 0x2, seq 2014580963,
ack 0
policy-map type inspect ZBFW_PMAP
class class-default
drop log
El registro de alta velocidad (HSL) genera registros del sistema directamente desde QFP y los envía al colector HSL de NetFlow configurado. Esta es la solución de registro recomendada para ZBFW en ASR.
Para HSL, utilice esta configuración:
parameter-map type inspect inspect-global
log template timeout-rate 1
log flow-export v9 udp destination 1.1.1.1 5555
Para utilizar esta configuración, se requiere un colector de NetFlow capaz de la versión 9 de Netflow. Esto se detalla en
Active las depuraciones condicionales para habilitar el seguimiento de paquetes y después habilitar el seguimiento de paquetes para estas funciones:
ip access-list extended CONDITIONAL_ACL
permit ip host 10.1.1.1 host 192.168.1.1
permit ip host 192.168.1.1 host 10.1.1.1
!
debug platform condition feature fw dataplane submode all level info
debug platform condition ipv4 access-list CONDITIONAL_ACL both
Active la función de seguimiento de paquetes:
debug platform packet-trace copy packet both
debug platform packet-trace packet 16
debug platform packet-trace drop
debug platform packet-trace enable
Hay dos formas de utilizar esta función:
Activar depuraciones condicionales:
debug platform condition start
Ejecute la prueba y, a continuación, desactive las depuraciones:
debug platform condition stop
Ahora la información se puede mostrar en la pantalla. En este ejemplo, los paquetes ICMP se descartaron debido a una política de firewall:
Router#show platform packet-trace statistics
Packets Summary
Matched 2
Traced 2
Packets Received
Ingress 2
Inject 0
Packets Processed
Forward 0
Punt 0
Drop 2
Count Code Cause
2 183 FirewallPolicy
Consume 0
Router#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi0/0/2 Gi0/0/0 DROP 183 (FirewallPolicy)
1 Gi0/0/2 Gi0/0/0 DROP 183 (FirewallPolicy)
Router#show platform packet-trace packet 0
Packet: 0 CBUG ID: 2980
Summary
Input : GigabitEthernet0/0/2
Output : GigabitEthernet0/0/0
State : DROP 183 (FirewallPolicy)
Timestamp
Start : 1207843476722162 ns (04/15/2014 12:37:01.103864 UTC)
Stop : 1207843477247782 ns (04/15/2014 12:37:01.104390 UTC)
Path Trace
Feature: IPV4
Source : 10.1.1.1
Destination : 192.168.1.1
Protocol : 1 (ICMP)
Feature: ZBFW
Action : Drop
Reason : ICMP policy drop:classify result
Zone-pair name : INSIDE_OUTSIDE_ZP
Class-map name : class-default
Packet Copy In
c89c1d51 5702000c 29f9d528 08004500 00540000 40004001 ac640e26 70fa0e24
01010800 172a2741 00016459 4d5310e4 0c000809 0a0b0c0d 0e0f1011 12131415
Packet Copy Out
c89c1d51 5702000c 29f9d528 08004500 00540000 40003f01 ad640e26 70fa0e24
01010800 172a2741 00016459 4d5310e4 0c000809 0a0b0c0d 0e0f1011 12131415
El comando show platform packet-trace packet <num> decode decodifica la información y el contenido del encabezado del paquete. Esta función se introdujo en XE3.11:
Router#show platform packet-trace packet all decode
Packet: 0 CBUG ID: 2980
Summary
Input : GigabitEthernet0/0/2
Output : GigabitEthernet0/0/0
State : DROP 183 (FirewallPolicy)
Timestamp
Start : 1207843476722162 ns (04/15/2014 12:37:01.103864 UTC)
Stop : 1207843477247782 ns (04/15/2014 12:37:01.104390 UTC)
Path Trace
Feature: IPV4
Source : 10.1.1.1
Destination : 192.168.1.1
Protocol : 1 (ICMP)
Feature: ZBFW
Action : Drop
Reason : ICMP policy drop:classify result
Zone-pair name : INSIDE_OUTSIDE_ZP
Class-map name : class-default
Packet Copy In
c89c1d51 5702000c 29f9d528 08004500 00540000 40004001 ac640e26 70fa0e24
01010800 172a2741 00016459 4d5310e4 0c000809 0a0b0c0d 0e0f1011 12131415
ARPA
Destination MAC : c89c.1d51.5702
Source MAC : 000c.29f9.d528
Type : 0x0800 (IPV4)
IPv4
Version : 4
Header Length : 5
ToS : 0x00
Total Length : 84
Identifier : 0x0000
IP Flags : 0x2 (Don't fragment)
Frag Offset : 0
TTL : 64
Protocol : 1 (ICMP)
Header Checksum : 0xac64
Source Address : 10.1.1.1
Destination Address : 192.168.1.1
ICMP
Type : 8 (Echo)
Code : 0 (No Code)
Checksum : 0x172a
Identifier : 0x2741
Sequence : 0x0001
Packet Copy Out
c89c1d51 5702000c 29f9d528 08004500 00540000 40003f01 ad640e26 70fa0e24
01010800 172a2741 00016459 4d5310e4 0c000809 0a0b0c0d 0e0f1011 12131415
ARPA
Destination MAC : c89c.1d51.5702
Source MAC : 000c.29f9.d528
Type : 0x0800 (IPV4)
IPv4
Version : 4
Header Length : 5
ToS : 0x00
Total Length : 84
Identifier : 0x0000
IP Flags : 0x2 (Don't fragment)
Frag Offset : 0
TTL : 63
Protocol : 1 (ICMP)
Header Checksum : 0xad64
Source Address : 10.1.1.1
Destination Address : 192.168.1.1
ICMP
Type : 8 (Echo)
Code : 0 (No Code)
Checksum : 0x172a
Identifier : 0x2741
Sequence : 0x0001
La compatibilidad con la captura de paquetes integrada se ha agregado en Cisco IOS-XE 3.7 (15.2(4)S). Para obtener más información, consulte
Ejemplo de Configuración de Captura de Paquetes Incrustada para Cisco IOS e IOS-XE.
En XE3.10, se introducirán depuraciones condicionales. Las sentencias condicionales se pueden utilizar para asegurar que la función ZBFW sólo registre los mensajes de depuración que sean relevantes para la condición. Los debugs condicionales utilizan ACL para restringir los registros que coinciden con los elementos ACL. Además, antes de XE3.10, los mensajes de depuración eran más difíciles de leer. El resultado de la depuración se mejoró en XE3.10 para facilitar su comprensión.
Para habilitar estos debugs, ejecute este comando:
debug platform condition feature fw dataplane submode [detail | policy | layer4 | drop]
debug platform condition ipv4 access-list <ACL_name> both
debug platform condition start
Observe que el comando condition debe configurarse a través de una ACL y una direccionalidad. Los debugs condicionales no se implementarán hasta que se inicien con el comando debug platform condition start. Para desactivar las depuraciones condicionales, utilice el comando debug platform condition stop.
debug platform condition stop
Para desactivar las depuraciones condicionales, NO utilice el comando undebug all. Para desactivar todas las depuraciones condicionales, utilice el comando:
ASR#clear platform condition all
Antes de XE3.14, las depuraciones ha y event no son condicionales. Como resultado, el comando debug platform condition fw dataplane submode all hace que se creen todos los registros, independientemente de la condición seleccionada a continuación. Esto podría crear ruido adicional que dificulta la depuración.
De forma predeterminada, el nivel de registro condicional es info. Para aumentar/disminuir el nivel de registro, utilice el comando:
debug platform condition feature fw dataplane submode all [verbose | warning]
Los archivos de depuración no se imprimirán en la consola ni en el monitor. Todas las depuraciones se escriben en el disco duro del ASR. Las depuraciones se escriben en el disco duro debajo de la carpeta tracelogs con el nombre cpp_cp_F0-0.log.<date>. Para ver el archivo donde se escriben las depuraciones, utilice el resultado:
ASR# cd harddisk:
ASR# cd tracelogs
ASR# dir cpp_cp_F0*Directory of harddisk:/tracelogs/cpp_cp_F0*
Directory of harddisk:/tracelogs/
3751962 -rwx 1048795 Jun 15 2010 06:31:51 +00:00
cpp_cp_F0-0.log.5375.20100615063151
3751967 -rwx 1048887 Jun 15 2010 02:18:07 +00:00
cpp_cp_F0-0.log.5375.20100615021807
39313059840 bytes total (30680653824 bytes free)
Cada archivo de depuración se almacenará como un archivo cpp_cp_F0-0.log.<date>. Estos son archivos de texto normales que se pueden copiar del ASR con TFTP. El máximo del archivo de registro en el ASR es de 1 Mb. Después de 1Mb, las depuraciones se escriben en un nuevo archivo de registro. Es por eso que cada archivo de registro se marca con el tiempo para indicar el inicio del archivo.
Los archivos de registro pueden existir en estas ubicaciones:
harddisk:/tracelogs/
bootflash:/tracelogs/
Dado que los archivos de registro sólo se muestran después de rotar, el archivo de registro se puede rotar manualmente con este comando:
ASR# test platform software trace slot f0 cpp-control-process rotate
Esto crea inmediatamente un archivo de registro "cpp_cp" e inicia uno nuevo en el QFP. Por ejemplo:
ASR#test platform software trace slot f0 cpp-control-process rotate
Rotated file from: /tmp/fp/trace/stage/cpp_cp_F0-0.log.7311.20140408134406,
Bytes: 82407, Messages: 431
ASR#more tracelogs/cpp_cp_F0-0.log.7311.20140408134406
04/02 10:22:54.462 : btrace continued for process ID 7311 with 159 modules
04/07 16:52:41.164 [cpp-dp-fw]: (info): QFP:0.0 Thread:110 TS:00000531990811543397
:FW_DEBUG_FLG_HA:[]: HA[1]: Changing HA state to 9
04/07 16:55:23.503 [cpp-dp-fw]: (info): QFP:0.0 Thread:120 TS:00000532153153672298
:FW_DEBUG_FLG_HA:[]: HA[1]: Changing HA state to 10
04/07 16:55:23.617 [buginf]: (debug): [system] Svr HA bulk sync CPP(0) complex(0)
epoch(0) trans_id(26214421) rg_num(1)
Este comando permite que los archivos de depuración se combinen en un solo archivo para facilitar el procesamiento. Combina todos los archivos del directorio y los entrelaza en función del tiempo. Esto puede ayudar cuando los registros son muy detallados y se crean en varios archivos:
ASR#request platform software trace slot rp active merge target bootflash:MERGED_OUTPUT.log
Creating the merged trace file: [bootflash:MERGED_OUTPUT.log]
including all messages
Done with creation of the merged trace file: [bootflash:MERGED_OUTPUT.log]
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
10-Dec-2015 |
Versión inicial |