FortiGateGuías técnicas

Configuración de BGP en entornos HA para evitar cortes de servicio en caso de failover

A continuación se muestra la configuración necesaria a introducir en un clúster de Fortigate en HA A-P para evitar corte de servicio en caso de failover, antes de nada se realizará un repaso de conceptos básicos para poder entender la configuración introducida.

En un clúster de Fortigate en HA el dominio de routing BGP únicamente está activo en la unidad primaria, en caso de producirse un failover, el daemon comenzará a correr en el equipo que ha adquirido el rol de master. Incluso si el equipo Fortigate tiene todas las rutas, los vecinos BGP del cluster de Fortigates pueden detectar que no responde y eliminar todas las rutas que apuntan al clúster de Fortigate de su tabla de rutas. Si esto sucede, se producirá corte de servicio hasta que se produzca de nuevo la convergencia de BGP. Para minimizar o eliminar por completo el corte de servicio será necesario configurar los siguientes parámetros:

1º Configurar BGP con graceful restart.
Permite a un router BGP seguir enviando datos aun cuando falle el plano de control (encargado de seleccionar la mejor ruta), de esta manera, si se pierde la comunicación con un vecino BGP o el plano de control falla y éste empieza el proceso de reinicio, el vecino BGP no borra las rutas asociadas al equipo que falla sino que sigue usándolas para enviar paquetes.

NOTA: Es necesario configurar graceful restart en los vecinos BGP y en el FGT.

A continuación se indica la configuración a realizar en el clúster FGT.

Será necesario habilitar graceful restart tanto a nivel global como a nivel de vecino BGP.

Para comprobar que se ha habilitado correctamente graceful restart en el FGT y en los vecinos BGP será necesario ejecutar el siguiente comando:

FGT# get router info bgp neighbor a.b.c.d

2º Aumentar el ttl de las rutas sincronizadas en el equipo slave:
Todas las rutas en un cluster en HA son sincronizadas a los equipos slave, dichas rutas tienen un tiempo de vida, dicho tiempo de vida se puede aumentar mediante el siguiente comando:
.

Nota: El valor por defecto es 10sg.

3º Realizar un fine tunning de los timers que participan en BGP:

  • holdtime-timer (default 180) : Numero de segundos a esperar entre mensajes de keepalive, update o notification para considerar una conexión de un vecino BGP cerrada.
  • graceful-restart-time(default 120) : Numero de segundos para esperar por un mensaje “OPEN” antes de borrar las rutas antiguas. Debe ser igual o menor a “holdtime-timer”
  • graceful-stalepath-time : Tiempo total que una ruta de un vecino BGP que esta reiniciando debe mantenerse antes de ser borrada.

NOTA: Dado que graceful-restart podría enmascarar una caída real de un vecino BGP, es importante configurar dichos timers en concordancia con las necesidades de la red.

Tags

Contenidos relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *