Filtering routes in the Border Gateway Protocol (BGP) allows network administrators to control the routes advertised or received from BGP peers. Here is a step-by-step guide with commands to filter routes in different ways in the BGP protocol
Step 1: Access the BGP Configuration Mode:
Access the configuration mode for BGP on your router. The specific command to enter this mode may vary depending on the router platform. For Cisco devices, the command is typically:
# configure terminal
# router bgp [AS-number]
Replace [AS-number] with the Autonomous System (AS) number of your network.
Step 2: Filtering Based on Prefix:
To filter routes based on the IP prefix, you can use prefix-list or access-list. Here’s an example using prefix-list:
# ip prefix-list [list-name] seq [sequence-number] permit [prefix]
Replace [list-name] with a descriptive name for the prefix-list, [sequence-number] with a numerical value to determine the order of the entry, and [prefix] with the IP prefix you want to permit.
To apply the prefix-list in the BGP configuration:
# address-family ipv4
# neighbor [IP-address] prefix-list [list-name] out
Step 3: Filtering Based on AS Path:
To filter routes based on the AS path attribute, you can use the as-path access-list. Here’s an example:
# ip as-path access-list [list-number] permit [AS-path-regex]
Replace [list-number] with a numerical value to identify the as-path access-list, and [AS-path-regex] with the regular expression to match the desired AS path.
To apply the as-path access-list in the BGP configuration:
# address-family ipv4
# neighbor [IP-address] filter-list [list-number] out
Replace [IP-address] with the IP address of the BGP neighbor you want to apply the as-path access-list to.
Step 4: Filtering Based on Community:
To filter routes based on BGP communities, you can use community-list or community-based route maps. Here’s an example using community-list:
# ip community-list [list-number] permit [community-value]
Replace [list-number] with a numerical value to identify the community-list, and [community-value] with the specific BGP community value to permit.
To apply the community-list in the BGP configuration:
# address-family ipv4
# neighbor [IP-address] route-map [route-map-name] out
Replace [IP-address] with the IP address of the BGP neighbor, and [route-map-name] with the name of the route map that contains the community-list.
Step 5: Filtering Based on Route Origin:
To filter routes based on the route origin attribute, you can use the origin access-list. Here’s an example:
# ip as-path access-list [list-number] permit [origin-regex]
Replace [list-number] with a numerical value to identify the origin access-list, and [origin-regex] with the regular expression to match the desired route origin.
To apply the origin access-list in the BGP configuration:
# address-family ipv4
# neighbor [IP-address] filter-list [list-number] out
Replace [IP-address] with the IP address of the BGP neighbor you want to apply the origin access-list to.
Step 6: Commit Configuration:
Save and apply the BGP configuration changes:
# end
# copy running-config startup-config
