Page 1 of 1

MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Mon Apr 16, 2018 1:38 am
by tallenglish
Please find the fillowing LAB, you will need some form of IOU/IOL image for the Cisco routers (I am using i86bi_linux-l3-adventerprisek9-15.5.2T.bin) and I am using Docker image eve-ansible for the PC.

Red VRF has access to the Internet (off CE9-I).
Blue/Green are allowed to see each other and the management networks (off CE10-M).
PC's should be able to ping each other if they are in the same VRF.

There are Xconnect from PE1/PE2 to PE3/PE4 (active + standby) for all CE1-CE6.
The MPLS is VPNv4 and VPNv6 with tunnel support.
Basically this should show off a lot of the MPLS functionality that IOU/IOL can support (and still run on EVE with 4GB RAM).

Have fun with it.
Tony

Code: Select all

Loopback IP:

CE1-R 1.1.3.1 (Red VRF)
CE2-G 1.1.3.2 (Green VRF)
CE3-B 1.1.3.3 (Blue VRF)
CE4-R 1.1.3.4 (Red VRF)
CE5-G 1.1.3.5 (Green VRF)
CE6-B 1.1.3.6 (Blue VRF)
CE9-I 1.1.3.9 (Internet VRF)
CE10-M 1.1.3.10 (Management VRF)

PE1 1.1.2.1
PE2 1.1.2.2
PE3 1.1.2.3
PE4 1.1.2.4
PE9 1.1.2.9
PE10 1.1.2.10

P1 1.1.1.1
P2 1.1.1.2
P3 1.1.1.3
P4 1.1.1.4

Code: Select all

My EVE has 10 PNET:

192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 pnet0
172.16.0.0      0.0.0.0         255.255.255.0   U         0 0          0 pnet1
172.16.1.0      0.0.0.0         255.255.255.0   U         0 0          0 pnet2
172.16.2.0      0.0.0.0         255.255.255.0   U         0 0          0 pnet3
172.16.3.0      0.0.0.0         255.255.255.0   U         0 0          0 pnet4
172.16.10.0     0.0.0.0         255.255.255.0   U         0 0          0 pnet5
172.16.11.0     0.0.0.0         255.255.255.0   U         0 0          0 pnet6
172.16.12.0     0.0.0.0         255.255.255.0   U         0 0          0 pnet7
172.16.13.0     0.0.0.0         255.255.255.0   U         0 0          0 pnet8
172.16.14.0     0.0.0.0         255.255.255.0   U         0 0          0 pnet9
172.16.88.0     0.0.0.0         255.255.255.0   U         0 0          0 docker0
172.16.99.0     0.0.0.0         255.255.255.0   U         0 0          0 nat0
Network.png

Code: Select all

CE1-R#traceroute 30.1.40.2
Type escape sequence to abort.
Tracing the route to 30.1.40.2
VRF info: (vrf in name/id, vrf out name/id)
  1 20.2.1.1 0 msec 1 msec 1 msec
  2 10.2.12.1 [AS 300] [MPLS: Labels 30/56 Exp 0] 2 msec 2 msec 2 msec
  3 10.2.4.2 [AS 300] [MPLS: Labels 19/56 Exp 0] 2 msec 1 msec 2 msec
  4 10.4.13.2 [AS 300] [MPLS: Labels 0/56 Exp 0] 2 msec 1 msec 2 msec
  5 20.3.4.2 [AS 100] 1 msec 1 msec 1 msec
  6 30.1.40.2 [AS 100] 2 msec 1 msec 2 msec

Code: Select all

CE1-R#sh 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
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is 20.2.1.1 to network 0.0.0.0

B*    0.0.0.0/0 [20/0] via 20.2.1.1, 00:04:55
      1.0.0.0/32 is subnetted, 3 subnets
C        1.1.3.1 is directly connected, Loopback0
B        1.1.3.4 [20/0] via 20.2.1.1, 00:04:58
B        1.1.3.9 [20/0] via 20.2.1.1, 00:04:55
      20.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        20.1.1.0/24 is directly connected, Ethernet0/0
L        20.1.1.2/32 is directly connected, Ethernet0/0
C        20.2.1.0/24 is directly connected, Ethernet1/0
L        20.2.1.2/32 is directly connected, Ethernet1/0
B        20.3.4.0/24 [20/0] via 20.2.1.1, 00:04:58
B        20.4.4.0/24 [20/0] via 20.2.1.1, 00:04:58
B        20.9.9.0/24 [20/0] via 20.2.1.1, 00:04:55
      30.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        30.1.1.0/24 is directly connected, Ethernet0/3
L        30.1.1.1/32 is directly connected, Ethernet0/3
C        30.1.2.0/24 is directly connected, Ethernet1/3
L        30.1.2.1/32 is directly connected, Ethernet1/3
C        30.1.10.0/24 is directly connected, Ethernet0/1
L        30.1.10.1/32 is directly connected, Ethernet0/1
B        30.1.40.0/24 [20/0] via 20.2.1.1, 00:04:58
      172.16.0.0/24 is subnetted, 4 subnets
B        172.16.0.0 [20/0] via 20.2.1.1, 00:04:55
B        172.16.1.0 [20/0] via 20.2.1.1, 00:04:55
B        172.16.2.0 [20/0] via 20.2.1.1, 00:04:55
B        172.16.3.0 [20/0] via 20.2.1.1, 00:04:55
B     192.168.1.0/24 [20/0] via 20.2.1.1, 00:04:55
      192.168.2.0/25 is subnetted, 1 subnets
B        192.168.2.0 [20/0] via 20.2.1.1, 00:04:55

Code: Select all

CE1-R#sh ipv6 route

IPv6 Routing Table - default - 16 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
       H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
       IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, la - LISP alt
       lr - LISP site-registrations, ld - LISP dyn-eid, a - Application
       
LC  2001::1:1:3:1/128 [0/0]
     via Loopback0, receive
B   2001::1:1:3:4/128 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::1:1:3:9/128 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
C   2001::20:1:1:0/120 [0/0]
     via Ethernet0/0, directly connected
L   2001::20:1:1:2/128 [0/0]
     via Ethernet0/0, receive
C   2001::20:2:1:0/120 [0/0]
     via Ethernet1/0, directly connected
L   2001::20:2:1:2/128 [0/0]
     via Ethernet1/0, receive
B   2001::20:3:4:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::20:4:4:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::20:9:9:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::172:16:0:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::172:16:1:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::172:16:2:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::172:16:3:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
B   2001::192:168:1:0/120 [20/0]
     via FE80::A8BB:CCFF:FE00:600, Ethernet1/0
L   FF00::/8 [0/0]
     via Null0, receive

Code: Select all

CE1-R#ping 8.8.8.8

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 50/57/71 ms

Code: Select all

CE1-R#sh ntp associations

  address         ref clock       st   when   poll reach  delay  offset   disp
*~143.210.16.201  158.43.192.66    2     13     64   377 49.926  72.649  4.395
+~130.88.200.4    193.62.22.66     2     15     64   377 50.966  71.042  4.808
 ~130.88.203.12   .INIT.          16      -    256     0  0.000   0.000 15937.
 ~81.168.77.149   .INIT.          16      -    256     0  0.000   0.000 15937.
 * sys.peer, # selected, + candidate, - outlyer, x falseticker, ~ configured

Code: Select all

CE1-R#sh ip bgp all sum

For address family: IPv4 Unicast
BGP router identifier 1.1.3.1, local AS number 200
BGP table version is 20, main routing table version 20
19 network entries using 2736 bytes of memory
32 path entries using 2560 bytes of memory
5/5 BGP path/bestpath attribute entries using 760 bytes of memory
3 BGP AS-PATH entries using 72 bytes of memory
1 BGP extended community entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 6152 total bytes of memory
BGP activity 32/0 prefixes, 55/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
20.1.1.1        4          100      18      19       20    0    0 00:11:07       13
20.2.1.1        4          100      21      19       20    0    0 00:11:12       13

For address family: IPv6 Unicast
BGP router identifier 1.1.3.1, local AS number 200
BGP table version is 50, main routing table version 50
13 network entries using 2184 bytes of memory
23 path entries using 2392 bytes of memory
4/4 BGP path/bestpath attribute entries using 608 bytes of memory
3 BGP AS-PATH entries using 72 bytes of memory
1 BGP extended community entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 5280 total bytes of memory
BGP activity 32/0 prefixes, 55/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2001::20:1:1:1  4          100      17      19       50    0    0 00:11:08       10
2001::20:2:1:1  4          100      17      19       50    0    0 00:11:13       10
mpls-lab-with-xconnect-and-ipv6.zip

Re: MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Fri Apr 20, 2018 1:05 pm
by ezl60d
Looks great. Thanks for sharing!!!

Re: MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Fri Apr 20, 2018 8:40 pm
by ecze
Nice lab !!!
Using power of EVE-PRO , really cool...

E.

Re: MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Fri Apr 20, 2018 10:17 pm
by rislas813
:ugeek: Awesome build! What are you using for your host system?

Re: MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Mon May 21, 2018 7:39 pm
by greatgeek
Amazing lab, power of eve-ng pro.
Thank you
greatgeek

Re: MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Fri Oct 12, 2018 9:44 am
by TommyTran
Thanks for sharing, its amazing. Great job, bro!!!

Re: MPLS LAB with IPv6/IPv4, VPNv6/VPNv4, Xconnect & inter-VRF routing by Anthony Dean

Posted: Thu Dec 06, 2018 8:19 pm
by EKAEZO
thank you for sharing