Introducción
El filtrado de Routes es la base por la cual se establecen las políticas BGP (Border Gateway Protocol). Hay número de maneras de filtrar una o más redes de un peer BGP, incluida la Información de alcance de la capa de red (NLRI) y los atributos de comunidad AS_Path. Este documento solamente trata el filtrado basado en la NLRI. Para obtener información sobre el filtro basado en AS_Path, consulte Uso de Expresiones Normales en BGP. Para obtener información adicional, consulte la sección Filtrado de BGP de Casos Prácticos de BGP.
Prerequisites
Requirements
Cisco recomienda que conozca la configuración básica de BGP. Para obtener más información, consulte Casos Prácticos de BGP y Configuración de BGP.
Componentes Utilizados
La información de este documento se basa en el software Cisco IOS® versión 12.2(28).
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Identificación y filtro de rutas en función del NLRI
Para restringir la información de ruteo que el router detecta o anuncia, puede utilizar filtros basados en actualizaciones de ruteo. Los filtros constan de una lista de acceso o una lista de prefijos, que se aplica a las actualizaciones de vecinos y de vecinos. Este documento explora estas opciones con este diagrama de red:
Diagrama de la red
Filtrado utilizando una distribute list con una lista de acceso estándar
El Router 200 anuncia estas redes a su Router 100 par:
- 192.168.10.0/24
- 10.10.10.0/24
- 10.10.0.0/19
Esta configuración de ejemplo permite que el Router 100 rechace una actualización para la red 10.10.10.0/24 y permita las actualizaciones de las redes 192.168.10.0/24 y 10.10.0.0/19 en su tabla BGP:
Router 100 |
hostname Router 100
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 distribute-list 1 in
!
access-list 1 deny 10.10.10.0 0.0.0.255
access-list 1 permit any |
Router 200 |
hostname Router 200
!
router bgp 200
no synchronization
network 192.168.10.0
network 10.10.10.0 mask 255.255.255.0
network 10.10.0.0 mask 255.255.224.0
no auto-summary
neighbor 172.16.1.1 remote-as 100 |
Este resultado del comando show ip bgp confirma las acciones del Router 100:
Router 100# show ip bgp
BGP table version is 3, local router ID is 172.16.1.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 Path
*> 10.10.0.0/19 172.16.1.2 0 0 200 i
*> 192.168.10.0/24 172.16.1.2 0 0 200 i
Filtrado utilizando una lista de distribución con una Lista de acceso ampliado
Puede ser complicado utilizar una lista de acceso estándar para filtrar las superredes. Suponga que el Router 200 anuncia estas redes:
- 10.10.1.0/24 a 10.10.31.0/24
- 10.10.0.0/19 (su total)
El Router 100 desea recibir solamente la red agregada, 10.10.0.0/19, y filtrar todas las redes específicas.
Una lista de acceso estándar, como access-list 1 permit 10.10.0.0 0.0.31.255, no funcionará porque permite más redes de las deseadas. La lista de acceso estándar sólo observa la dirección de red y no puede comprobar la longitud de la máscara de red. Esa lista de acceso estándar permite el agregado /19 así como las redes /24 más específicas.
Para permitir sólo la superred 10.10.0.0/19, utilice una lista de acceso ampliada, como access-list 101 permit ip 10.10.0.0 0.0.0.0 255.255.224.0 0.0.0.0. Consulte access-list (IP extended) para obtener información sobre el formato del comando extended access-list.
En nuestro ejemplo, el origen es 10.10.0.0 y el comodín de origen de 0.0.0.0 está configurado para una coincidencia exacta del origen. Se configura una máscara de 255.255.224.0 y un comodín de máscara de 0.0.0.0 para una coincidencia exacta de la máscara de origen. Si alguno de ellos (origen o máscara) no tiene una coincidencia exacta, la lista de acceso lo deniega.
Esto permite que el comando access-list extendido permita una coincidencia exacta del número de red de origen 10.10.0.0 con la máscara 255.255.224.0 (y por lo tanto, 10.10.0.0/19). Las otras redes /24 más específicas se filtrarán.
Nota: Al configurar comodines, 0 significa que es un bit de coincidencia exacta y 1 es un bit de no importancia.
Esta es la configuración en el Router 100:
Router 100 |
hostname Router 100
!
router bgp 100
!--- Output suppressed.
neighbor 172.16.1.2 remote-as 200
neighbor 172.17.1.2 distribute-list 101 in
!
!
access-list 101 permit ip 10.10.0.0 0.0.0.0 255.255.224.0 0.0.0.0 |
El resultado del comando show ip bgp del router 100 confirma que la lista de acceso funciona como se esperaba.
Router 100# show ip bgp
BGP table version is 2, local router ID is 172.16.1.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 Path
*> 10.10.0.0/19 172.16.1.2 0 0 200 i
Como se puede ver en esta sección, las listas de acceso ampliadas son más cómodas de usar cuando se deben permitir algunas redes y otras no, dentro de la misma red principal. Estos ejemplos proporcionan más información sobre cómo una lista de acceso ampliada puede ayudar en algunas situaciones:
- access-list 101 permit ip 192.168.0.0 0.0.0.0 255.255.252.0 0.0.0.0
Esta lista de acceso sólo permite la superred 192.168.0.0/22.
- access-list 102 permit ip 192.168.10.0 0.0.0.255 255.255.255.0 0.0.0.255
Esta lista de acceso permite todas las subredes de 192.168.10.0/24. En otras palabras, permite 192.168.10.0/24, 192.168.10.0/25, 192.168.10.128/25, y así sucesivamente: cualquiera de las redes 192.168.10.x con una máscara comprendida entre 24 y 32.
- access-list 103 permit ip 0.0.0.0 255.255.255.255 255.255.255.0 0.0.0.255
Esta lista de acceso permite cualquier prefijo de red con una máscara que oscila entre 24 y 32.
Aplicación de filtro con el comando ip prefix-list
El Router 200 anuncia estas redes a su Router 100 par:
- 192.168.10.0/24
- 10.10.10.0/24
- 10.10.0.0/19
Las configuraciones de ejemplo de esta sección utilizan el comando ip prefix-list , que permite que el Router 100 haga dos cosas:
- Permitir actualizaciones para cualquier red con una longitud de máscara de prefijo inferior o igual a 19.
- Denegar todas las actualizaciones de red con una longitud de máscara de red superior a 19.
Router 100 |
hostname Router 100
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 prefix-list cisco in
!
ip prefix-list cisco seq 10 permit 0.0.0.0/0 le 19 |
Router 200 |
hostname Router 200
!
router bgp 200
no synchronization
network 192.168.10.0
network 10.10.10.0 mask 255.255.255.0
network 10.10.0.0 mask 255.255.224.0
no auto-summary
neighbor 172.16.1.1 remote-as 100 |
El resultado del comando show ip bgp confirma que la lista de prefijos funciona como se espera en el Router 100.
Router 100# show ip bgp
BGP table version is 2, local router ID is 172.16.1.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 Path
*> 10.10.0.0/19 172.16.1.2 0 0 200 i
En conclusión, el uso de listas de prefijos es la manera más conveniente de filtrar redes en BGP. Sin embargo, en algunos casos (por ejemplo, cuando se desea filtrar redes pares e impares mientras se controla también la longitud de la máscara) las listas de acceso ampliadas ofrecen mayor flexibilidad y control que las listas de prefijos.
Filtrado de Rutas por Defecto de Peers BGP
Puede filtrar o bloquear una ruta predeterminada, como 0.0.0.0/32 que el peer BGP anuncia, usando el comando prefix-list. Puede ver la entrada 0.0.0.0 disponible mediante el comando show ip bgp.
Router 100#show ip bgp
BGP table version is 5, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 172.16.1.2 0 0 200 i
El ejemplo de configuración de esta sección se realiza en el Router 100 mediante el comando ip prefix-list .
Router 100 |
hostname Router 100
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 prefix-list deny-route in
!
ip prefix-list deny-route seq 5 deny 0.0.0.0/0
ip prefix-list deny-route seq 10 permit 0.0.0.0/0 le 32
|
Si ejecuta show ip bgp después de esta configuración, no verá la entrada 0.0.0.0, que estaba disponible en el resultado anterior de show ip bgp.
Información Relacionada