| Description | 
 This article describes how to use BGP communities and route maps to control route advertisement in a Dual HUB ADVPN setup. 
 The solution ensures that spokes with a single ISP connection do not receive routes with a next-hop IP that is only reachable via a second ISP, which can cause incorrect routing in the forwarding information base (FIB).  | 
| Scope | FortiOS. | 
| Solution | 
 In a dual-HUB ADVPN environment, a dual-ISP spoke advertises its routes to both HUBs over each ISP connection. The HUBs then readvertise all paths to other spokes due to IBGP route-reflector-client. 
 A single-ISP spoke receives these routes, including paths with a next-hop IP that corresponds to the dual-ISP spoke's second VPN tunnel. Since the single-ISP spoke has no route to this next-hop IP via its primary VPN, it will perform a recursive lookup and install the route via its physical interface, such as a default route, leading to unexpected routing and traffic loss. 
 To resolve this, BGP communities are used to tag routes based on the ISP they were learned. Route maps are then applied on the single-ISP spokes to filter incoming advertisements, allowing only routes tagged for ISP1. 
 Topology Overview: 
 
 Routing State Before the Solution: Before implementing the route filter, the single-ISP spoke (Spoke2) receives and installs all four paths for the network '192.168.1.0/24'. This includes two paths with next-hop IPs via ISP1 ('10.10.10.1', '10.20.10.1') and two paths with next-hop IPs via ISP2 ('10.10.20.1', '10.20.20.1'). The routing table shows recursive lookups for the ISP2 next-hop IPs via a physical interface (port10), which is incorrect. 
 Spoke2 # get router info bgp network 192.168.1.0 Spoke2 # get router info routing-table details 192.168.1.0 
 Configuration Steps: 
 On the Dual-ISP Spoke (Advertising Router-Spoke1): 
 
 
 
 On the Single-ISP Spoke (Receiving Router-Spoke2): 
 
 Create a route map that uses the community list to filter incoming BGP routes: 
 
 Apply the incoming route map to the BGP neighbor connections for both HUBs. 
 
 Routing State After the Solution: After implementing the configuration, the BGP and routing tables on the single-ISP spoke (Spoke2) are clean. Only the two paths tagged with the '6500:1' community are accepted and installed. The recursive lookups now correctly point only to the ISP1 VPN tunnels, resolving the traffic routing issue. 
 Spoke2 # get router info bgp network 192.168.1.0 ``` Spoke2 # get router info routing-table details 192.168.1.0 Routing table for VRF=0  | 
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.