Just another Cisco blog
MPLS and BGP Lab Guide, Part 2
This is the second post in the series, the goal of the series is to provide a guide for the MPLS and BGP Lab I posted awhile back. The labs consists of MPLS VPNs and BGP along with some OSPF, NAT, IPSEC and GRE exposure. I will be posting the files needed for this lab at the bottom. Here’s the topology and the requirements:
Requirements:
Internet
* The two Internet routers should serve as transit ASes. No other routers should permit transit traffic.
* Internet sites (modeled by loopbacks) should be accessible by all lan IPs.
Clients
* London, Paris, and New York have Internet connections to their respective ISPs. New York is dual-homed.
* London, Paris, New York, and Chicago all have MPLS connections to the same provider. New York and Chicago constitute one company, while London and Paris constitute another. Their routes should not mix over MPLS.
* London, Paris, and New York each have data centers with a DMZ that should be publicly accessible.
* London, Paris, New York, and Chicago each have 2 LANs which should not be accessible from the Internet, though they should be able to access the Internet.
* London and Paris have a GRE over IPSEC connection between them that should take over routing between their LANs in case the MPLS connection fails. Additionally, the MPLS connection should take over for DMZ sites if the Internet connection should fail.
MPLS
* The MPLS-P router should be the only one in area 0. It should be an ABR connection MPLS-PE1 (a stub area 1) and MPLS-PE2 (a stub area 2).
* Area 1 and Area 2 should be summarized to /24′s before being injected into the OSPF backbone.
* The PE routers should communicate via BGP to the CE routers.
Today we’re going to configure the MPLS cloud. These routers are running OSPF, MPLS and BGP. I think today we will just go through the OSPF and MPLS setup. Here’s the config:
MPLS-P
hostname MPLS-P ! ip cef ! interface Loopback0 ip address 172.16.255.0 255.255.255.255 ! interface Serial1/0 description Connection to MPLS-PE1 ip address 172.16.0.1 255.255.255.252 mpls ip ! interface Serial1/1 description Connection to MPLS-PE2 ip address 172.16.0.5 255.255.255.252 mpls ip ! ! router ospf 100 log-adjacency-changes area 1 stub area 2 stub network 172.16.0.0 0.0.0.3 area 1 network 172.16.0.4 0.0.0.3 area 2 network 172.16.255.0 0.0.0.0 area 0 summary-address 172.16.0.0 255.255.255.0 ! mpls ldp router-id Loopback0 ! |
First we’ve done the MPLS-P router. This is the core of the MPLS cloud. This router does not run BGP like the MPLS-PEs, just OSPF and MPLS. We have assigned IPs to the interfaces, and we have entered the “mpls ip” command. We have statically configured the LDP neighbor ID as well. This command enables LDP on those interfaces. We have also OSPF Areas 1 and 2 as stubs, along with the summary address as the requirements stated.
MPLS-PE1
hostname MPLS-PE1 ! ip cef ! interface Loopback0 ip address 172.16.255.1 255.255.255.255 ! interface Serial1/0 description Connection to MPLS-P ip address 172.16.0.2 255.255.255.252 mpls ip ! interface Serial1/1 description Connection to London-M ip address 172.16.1.1 255.255.255.252 ! interface Serial1/2 description Connection to NewYork-M ip address 172.16.1.5 255.255.255.252 ! router ospf 100 log-adjacency-changes area 1 stub network 172.16.0.0 0.0.0.3 area 1 network 172.16.255.1 0.0.0.0 area 1 summary-address 172.16.0.0 255.255.255.0 ! mpls ldp router-id Loopback0 |
MPLS-PE2
hostname MPLS-PE2 ! ip cef ! interface Loopback0 ip address 172.16.255.2 255.255.255.255 ! interface Serial1/0 description Connection to MPLS-P ip address 172.16.0.6 255.255.255.252 mpls ip ! interface Serial1/1 description Connection to Paris-M ip address 172.16.2.1 255.255.255.252 ! interface Serial1/2 description Connection to Chicago-M ip address 172.16.2.5 255.255.255.252 ! router ospf 100 log-adjacency-changes area 2 stub network 172.16.0.4 0.0.0.3 area 2 network 172.16.255.2 0.0.0.0 area 2 summary-address 172.16.0.0 255.255.255.0 ! mpls ldp router-id Loopback0 |
The PE routers get mostly the same config (for now). Now we’ll verify that OSPF and MPLS are working:
MPLS-P#sh mpls interfaces
Interface IP Tunnel Operational
Serial1/0 Yes (ldp) No Yes
Serial1/1 Yes (ldp) No Yes
MPLS-P#sh mpls ldp neighbor
Peer LDP Ident: 172.16.255.2:0; Local LDP Ident 172.16.255.0:0
TCP connection: 172.16.255.2.19843 - 172.16.255.0.646
State: Oper; Msgs sent/rcvd: 31/32; Downstream
Up time: 00:21:01
LDP discovery sources:
Serial1/1, Src IP addr: 172.16.0.6
Addresses bound to peer LDP Ident:
172.16.0.6 172.16.255.2
Peer LDP Ident: 172.16.255.1:0; Local LDP Ident 172.16.255.0:0
TCP connection: 172.16.255.1.61758 - 172.16.255.0.646
State: Oper; Msgs sent/rcvd: 32/32; Downstream
Up time: 00:20:37
LDP discovery sources:
Serial1/0, Src IP addr: 172.16.0.2
Addresses bound to peer LDP Ident:
172.16.0.2 172.16.255.1
MPLS-P#sh mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 172.16.255.1/32 491 Se1/0 point2point
17 Pop tag 172.16.255.2/32 642 Se1/1 point2point |
We see that LDP is running on our two interfaces, our LDP neighbors are up and we have two labeled prefixes.
That’s all for this one, part three will be coming soon. Here are the files needed for the lab:
The Dynagen/GNS3 .net file
The IP Address Allocations
The Visio Diagram for the Lab
(You will need to modify the .net file to reflect your own IOS and path values)
Related Posts:
| Print article | This entry was posted by Colby on December 7, 2009 at 10:05 am, and is filed under Labs, Tutorials. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |







