viernes, 19 de junio de 2015

[MPLS para Dummies]L2VPN con ATOM



Este artículo forma parte de un grupo de artículos llamado MPLS para Dummies en el que se pretende dar una iniciación práctica de como  configurar una red MPLS básica. Si sigues los pasos uno a uno, con las configuraciones que aquí se presentan es imposible que no puedas montar tu propia red MPLS :) .

En este artículo no vamos a crear redes de nivel 3 que permitan llegar de una ubicación a otra pasando recibiendo las rutas de otra sede por medio de RIP/OSPF/EIGRP/BGP. En esta ocasión vamos a proveer al cliente de una  vpn de nivel 2, esto significa que de cara al cliente el tendrá un “cable virtual” de una sede a otra, sin que haya protocolo de routing corriendo.



Configuración:

Para hacer esto vamos a utilizar una tecnología llamada ATOM, Any Transport Over MPLS, que es una tecnología de vpn de nivel 2 la cual permite proveer de trasporte para prácticamente cualquier tipo de tecnología, ya sea Ethernet, Frame Relay, o ATM.


R5:

  pseudowire-class ATOM
  encapsulation mpls
  exit
    int Ethernet0/0.58
  no  vrf forwarding VPN78
  xconnect 100.0.0.4 45 pw-class ATOM
 
 
R4:

  pseudowire-class ATOM
  encapsulation mpls
  exit
 
  int Ethernet0/0.47
  no  vrf forwarding VPN78
  xconnect 100.0.0.5 45 pw-class ATOM
 



Verificación:

Si todo va bien deberíamos ver circuitos de nivel2 levantados y el cliente podría hacer ping desde una sede a la otra si estuviesen en el mismo rango de direccionamiento IP.

R5:
 
  R5#show mpls l2transport vc
Local intf     Local circuit              Dest address    VC ID      Status   
-------------  -------------------------- --------------- ---------- ----------
Et0/0.58       Eth VLAN 58                100.0.0.4       45         UP      
R4:

R4#show mpls l2transport vc
Local intf     Local circuit              Dest address    VC ID      Status   
-------------  -------------------------- --------------- ---------- ----------
Et0/0.47       Eth VLAN 47                100.0.0.5       45         UP       



[MPLS para Dummies] BGP entre PE y CE

Este artículo forma parte de un grupo de artículos llamado MPLS para Dummies en el que se pretende dar una iniciación práctica de como  configurar una red MPLS básica. Si sigues los pasos uno a uno, con las configuraciones que aquí se presentan es imposible que no puedas montar tu propia red MPLS :) .



Configuración:

Si leíste el anterior artículo de este grupo de artículos verás que es hacer exactamente lo mismo que hacíamos con EIGR, pero ahora con BGP, e incluso más fácil ya que ni siquiera hay que hacer redistribuciones. Si no has leído el artículo te recomiendo que leas el grupo de artículos de MPLS para Dummies.

R9:

router bgp 9
 bgp log-neighbor-changes
 redistribute connected
 neighbor 192.168.49.4 remote-as 40905
R10:

router bgp 10
 bgp log-neighbor-changes
 redistribute connected
 neighbor 192.168.105.5 remote-as 40905
R4:
router bgp 40905
 address-family ipv4 vrf VPN910
  neighbor 192.168.49.9 remote-as 9
  neighbor 192.168.49.9 activate
 exit-address-family
R5:

router bgp 40905
 address-family ipv4 vrf VPN910
  neighbor 192.168.105.10 remote-as 10
  neighbor 192.168.105.10 activate
 exit-address-family



Verificación:

Fácil y para toda la familia J .


R9:

R9#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
C        100.0.0.9 is directly connected, Loopback0
B        100.0.0.10 [20/0] via 192.168.49.4, 00:00:13
      192.168.49.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.49.0/24 is directly connected, Ethernet0/0.49
L        192.168.49.9/32 is directly connected, Ethernet0/0.49
B     192.168.105.0/24 [20/0] via 192.168.49.4, 00:00:13


R9#ping 100.0.0.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.0.0.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/5/7 ms

 R10:
R10#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
B        100.0.0.9 [20/0] via 192.168.105.5, 00:11:30
C        100.0.0.10 is directly connected, Loopback0
B     192.168.49.0/24 [20/0] via 192.168.105.5, 00:11:30
      192.168.105.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.105.0/24 is directly connected, Ethernet0/0.105
L        192.168.105.10/32 is directly connected, Ethernet0/0.105


R10#ping 100.0.0.9
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.0.0.9, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/5 ms


R4:

 R4# show ip route vrf VPN910
Routing Table: VPN910
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
B        100.0.0.9 [20/0] via 192.168.49.9, 00:15:46
B        100.0.0.10 [200/0] via 100.0.0.5, 00:14:58
      192.168.49.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.49.0/24 is directly connected, Ethernet0/0.49
L        192.168.49.4/32 is directly connected, Ethernet0/0.49
B     192.168.105.0/24 [200/0] via 100.0.0.5, 00:14:58

R5:

R5#show ip route vrf VPN910
Routing Table: VPN910
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
B        100.0.0.9 [200/0] via 100.0.0.4, 00:16:33
B        100.0.0.10 [20/0] via 192.168.105.10, 00:15:45
B     192.168.49.0/24 [200/0] via 100.0.0.4, 00:16:33
      192.168.105.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.105.0/24 is directly connected, Ethernet0/0.105
L        192.168.105.5/32 is directly connected, Ethernet0/0.105

lunes, 15 de junio de 2015

[MPLS para Dummies]: MPLS Traffic Engineering



Este artículo forma parte de un grupo de artículos llamado MPLS para Dummies en el que se pretende dar una iniciación práctica de como  configurar una red MPLS básica. Si sigues los pasos uno a uno, con las configuraciones que aquí se presentan es imposible que no puedas montar tu propia red MPLS :) .

MPLS traffic engineering es una manera de enviar el tráfico por los enlaces que nos interesa, ignorando lo que nos diga el protocolo de routing. Aquí solo vamos a configurar un flujo de manera estática, pero con MPLS TE se pueden hacer auténticas maravillas.




Configuración:

La configuración consiste en crear un objeto llamado explicit path que contendrá explícitamente el camino que vamos a seguir para llegar al destino, y luego asignaremos eso a un túnel. Ojo, porque estos túneles son unidireccionales, por tanto el tráfico puede ser asimétrico si no lo configuramos específicamente.

También hay que configurar mpls traffic engineering en todos los dispositivos que formen parte del path entre ambos extremos. Tanto a nivel de interfaces como dentro del protocolo de routing.
 

R4:

mpls traffic-eng tunnels
interface Ethernet0/0.14
 mpls traffic-eng tunnels
!
interface Ethernet0/0.34
 mpls traffic-eng tunnels
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!
!
ip explicit-path name 4315 enable
 index 10 next-address 20.0.34.3
 index 20 next-address 20.0.13.1
 index 30 next-address 20.0.15.5

 interface Tunnel45
 ip unnumbered Loopback0
 tunnel source Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 100.0.0.5
 tunnel mpls traffic-eng path-option 1 explicit name 4315

ip route 100.0.0.5 255.255.255.255 Tunnel45


R5:

mpls traffic-eng tunnels
interface Ethernet0/0.15
 mpls traffic-eng tunnels
!
ip explicit-path name 5134 enable
 index 10 next-address 20.0.15.1
 index 20 next-address 20.0.13.3
 index 30 next-address 20.0.34.4
interface Tunnel54
 ip unnumbered Loopback0
 tunnel source Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 100.0.0.4
 tunnel mpls traffic-eng path-option 1 explicit name 5134
 no routing dynamic
!

 !
ip route 100.0.0.4 255.255.255.255 Tunnel54
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0

R1:

router ospf 1

 address-family ipv4 unicast
 area 0
  mpls traffic-eng
  exit
 !
 mpls traffic-eng router-id Loopback0
!
mpls traffic-eng
 interface GigabitEthernet0/0/0/2.13
 !
 interface GigabitEthernet0/0/0/2.14
 !
 interface GigabitEthernet0/0/0/2.15


R3:

mpls traffic-eng tunnels
interface Ethernet0/0.13
 mpls traffic-eng tunnels
!
interface Ethernet0/0.34
 mpls traffic-eng tunnels
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0


Verificación:

El camino que seguimos antes y después es claramente distinto tras aplicar TE.

Trace sin el tunel:
 
 R4#trace 100.0.0.5
Type escape sequence to abort.
Tracing the route to 100.0.0.5
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.14.1 4 msec 3 msec 3 msec
  2 20.0.15.5 2 msec 3 msec *
Activamos el tunel:

R4#
R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#int tunn 45
R4(config-if)#no shut
R4(config-if)#end
R4#
*May 20 01:05:24.413: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel45, changed state to up
R4#
*May 20 01:05:25.510: %SYS-5-CONFIG_I: Configured from console by console
R4#trace 100.0.0.5
Type escape sequence to abort.
Tracing the route to 100.0.0.5
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.34.3 [MPLS: Label 22 Exp 0] 8 msec 3 msec 3 msec
  2 20.0.13.1 4 msec 3 msec 3 msec
  3 20.0.15.5 3 msec 4 msec *
R4#
Sin tunel:

R5#traceroute 100.0.0.4
Type escape sequence to abort.
Tracing the route to 100.0.0.4
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.15.1 6 msec 4 msec 3 msec
  2 20.0.14.4 3 msec 2 msec *

Con tunel:

R5#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#int tunn
R5(config)#int tunnel 54
R5(config-if)#no shut
R5(config-if)#end
R5#
*May 20 01:05:09.497: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel54, changed state to up
*May 20 01:05:10.271: %SYS-5-CONFIG_I: Configured from console by console
R5#traceroute 100.0.0.4
Type escape sequence to abort.
Tracing the route to 100.0.0.4
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.15.1 4 msec 4 msec 3 msec
  2 20.0.13.3 [MPLS: Label 23 Exp 0] 3 msec 3 msec 3 msec
  3 20.0.34.4 2 msec 3 msec *
R5#
Verificando los tuneles:



R4#show mpls traffic-eng tunnels
P2P TUNNELS/LSPs:
Name: R4_t45                              (Tunnel45) Destination: 100.0.0.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit 4315 (Basis for Setup, path weight 21)
  Config Parameters:
    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 0 [0] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled

  InLabel  :  -
  OutLabel : Ethernet0/0.34, 22
  Next Hop : 20.0.34.3
  RSVP Signalling Info:
       Src 100.0.0.4, Dst 100.0.0.5, Tun_Id 45, Tun_Instance 18
    RSVP Path Info:
      My Address: 20.0.34.4  
      Explicit Route: 20.0.34.3 20.0.13.3 20.0.13.1 20.0.15.1
                      20.0.15.5 100.0.0.5
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
  History:
    Tunnel:
      Time since created: 15 minutes, 33 seconds
      Time since path change: 3 minutes, 49 seconds
      Number of LSP IDs (Tun_Instances) used: 18
    Current LSP: [ID: 18]
      Uptime: 3 minutes, 49 seconds
    Prior LSP: [ID: 17]
      ID: path option unknown
      Removal Trigger: tunnel shutdown
LSP Tunnel R5_t54 is signalled, connection is up
  InLabel  : Ethernet0/0.34, implicit-null
  Prev Hop : 20.0.34.3
  OutLabel :  -
  RSVP Signalling Info:
       Src 100.0.0.5, Dst 100.0.0.4, Tun_Id 54, Tun_Instance 16
    RSVP Path Info:
      My Address: 100.0.0.4  
      Explicit Route:  NONE
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
P2MP TUNNELS:
P2MP SUB-LSPS:

R5#show mpls traffic-eng tunnels
P2P TUNNELS/LSPs:
Name: R5_t54                              (Tunnel54) Destination: 100.0.0.4
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit 5134 (Basis for Setup, path weight 21)
  Config Parameters:
    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 0 [0] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled

  InLabel  :  -
  OutLabel : Ethernet0/0.15, 16007
  Next Hop : 20.0.15.1
  RSVP Signalling Info:
       Src 100.0.0.5, Dst 100.0.0.4, Tun_Id 54, Tun_Instance 16
    RSVP Path Info:
      My Address: 20.0.15.5  
      Explicit Route: 20.0.15.1 20.0.13.1 20.0.13.3 20.0.34.3
                      20.0.34.4 100.0.0.4
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
  History:
    Tunnel:
      Time since created: 16 minutes, 3 seconds
      Time since path change: 4 minutes, 35 seconds
      Number of LSP IDs (Tun_Instances) used: 16
    Current LSP: [ID: 16]
      Uptime: 4 minutes, 35 seconds
    Prior LSP: [ID: 15]
      ID: path option unknown
      Removal Trigger: tunnel shutdown
LSP Tunnel R4_t45 is signalled, connection is up
  InLabel  : Ethernet0/0.15, implicit-null
  Prev Hop : 20.0.15.1
  OutLabel :  -
  RSVP Signalling Info:
       Src 100.0.0.4, Dst 100.0.0.5, Tun_Id 45, Tun_Instance 18
    RSVP Path Info:
      My Address: 100.0.0.5  
      Explicit Route:  NONE
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
P2MP TUNNELS:
P2MP SUB-LSPS:





[MPLS para Dummies] EIGRP entre PE y CE



Este artículo forma parte de un grupo de artículos llamado MPLS para Dummies en el que se pretende dar una iniciación práctica de como  configurar una red MPLS básica. Si sigues los pasos uno a uno, con las configuraciones que aquí se presentan es imposible que no puedas montar tu propia red MPLS :) .



Configuración:

Si leíste el anterior artículo de este grupo de artículos verás que es hacer exactamente lo mismo que hacíamos con OSPF, pero ahora con EIGRP. Si no has leído el artículo te recomiendo que leas el grupo de artículos de MPLS para Dummies.


R7:

router eigrp 78
 network 100.0.0.7 0.0.0.0
 network 192.168.47.0
R8:

router eigrp 78
 network 100.0.0.8 0.0.0.0
 network 192.168.58.0

R4:

router eigrp 78
 !
 address-family ipv4 vrf VPN78 autonomous-system 78
  redistribute bgp 40905 metric 100000 1 255 1 1500
  network 192.168.47.0
 exit-address-family


 router bgp 40905
 address-family ipv4 vrf VPN78
  redistribute eigrp 78
 exit-address-family
R5:

router eigrp 78
 !
 address-family ipv4 vrf VPN78 autonomous-system 78
  redistribute bgp 40905 metric 100000 1 255 1 1500
  network 192.168.58.0
 exit-address-family

 router bgp 40905
 address-family ipv4 vrf VPN78
  redistribute eigrp 78
 exit-address-family


Verificación:

Fácil y para toda la familia :-) .



R7:

 R7#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
C        100.0.0.7 is directly connected, Loopback0
D        100.0.0.8 [90/435200] via 192.168.47.4, 00:48:30, Ethernet0/0.47
      192.168.47.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.47.0/24 is directly connected, Ethernet0/0.47
L        192.168.47.7/32 is directly connected, Ethernet0/0.47
D     192.168.58.0/24 [90/307200] via 192.168.47.4, 00:48:30, Ethernet0/0.47

R7#ping 100.0.0.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.0.0.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/5 ms


R8:

 R8#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
D        100.0.0.7 [90/435200] via 192.168.58.5, 00:51:56, Ethernet0/0.58
C        100.0.0.8 is directly connected, Loopback0
D     192.168.47.0/24 [90/307200] via 192.168.58.5, 00:51:56, Ethernet0/0.58
      192.168.58.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.58.0/24 is directly connected, Ethernet0/0.58
L        192.168.58.8/32 is directly connected, Ethernet0/0.58

R8#pin
R8#ping 100.0.0.7
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.0.0.7, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/8 ms

R4:

 R4#show ip route vrf VPN78
Routing Table: VPN78
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
D        100.0.0.7 [90/409600] via 192.168.47.7, 00:56:24, Ethernet0/0.47
B        100.0.0.8 [200/409600] via 100.0.0.5, 00:53:42
      192.168.47.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.47.0/24 is directly connected, Ethernet0/0.47
L        192.168.47.4/32 is directly connected, Ethernet0/0.47
B     192.168.58.0/24 [200/0] via 100.0.0.5, 00:53:42


R5:

 R5#show ip route vrf VPN78
Routing Table: VPN78
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, 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, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      100.0.0.0/32 is subnetted, 2 subnets
B        100.0.0.7 [200/409600] via 100.0.0.4, 00:59:16
D        100.0.0.8 [90/409600] via 192.168.58.8, 00:57:58, Ethernet0/0.58
B     192.168.47.0/24 [200/0] via 100.0.0.4, 00:59:16
      192.168.58.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.58.0/24 is directly connected, Ethernet0/0.58
L        192.168.58.5/32 is directly connected, Ethernet0/0.58