Cómo solucionar el error ‘failed to match vid-1’ en la configuración de VIP de Fortinet

En este artículo se abordará un problema común en la configuración de IP virtual (VIP) en FortiGate, donde el depurador muestra el mensaje ‘failed to match vid-N’. Este problema es crítico ya que puede afectar la conectividad y el rendimiento de los servicios a través del firewall. A continuación, se detallarán los pasos para diagnosticar y resolver este inconveniente de manera efectiva.

Descripción del problema

El error ‘failed to match vid-N’ indica que el VIP coincidente no está presente en la política de firewall configurada. Esto puede llevar a que los paquetes sean rechazados, afectando el tráfico legítimo y causando interrupciones en los servicios.

Alcance

Este artículo se centra en la plataforma FortiGate, que es utilizada para gestionar firewalls y asegurar redes.

Diagnóstico paso a paso

Para diagnosticar el problema, es fundamental observar el flujo de depuración (debug flow). El siguiente es un ejemplo de salida de depuración que se puede esperar al enfrentar este problema:

Salida de depuración:

FGT1 # 2024-10-08 13:10:37 id=65308 trace_id=1 func=print_pkt_detail line=5879 msg="vd-root:0 received a packet(proto=6, 10.10.10.10:56414->20.20.20.20:22) tun_id=0.0.0.0 from port1. flag [S], seq 2020481783, ack 0, win 64240"
2024-10-08 13:10:37 id=65308 trace_id=1 func=init_ip_session_common line=6063 msg="allocate a new session-08bacf6c"
2024-10-08 13:10:37 id=65308 trace_id=1 func=iprope_dnat_check line=5474 msg="in-[port1], out-[]"
2024-10-08 13:10:37 id=65308 trace_id=1 func=iprope_dnat_tree_check line=834 msg="len=2"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_dnat_policy line=5337 msg="checking gnum-100000 policy-1"
2024-10-08 13:10:37 id=65308 trace_id=1 func=get_new_addr line=1265 msg="find DNAT: IP-30.30.30.30, port-0(fixed port)"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_dnat_policy line=5429 msg="matched policy-1, act=accept, vip=1, flag=104, sflag=2000000"
2024-10-08 13:10:37 id=65308 trace_id=1 func=iprope_dnat_check line=5499 msg="result: skb_flags-02000000, vid-1, ret-matched, act-accept, flag-00000104"
        

La primera parte de la traza de flujo indica que se ha coincidido el NAT de destino con VID (ID de IP virtual 1). A continuación, se verifica la política de firewall destinada, pero el VIP coincidente no está configurado en dicha política.

2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_policy line=2131 msg="checked gnum-100004 policy-94, ret-matched, act-accept"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_policy line=2156 msg="failed to match vid-1"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_policy line=2131 msg="checked gnum-100004 policy-95, ret-no-match, act-accept"
        

Como no existe otra política coincidente, la verificación finalmente llega a una denegación implícita y se descarta el paquete.

2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_policy line=2131 msg="checked gnum-100004 policy-0, ret-matched, act-accept"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_user_identity_check line=1894 msg="ret-matched"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_check_one_policy line=2365 msg="policy-0 is matched, act-drop"
2024-10-08 13:10:37 id=65308 trace_id=1 func=__iprope_fwd_check line=844 msg="after iprope_captive_check(): is_captive-0, ret-matched, act-drop, idx-0"
2024-10-08 13:10:37 id=65308 trace_id=1 func=iprope_fwd_auth_check line=873 msg="after iprope_captive_check(): is_captive-0, ret-matched, act-drop, idx-0"
        

Solución recomendada

Para resolver este problema, se debe mover el VIP esperado por encima del original siguiendo las instrucciones del artículo Technical Tip: Virtual IP (VIP) port forwarding order of execution.

Artículos relacionados  Cómo solucionar el problema de carga de contenido en Fortinet cuando la página de inicio se carga pero no el resto del sitio

Otra forma de abordarlo incluye establecer filtros en los VIPs según sea necesario; consulte el artículo Technical Tip: FortiOS Destination NAT (DNAT) logic when Central NAT is disabled para más detalles.

Comandos CLI utilizados

Los siguientes comandos CLI pueden ser útiles para verificar la configuración de VIP y políticas:

show firewall vip
show firewall policy
        

Buenas prácticas y recomendaciones

Asegúrese de que todos los VIPs y políticas de firewall estén correctamente configurados y documentados. Además, es recomendable realizar revisiones periódicas de la configuración para detectar posibles problemas antes de que afecten la operatividad de la red.

Notas adicionales

Para obtener una lista de números de tabla iprope que pueden ayudar a identificar qué función de firewall se está comprobando en varias etapas de un flujo de depuración, consulte Technical Tip: iprope policies group.

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

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