Este artículo aborda cómo la configuración de FortiGate puede influir en la selección del vecino preferido cuando recibe el mismo prefijo de diferentes vecinos BGP mediante el uso de preferencias locales. Es crucial entender este comportamiento para optimizar la conectividad y el rendimiento de la red. A continuación, se presentará un diagnóstico detallado del problema y se recomendará una solución práctica.
Índice
Descripción del problema
Cuando un dispositivo FortiGate tiene múltiples vecinos BGP que proporcionan rutas con los mismos prefijos, puede ser complicado determinar cuál de estas rutas debe ser seleccionada para el enrutamiento. La utilización de preferencias locales permite a los administradores definir cuál vecino se debe preferir al recibir rutas redundantes.
Alcance
Este artículo se aplica a todas las versiones de FortiOS en dispositivos FortiGate.
Diagnóstico paso a paso
Para entender cómo FortiGate elige el vecino preferido, seguimos estos pasos:
- En este ejemplo, FortiGate tiene dos vecinos BGP:
- Recibe la misma ruta 192.168.1.0 de ambos vecinos:
- FortiGate prefiere el vecino con el menor ID de router BGP: Si todos los atributos son iguales, FortiGate selecciona la ruta del vecino con el ID de router BGP más bajo. Por lo tanto, la ruta del vecino 192.168.138.3 será elegida y añadida a la tabla de enrutamiento activa.
- Si el usuario prefiere el vecino 192.168.138.5, la preferencia local en el mapa de rutas puede usarse para establecer vecinos preferidos. Es necesario configurar una preferencia local más alta para el vecino 192.168.138.5 en comparación a 192.168.138.3.
FortiGate-50E # get router info bgp summary
BGP router identifier 192.168.138.1, local AS number 65001
BGP table version is 5
1 BGP AS-PATH entries
0 BGP community entries
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.138.3 4 65001 1656 1662 4 0 0 00:50:52 1
192.168.138.5 4 65001 89 89 3 0 0 00:50:38 1
Total number of neighbors 2FortiGate-50E # get router info bgp neighbors 192.168.138.3 received-route
BGP table version is 5, local router ID is 192.168.138.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight RouteTag Path
*>i192.168.1.0 192.168.138.3 100 0 0 i <-/->FortiGate-50E # get router info bgp neighbors 192.168.138.5 received-route
BGP table version is 5, local router ID is 192.168.138.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight RouteTag Path
*>i192.168.1.0 192.168.138.5 100 0 0 i <-/->FortiGate-50E # get router info routing-table all
Routing table for VRF=0
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default
S* 0.0.0.0/0 [10/0] via 10.9.15.254, wan1
C 10.9.0.0/20 is directly connected, wan1
C 169.254.1.0/24 is directly connected, fortilink
C 172.16.1.0/24 is directly connected, lan
B 192.168.1.0/24 [200/0] via 192.168.138.3, wan2, 00:00:29
C 192.168.138.0/24 is directly connected, wan2Solución recomendada
A continuación, se detallan los pasos para configurar las preferencias locales en FortiGate:
- Configurar la lista de prefijos:
- Configurar el mapa de rutas:
- Configurar el mapa de rutas en BGP:
- Consulta la tabla de enrutamiento activa para confirmar los cambios:
FortiGate-50E (prefix-list) # show
config router prefix-list
edit "prefix-test"
config rule
edit 1
set prefix 192.168.1.0 255.255.255.0
unset ge
unset le
next
end
next
endFortiGate-50E (route-map) # show
config router route-map
edit "route-map-prefer-200"
config rule
edit 1
set match-ip-address "prefix-test"
set set-local-preference 200
next
end
next
edit "route-map-prefer-100"
config rule
edit 1
set match-ip-address "prefix-test"
set set-local-preference 100
next
end
next
endFortiGate-50E (bgp) # sh
config router bgp
set as 65001
set router-id 192.168.138.1
set network-import-check disable
config neighbor
edit "192.168.138.3"
set soft-reconfiguration enable
set remote-as 65001
set route-map-in "route-map-prefer-100"
set update-source "wan2"
next
edit "192.168.138.5"
set soft-reconfiguration enable
set remote-as 65001
set route-map-in "route-map-prefer-200"
set update-source "wan2"
next
end
config network
edit 1
set prefix 192.168.20.0 255.255.255.0
next
end
endFortiGate-50E # get router info routing-table all
Routing table for VRF=0
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default
S* 0.0.0.0/0 [10/0] via 10.9.15.254, wan1
C 10.9.0.0/20 is directly connected, wan1
C 169.254.1.0/24 is directly connected, fortilink
C 172.16.1.0/24 is directly connected, lan
B 192.168.1.0/24 [200/0] via 192.168.138.5, wan2, 00:00:09
C 192.168.138.0/24 is directly connected, wan2Comandos CLI utilizados
Se han utilizado los siguientes comandos CLI a lo largo del proceso:
get router info bgp summaryget router info bgp neighborsreceived-route get router info routing-table all- Comandos para configuraciones en prefix-list y route-map en BGP, como
config router route-mapyset.
Buenas prácticas y recomendaciones
Es recomendable realizar copias de seguridad de la configuración antes de realizar cambios significativos. Además, asegúrese de documentar todas las modificaciones realizadas en las políticas de enrutamiento para facilitar futuras referencias y auditorías. Mantenga un ambiente controlado de prueba antes de implementar cambios en el entorno de producción.
Notas adicionales
La utilización de preferencias locales puede ser una herramienta poderosa en la gestión de rutas BGP. Comprender cómo FortiGate toma decisiones y cómo se pueden influir estas decisiones mediante configuraciones administrativas es clave para una estrategia efectiva de enrutamiento.
¿Te ha resultado útil??
0 / 0

Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!