Buscar el RT que distribuye al MPLS. VRF's desconocidas

En este tema se trata de explicar como saber a donde se está distribuyendo las rutas de una VRF específica de un router PE o por lo menos saber de manera local cual Route Target (RT) utiliza para que sus vecinos lo aprendan.

Nota: A pesar que es solo una explicación, se asume que se tiene conocimientos del funcionamiento básico de la aplicación MPLS VPN.

Para un mayor entendimiento se presenta el siguiente diagrama:

mpls-network1.PNG

Como se podrá observar en la figura 1, Los Router PE1, PE2, PE3 y PE4 se comunican entre si (asuma que la interconexión entre ellos se encuentra operativa).
El router P4 está distribuyendo la ruta estática de su vrf CLIENTE1 hacia los demás PE's. La configuración previa entre ellos es como sigue:

PE1
ip vrf CLIENTE1
description conexión de las rutas en la vrf CLIENTE1
rd 11556:113
route-target export 11556:113
route-target import 11556:113
route-target import 11556:31

ip vrf VPN-OTRA
description VPN MPLS hacia una red X
rd 11556:31
route-target export 11556:31
route-target import 11556:31
route-target import 11556:32
!
router bgp 11556
bgp router-id 200.200.200.3
bgp log-neighbor-changes
bgp deterministic-med
!
address-family ipv4
neighbor ibgp-rr activate
neighbor ibgp-rr next-hop-self
neighbor ibgp-rr send-community
neighbor 90.90.90.12 peer-group ibgp-rr
neighbor 90.90.90.14 peer-group ibgp-rr
!
address-family ipv4 vrf CLIENTE1
redistribute connected
redistribute static
no auto-summary
no synchronization
exit-address-family

PE2
ip vrf CLIENTE1
description conexión de las rutas en la vrf CLIENTE1
rd 11556:113
route-target export 11556:113
route-target import 11556:113
route-target import 11556:31

PE3
ip vrf CLIENTE1
description conexión de las rutas en la vrf CLIENTE1
rd 11556:113
route-target export 11556:113
route-target import 11556:113
route-target import 11556:31

PE4
ip vrf CLIENTE1
description conexión de las rutas en la vrf CLIENTE1
rd 11556:113
export map VPN-OTRA-CLIENTE1
route-target export 11556:113
route-target import 11556:113
route-target import 11556:31

ip access-list standard ACCESS-VPN-OTRA-CLIENTE1
permit 10.112.0.75

route-map VPN-OTRA-CLIENTE1 permit 10
match ip address ACCESS-VPN-OTRA-CLIENTE1
set extcommunity rt 11556:32
!
router bgp 11556
bgp router-id 200.200.200.43
bgp log-neighbor-changes
bgp deterministic-med
!
address-family ipv4
neighbor ibgp-rr activate
neighbor ibgp-rr next-hop-self
neighbor ibgp-rr send-community
neighbor 90.90.90.12 peer-group ibgp-rr
neighbor 90.90.90.14 peer-group ibgp-rr
!
address-family ipv4 vrf CLIENTE1
redistribute connected
redistribute static
no auto-summary
no synchronization
exit-address-family

La ruta es originada desde PE4. En este ejemplo la red 10.112.0.75 originada desde la VRF CLIENTE1. Esta es una ruta estática colocada en este router. Como la configuración de esta VPN distribuye las rutas estáticas (redistribute static) Los demás Router PE's aprenderán la ruta. Este es el comportamiento de la ruta distribuida:

PE4#show ip route vrf CLIENTE1 10.112.0.75
Routing entry for 10.112.0.75/32
Known via "static", distance 1, metric 0
Redistributing via bgp 11556
Advertised by bgp 11556
Routing Descriptor Blocks:
* 10.8.50.94
Route metric is 0, traffic share count is 1
PE4#

pero la ruta no se refleja en los demás PE's bajo la misma VRF:

PE1#show ip route vrf CLIENTE110.112.0.75
% Subnet not in table
PE1#

Una de las formas de averiguar cual es la razón por la cual no se refleja dentro de las VRF vecinas es observando el show run, aunque esto sería muy simple. Basándonos de la regla NO SHOW RUN, existe la siguiente manera:

Verificar con cual RT está distribuyendo la dirección origen de la siguiente manera:

PE4#show ip bgp vpnv4 all 10.112.0.75 255.255.255.255
BGP routing table entry for 11556:113:10.112.0.75/32, version 418873
Paths: (1 available, best #1, table CLIENTE1)
Advertised to peer-groups:
ibgp-rr
Local
10.8.50.94 from 0.0.0.0 (200.200.200.43)
Origin incomplete, metric 0, localpref 100, weight 32768, valid, sourced, best
Extended Community: RT:11556:32

Con esto se puede observar cual es el RT que ven los demás PE's. Ahora el problema reside en averiguar cual RD importa el RT:11556:32. Como muchas VRF pueden obtener diferentes RT es complicado conocer cual lo absorbería. Un filtro util para encontrar que Router PE lo está incorporando es el siguiente:

show ip vrf detail | inc RT:11556:32

Si en la salida de este comando aparece el filtro RT:11556:32 indica que ese Router incorpora la ruta.

Luego de detectar el router que incorpora la ruta puede optar en:

1. eliminar el filtro se puede averiguar la VRF asignada.

O:

2. Lanzar todas las VRF que aprendan sobre el IP buscado con su máscara específica con el comando show ip bgp vpnv4 all

PE1#show ip bgp vpnv4 all 10.112.0.75 255.255.255.255
BGP routing table entry for 11556:31:10.112.0.75/32, version 1674149
Paths: (1 available, best #1, table VPN-OTRA)
Not advertised to any peer
Local, imported path from 11556:113:10.112.0.75/32
200.200.200.43 (metric 90) from 90.90.90.12 (90.90.90.12)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:11556:32
Originator: 200.200.200.43, Cluster list: 0.5.91.1
mpls labels in/out nolabel/1068
BGP routing table entry for 11556:113:10.112.0.75/32, version 1673758
Paths: (2 available, best #1, no table)
Not advertised to any peer
Local
200.200.200.43 (metric 90) from 90.90.90.12 (90.90.90.12)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:11556:32
Originator: 200.200.200.43, Cluster list: 0.5.91.1
mpls labels in/out nolabel/1068
Local
200.200.200.43 (metric 90) from 90.90.90.14 (90.90.90.14)
Origin incomplete, metric 0, localpref 100, valid, internal
Extended Community: RT:11556:32
Originator: 200.200.200.43, Cluster list: 0.5.91.1
mpls labels in/out nolabel/1068
PE1#

De esa manera se puede conocer la ruta bajo la VRF indicada:

PE1#show ip route vrf VPN-OTRA 10.112.0.75
Routing entry for 10.112.0.75/32
Known via "bgp 11556", distance 200, metric 0, type internal
Last update from 200.200.200.43 5d01h ago
Routing Descriptor Blocks:
* 200.200.200.43 (Default-IP-Routing-Table), from 90.90.90.12, 5d01h ago
Route metric is 0, traffic share count is 1
AS Hops 0
MPLS Required
PE1#

Referencias:
http://nextclickmedia.com/en/US/docs/ios/12_0s/feature/guide/gsxnlbsp.html

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License