Cómo solucionar la captura de paquetes de tráfico IPSec con NP Offload en Fortinet

En este artículo técnico, abordaremos un problema común que puede surgir al capturar paquetes en dispositivos FortiGate cuando la aceleración de hardware (NP Offload) está habilitada. Este problema es importante porque puede resultar en la pérdida de paquetes durante la captura, lo que dificulta el diagnóstico y la resolución de problemas. A través de este artículo, aprenderá cómo deshabilitar esta opción y asegurarse de que se capturen todos los paquetes necesarios.

Descripción del problema

Durante el proceso de captura de paquetes, puede darse el caso de que no se capturen todos los paquetes esperados. Esto ocurre debido a que la función NP Offload, un módulo de aceleración de hardware, está habilitada. Esto significa que algunos de los paquetes pueden ser procesados directamente por el hardware, sin que sean visibles en la captura de paquetes realizada.

Alcance

Este artículo es aplicable a dispositivos FortiGate que utilizan aceleración de hardware para el procesamiento de paquetes y requieren capturas precisas durante la resolución de problemas.

Diagnóstico paso a paso

Para asegurarse de que todos los paquetes recibidos y procesados por FortiGate sean capturados, se recomienda deshabilitar la función de NP Offload. Lo ideal es hacerlo a nivel de la política de firewall, ya que esta configuración se aplicará solamente al tráfico relevante.

config firewall policy

edit <policy ID>

set np-acceleration disable

set auto-asic-offload disable

end

Además, si está tratando con tráfico que pasa a través de un túnel IPSec, puede que en algún momento necesite capturar paquetes ESP. Hay una opción de NP Offload dentro de la configuración de la fase 1 del túnel IPSec. Si esta opción está habilitada, la captura de paquetes solo mostrará tráfico ESP unidireccional.

Artículos relacionados  Cómo resolver el error 'Credenciales Incorrectas' en múltiples VPNs IPSec de acceso remoto

diag vpn tunnel list
list all ipsec tunnel in vd 0

——————————————————

name=S2S ver=1 serial=1 10.121.0.122:0->10.121.2.141:0 nexthop=10.121.2.141 tun_id=10.121.2.141 tun_id6=::10.121.2.141 status=up dst_

mtu=1500 weight=1

bound_if=15 real_if=15 lgwy=static/1 tun=intf mode=auto/1 encap=none/552 options[0228]=npu frag-rfc run_state=0 role=primary accept_

traffic=1 overlay_id=0

diag sniff pack port5 «esp» 4
interfaces=[port5]
filters=[esp]
0.068708 port5 — 10.121.0.122 -> 10.121.2.141: ESP(spi=0xb418f662,seq=0x69)

1.068886 port5 — 10.121.0.122 -> 10.121.2.141: ESP(spi=0xb418f662,seq=0x6a)

Cuando NP Offload está deshabilitado, la captura de paquetes mostrará los paquetes ESP en ambas direcciones. El valor SPI puede ser diferente al de ejemplos anteriores porque el túnel fue reiniciado.

config vpn ipsec phase1-interface

edit <tunnel name>

set npu-offload disable

end

diag vpn tunnel list
list all ipsec tunnel in vd 0
——————————————————

name=S2S ver=1 serial=1 10.121.0.122:0->10.121.2.141:0 nexthop=10.121.2.141 tun_id=10.121.2.141 tun_id6=::10.121.2.141 status=up dst_

mtu=1500 weight=1

diag sniff pack port5 «esp» 4
interfaces=[port5]
filters=[esp]
0.253908 port5 — 10.121.2.141 -> 10.121.0.122: ESP(spi=0xe3c5a70a,seq=0xf)

npu_flag=00 <– Indica que los paquetes ESP de entrada y salida no están descargados.

npu_flag=01 <– Indica que solo los paquetes ESP de salida pueden ser descargados, mientras que los de entrada serán manejados por el kernel.

npu_flag=02 <– Indica que solo los paquetes ESP de entrada pueden ser descargados, mientras que los de salida serán manejados por el kernel.

npu_flag=03 <– Indica que tanto los paquetes ESP de entrada como de salida serán descargados.

Cuando varios túneles IPSec están asignados a la misma interfaz, la captura de paquetes necesita especificar los valores SPI relacionados.

En el puerto 500:

diag sniff packet <interface name> «host <remote gw> and esp and (ip[20:4]==0x<SPI1> or ip [20:4]==0x<SPI2>)» 6 0 l

Artículos relacionados  Cómo solucionar el error 'Timeout del Watchdog SSL VPN' y el fallo del daemon sslvpnd con señal 11 en Fortinet

En el puerto 4500:

diag sniff packet <interface name> «host <remote gw> and udp port 4500 and (udp[8:4]==0x<SPI1> or udp [8:4]==0x<SPI2>)» 6 0 l

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *