Friday, February 1, 2019

Configuring Dynamic and Static NAT

While IP addresses are routable through the public Internet, other IP addresses (as defined by RFC 1918) are considered private and are intended for use within an organization. Network Address Translation (NAT) allows private IP addresses to be translated into Internet-routable IP addresses (that is, public IP addresses).

Names of NAT IP Addresses



Dynamic NAT Configuration

Step 1: Create an access control list (ACL) to match the inside local addresses to be translated. While you could use either a named or numbered ACL and either a standard or an extended ACL, the command to create a standard numbered ACL (in global configuration mode) is access-list <1 – 99> permit <network_address> <wildcard_mask>

Step 2: Define a NAT pool containing the available inside global addresses by issuing the ip nat pool <pool_name> <starting_ip> <ending_ip> netmask <subnet_mask> command in global configuration mode.

Step 3: Specify that an interface is an inside interface with the ip nat inside command (in interface configuration mode).

Step 4: Specify that an interface is an outside interface, with the ip nat outside command (in interface configuration mode).

Step 5: Associate the ACL (identifying the inside local addresses) with the NAT pool (identifying the inside global addresses) using the ip nat inside source list <acl> pool <nat_pool> command (in global configuration mode).


Static NAT Configuration
 
Step 1: Create one or more inside local address to inside global address mappings with the ip nat inside source static <inside_local_address> <inside_global_address> command in global configuration mode.

Step 2: Specify that an interface is an inside interface with the ip nat inside command (in interface configuration mode).

Step 3: Specify that an interface is an outside interface with the ip nat outside command (in interface configuration mode).


PAT

Step 1: Create an access control list (ACL) to match the inside local addresses to be translated. While you could use either a named or numbered ACL and either a standard or an extended ACL, the command to create a standard numbered ACL (in global configuration mode) is access-list <1 - 99> permit <network_address> <wildcard_mask>

Step 2: Specify that an interface is an inside interface with the ip nat inside command (in interface configuration mode).

Step 3: Specify that an interface is an outside interface with the ip nat outside command (in interface configuration mode).

Step 4: Associate the ACL (identifying the inside local addresses) with the router’s outside interface, and enable overloading with the ip nat inside source list <acl> interface <outside_interface> overload command (in global configuration mode).


R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#hostname HQ
HQ(config)#interface loop 0
HQ(config-if)#
*Jul 11 11:08:00.319: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
HQ(config-if)#description ### HQ LAN ###
HQ(config-if)#ip address 10.10.10.1 255.255.255.0
HQ(config-if)#
HQ(config-if)#interface loop 1
HQ(config-if)#
*Jul 11 11:08:13.751: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback1, changed state to up
HQ(config-if)#description ### EMAIL SERVER ###
HQ(config-if)#ip address 10.10.20.238 255.255.255.255
HQ(config-if)#
HQ(config-if)#interface serial 2/0
HQ(config-if)#description ### TO ISP ###
HQ(config-if)#ip address 209.165.200.226 255.255.255.248
HQ(config-if)#no shut
HQ(config-if)#
*Jul 11 11:09:50.615: %LINK-3-UPDOWN: Interface Serial2/0, changed state to up
HQ(config-if)#
*Jul 11 11:09:51.623: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up
HQ(config-if)#end
HQ#


R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#hostname ISP
ISP(config)#interface loop 0
ISP(config-if)#
*Jul 11 11:26:13.255: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
ISP(config-if)#description ### INTERNET ###
ISP(config-if)#ip address 209.165.202.129 255.255.255.240
ISP(config-if)#
ISP(config-if)#interface serial 2/0
ISP(config-if)#description ### TO HQ ###
ISP(config-if)#ip address 209.165.200.225 255.255.255.248
ISP(config-if)#no shut
ISP(config-if)#
*Jul 11 11:27:37.067: %LINK-3-UPDOWN: Interface Serial2/0, changed state to up
ISP(config-if)#
*Jul 11 11:27:38.075: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up
ISP(config-if)#do ping 209.165.200.226
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.226, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 20/33/56 ms
ISP(config-if)#
ISP(config-if)#interface serial 2/1
ISP(config-if)#description ### TO BRANCH ###
ISP(config-if)#ip address 209.165.200.241 255.255.255.248
ISP(config-if)#no shut
ISP(config-if)#
*Jul 11 11:28:21.771: %LINK-3-UPDOWN: Interface Serial2/1, changed state to up
ISP(config-if)#
*Jul 11 11:28:22.779: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/1, changed state to up
ISP(config-if)#
*Jul 11 11:28:43.843: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/1, changed state to down
ISP(config-if)#ip route 209.165.200.232 255.255.255.248 s2/0
ISP(config)#ip route 209.165.200.248 255.255.255.248 s2/1
ISP(config)#end
ISP#


R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#hostname Branch
Branch(config)#interface loop 0
Branch(config-if)#
*Jul 11 11:35:08.935: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
Branch(config-if)#description ### BRANCH LAN ###
Branch(config-if)#ip address 192.168.1.1 255.255.255.0
Branch(config-if)#
Branch(config-if)#interface serial 2/1
Branch(config-if)#description ### TO ISP ###
Branch(config-if)#ip address 209.165.200.242 255.255.255.248
Branch(config-if)#no shut
Branch(config-if)#
*Jul 11 11:36:11.543: %LINK-3-UPDOWN: Interface Serial2/1, changed state to up
Branch(config-if)#
*Jul 11 11:36:12.551: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/1, changed state to up
Branch(config-if)#do ping 209.165.200.241
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.241, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/22/32 ms
Branch(config-if)#end
Branch#


HQ#show ip interface brief | inc up
Serial2/0                  209.165.200.226 YES manual up                    up     
Loopback0                  10.10.10.1      YES manual up                    up     
Loopback1                  10.10.20.238    YES manual up                    up     
HQ#
HQ#show interface description | inc up
Se2/0                          up             up       ### TO ISP ###
Lo0                            up             up       ### HQ LAN ###
Lo1                            up             up       ### EMAIL SERVER ###


ISP#show ip interface brief | inc up
Serial2/0                  209.165.200.225 YES manual up                    up     
Serial2/1                  209.165.200.241 YES manual up                    up     
Loopback0                  209.165.202.129 YES manual up                    up     
ISP#
ISP#show interface description | inc up
Se2/0                          up             up       ### TO HQ ###
Se2/1                          up             up       ### TO BRANCH ###
Lo0                            up             up       ### INTERNET ###


Branch#show ip interface brief | inc up
Serial2/1                  209.165.200.242 YES manual up                    up     
Loopback0                  192.168.1.1     YES manual up                    up     
Branch#
Branch#show interface description | inc up
Se2/1                          up             up       ### TO ISP ###
Lo0                            up             up       ### BRANCH LAN ###


Branch#tclsh
Branch(tcl)#foreach address {
+>209.165.200.241
+>209.165.202.129
+>209.165.200.226
+>} { ping $address }
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.241, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/26/36 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.202.129, timeout is 2 seconds:     // NO ROUTE CONFIGURED
.....
Success rate is 0 percent (0/5) 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.226, timeout is 2 seconds:   // NO ROUTE CONFIGURED
.....
Success rate is 0 percent (0/5)


HQ#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
HQ(config)#ip route 0.0.0.0 0.0.0.0 209.165.200.225        // CONFIGURE DEFAULT ROUTE TO ISP HOP
HQ(config)#end
HQ#


Branch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Branch(config)#ip route 0.0.0.0 0.0.0.0 209.165.200.241     // CONFIGURE DEFAULT ROUTE TO ISP HOP
Branch(config)#end
Branch#


Branch#tclsh
Branch(tcl)#foreach address {
+>209.165.200.241
+>209.165.202.129
+>209.165.200.226
+>} { ping $address }
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.241, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/24/44 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.202.129, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/17/24 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.226, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/32/44 ms


Branch#tclsh
Branch(tcl)#foreach address {
+>209.165.200.241
+>209.165.202.129
+>209.165.200.226
+>} { ping $address source 192.168.1.1 }
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.241, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
.....
Success rate is 0 percent (0/5)
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.202.129, timeout is 2 seconds:     
Packet sent with a source address of 192.168.1.1     // NEED NAT FOR HQ PRIVATE LAN
.....
Success rate is 0 percent (0/5)
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.226, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1    // NEED NAT FOR HQ PRIVATE LAN
.....
Success rate is 0 percent (0/5)


Branch#ping 209.165.200.226 source loop 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.226, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1     // NEED NAT FOR HQ PRIVATE LAN
.....
Success rate is 0 percent (0/5)


HQ#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
HQ(config)#ip access-list extended HQ-NAT-ACL
HQ(config-ext-nacl)#permit ip 10.10.10.0 0.0.0.255 any      // NAT ACL
HQ(config-ext-nacl)#exit
HQ(config)#ip nat ? 
  Stateful           Stateful NAT configuration commands
  create             Create flow entries
  inside             Inside address translation
  log                NAT Logging
  outside            Outside address translation
  piggyback-support  NAT Piggybacking Support
  pool               Define pool of addresses
  portmap            Define portmap of portranges
  service            Special translation for application using non-standard
                     port
  sip-sbc            SIP Session Border Controller commands
  source             Source address translation
  translation        NAT translation entry configuration

HQ(config)#ip nat pool ?
  WORD  Pool name

HQ(config)#ip nat pool HQ-NAT-POOL ?
  A.B.C.D        Start IP address
  netmask        Specify the network mask
  prefix-length  Specify the prefix length

HQ(config)#ip nat pool HQ-NAT-POOL 209.165.200.233 ?                  
  A.B.C.D  End IP address

HQ(config)#ip nat pool HQ-NAT-POOL 209.165.200.233 209.165.200.237 ?
  netmask        Specify the network mask
  prefix-length  Specify the prefix length

HQ(config)#ip nat pool HQ-NAT-POOL 209.165.200.233 209.165.200.237 prefix-length ?    
  <1-32>  Prefix length

HQ(config)#ip nat pool HQ-NAT-POOL 209.165.200.233 209.165.200.237 prefix-length 29    // NAT POOL
HQ(config)#
*Jul 11 11:48:36.823: %LINEPROTO-5-UPDOWN: Line protocol on Interface NVI0, changed state to up
HQ(config)#ip nat inside ?
  destination  Destination address translation
  source       Source address translation

HQ(config)#ip nat inside source ?
  list       Specify access list describing local addresses
  route-map  Specify route-map
  static     Specify static local->global mapping

HQ(config)#ip nat inside source list ?
  <1-2699>  Access list number for local addresses
  WORD      Access list name for local addresses

HQ(config)#ip nat inside source list HQ-NAT-ACL ?
  interface  Specify interface for global address
  pool       Name pool of global addresses

HQ(config)#ip nat inside source list HQ-NAT-ACL pool ?
  WORD  Pool name for global addresses

HQ(config)#ip nat inside source list HQ-NAT-ACL pool HQ-NAT-POOL     // BIND NAT ACL AND NAT POOL
HQ(config)#
HQ(config)#ip nat inside source static ?
  A.B.C.D  Inside local IP address
  esp      IPSec-ESP (Tunnel mode) support
  network  Subnet translation
  tcp      Transmission Control Protocol
  udp      User Datagram Protocol

HQ(config)#ip nat inside source static 10.10.20.238 ?
  A.B.C.D    Inside global IP address
  interface  Specify interface for global address

HQ(config)#ip nat inside source static 10.10.20.238 209.165.200.238    // STATIC NAT FOR EXTERNAL CLIENT
HQ(config)#
HQ(config)#interface loop 0
HQ(config-if)#ip nat inside      // IDENTIFY INSIDE NAT INTERFACE FOR HQ LAN
HQ(config-if)#
HQ(config-if)#interface loop 1
HQ(config-if)#ip nat inside      // IDENTIFY INSIDE NAT INTERFACE FOR HQ EMAIL SERVER
HQ(config-if)#
HQ(config-if)#interface serial 2/0
HQ(config-if)#ip nat outside      // IDENTIFY OUTSIDE NAT INTERFACE
HQ(config-if)#end
HQ#


Branch#conf t      // CONFIGURE NAT FOR BRANCH ROUTER
Enter configuration commands, one per line.  End with CNTL/Z.
Branch(config)#ip access-list extended BRANCH-NAT-ACL
Branch(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any
Branch(config-ext-nacl)#exit
Branch(config)#ip nat pool BRANCH-NAT-POOL 209.165.200.249 209.165.200.254 prefix-length 29
Branch(config)#
*Jul 11 11:55:07.451: %LINEPROTO-5-UPDOWN: Line protocol on Interface NVI0, changed state to up
Branch(config)#
Branch(config)#ip nat inside source list BRANCH-NAT-ACL pool BRANCH-NAT-POOL
Branch(config)#
Branch(config)#interface loop 0
Branch(config-if)#ip nat inside
Branch(config-if)#
Branch(config-if)#interface serial 2/1
Branch(config-if)#ip nat outside
Branch(config-if)#end
Branch#
*Jul 11 12:10:24.099: %SYS-5-CONFIG_I: Configured from console by console
Branch#
Branch#show ip nat ?
  nvi           NVI information
  statistics    Translation statistics
  translations  Translation entries

Branch#show ip nat translations
Branch#

Branch#show ip nat statistics     // VERIFY NAT
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Peak translations: 0
Outside interfaces:
  Serial2/1
Inside interfaces:
  Loopback0
Hits: 0  Misses: 0
CEF Translated packets: 0, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list BRANCH-NAT-ACL pool BRANCH-NAT-POOL refcount 0
 pool BRANCH-NAT-POOL: netmask 255.255.255.248
        start 209.165.200.249 end 209.165.200.254
        type generic, total addresses 6, allocated 0 (0%), misses 0

Total doors: 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0


Branch#tclsh
Branch(tcl)#foreach address {
+>209.165.200.241
+>209.165.202.129
+>209.165.200.226
+>} { ping $address source 192.168.1.1 }
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.241, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/40 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.202.129, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/19/24 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.226, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/41/68 ms


Branch#show ip nat statistics               
Total active translations: 4 (0 static, 4 dynamic; 3 extended)
Peak translations: 4, occurred 00:00:32 ago
Outside interfaces:
  Serial2/1
Inside interfaces:
  Loopback0
Hits: 30  Misses: 0
CEF Translated packets: 15, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list BRANCH-NAT-ACL pool BRANCH-NAT-POOL refcount 4
 pool BRANCH-NAT-POOL: netmask 255.255.255.248
        start 209.165.200.249 end 209.165.200.254
        type generic, total addresses 6, allocated 1 (16%), misses 0

Total doors: 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0

Branch#show ip nat translations      // VERIFY ACTIVE NAT (PAT) TRANSLATIONS
Pro Inside global      Inside local       Outside local      Outside global
icmp 209.165.200.249:11 192.168.1.1:11    209.165.200.241:11 209.165.200.241:11
icmp 209.165.200.249:12 192.168.1.1:12    209.165.202.129:12 209.165.202.129:12
icmp 209.165.200.249:13 192.168.1.1:13    209.165.200.226:13 209.165.200.226:13
--- 209.165.200.249    192.168.1.1        ---                ---



Branch#telnet 209.165.200.238 80 /source-interface loop 0    // INITIATE STATIC NAT TRAFFIC TO HQ EMAIL SERVER  
Trying 209.165.200.238, 80 ...
% Connection refused by remote host

Branch#telnet 209.165.200.238 23 /source-interface loop 0 
Trying 209.165.200.238 ... Open


HQ#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- 209.165.200.238    10.10.20.238       ---                ---



HQ#show ip nat statistics 
Total active translations: 4 (1 static, 3 dynamic; 3 extended)
Peak translations: 4, occurred 00:00:33 ago
Outside interfaces:
  Serial2/0
Inside interfaces:
  Loopback0, Loopback1
Hits: 21  Misses: 0
CEF Translated packets: 12, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list HQ-NAT pool HQ-NAT-POOL refcount 0
 pool HQ-NAT-POOL: netmask 255.255.255.248
        start 209.165.200.233 end 209.165.200.237
        type generic, total addresses 5, allocated 0 (0%), misses 0

Total doors: 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0


HQ#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
tcp 209.165.200.238:23 10.10.20.238:23    209.165.200.249:57553 209.165.200.249:57553
tcp 209.165.200.238:80 10.10.20.238:80    209.165.200.242:22962 209.165.200.242:22962
tcp 209.165.200.238:80 10.10.20.238:80    209.165.200.249:17221 209.165.200.249:17221
--- 209.165.200.238    10.10.20.238       ---                ---


HQ#tclsh     // PING TO PUBLIC IP ADDRESS USING HQ LAN IP 10.10.10.1/24
HQ(tcl)#foreach address {
+>(tcl)#209.165.200.225
+>(tcl)#209.165.200.242
+>(tcl)#209.165.202.129
+>(tcl)#} { ping $address source 10.10.10.1 }
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.225, timeout is 2 seconds:
Packet sent with a source address of 10.10.10.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/25/40 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.200.242, timeout is 2 seconds:
Packet sent with a source address of 10.10.10.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/34/64 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 209.165.202.129, timeout is 2 seconds:
Packet sent with a source address of 10.10.10.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/17/20 ms


HQ#show ip nat translations            
Pro Inside global      Inside local       Outside local      Outside global
icmp 209.165.200.233:0 10.10.10.1:0       209.165.200.225:0  209.165.200.225:0
icmp 209.165.200.233:1 10.10.10.1:1       209.165.200.242:1  209.165.200.242:1
icmp 209.165.200.233:2 10.10.10.1:2       209.165.202.129:2  209.165.202.129:2
--- 209.165.200.233    10.10.10.1         ---                ---
--- 209.165.200.238    10.10.20.238       ---                ---

Friday, January 18, 2019

Configuring Basic MPLS

Cisco started putting labels on top of IP packets since IOS release 11.1(17)CT in 1998 and it was then called tag switching. A tag was the name for what is now known as a label. The MPLS labels are advertised between routers so that they can build a label-to-label mappings.

These labels are attached to the IP packets, enabling the routers to forward the traffic by looking
at the label and not the destination IP address. The packets are forwarded by label switching instead of by IP switching. One MPLS label is a field of 32 bits with a certain structure:


MPLS-capable routers might need more than one label on top of the packet to route that packet through the MPLS network. This is done by packing the labels into a stack. The first label in the
stack is called the top label, and the last label is called the bottom label. In between, you can have
any number of labels. You can view MPLS as OSI Layer 2.5


I've been configuring and troubleshooting MPLS networks back in my old ISP days and I still use those skills in my current enterprise network. I needed to review basic MPLS for an IT project, so I used the Cisco Press book MPLS Fundamentals by Luc de Ghein and the MPLS Fundamentals training videos by Keith Barker. I also setup a lab using the network topology below:


Step 1: Configure basic IP addressing and OSPF routing protocol on the MPLS network (R1 to R5). 

You can directly configure the OSPF process and area ID under the interface in OSPFv2 versus configuring networks that will participate in OSPF (version 1) process under the network command. There's also OSPFv3 that supports IPv4 and IPv6 Address Family (AF).

R1#
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#hostname R1-PE1
R1-PE1(config)#
R1-PE1(config)#ip cef       // NEED CEF FOR MPLS (ENABLED BY DEFAULT)
R1-PE1(config)#
R1-PE1(config)#no ip domain lookup
R1-PE1(config)#
R1-PE1(config)#interface loopback0
R1(config-if)#
*Nov 11 11:36:09.879: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R1-PE1(config-if)#ip address 10.1.1.1 255.255.255.255
R1-PE1(config-if)#ip ospf 1 area 0      // CONFIGURE OSPF ON THE INTERFACE IN OSPFv2
R1-PE1(config-if)#
R1-PE1(config-if)#interface f0/0
R1-PE1(config-if)#ip address 10.12.0.1 255.255.255.0
R1-PE1(config-if)#no shutdown
R1-PE1(config-if)#
*Nov 11 11:37:12.787: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Nov 11 11:37:13.787: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1-PE1(config-if)#end
R1-PE1#
*Nov 11 11:39:52.267: %OSPF-5-ADJCHG: Process 1, Nbr 10.2.2.2 on FastEthernet0/0 from LOADING to FULL, Loading Done


R2#
R2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#hostname R2-P1
R2-P1(config)#
R2-P1(config)#ip cef
R2(config)#
R2-P1(config)#no ip domain lookup
R2-P1(config)#
R2-P1(config)#interface loopback0
R2-P1(config-if)#
*Nov 11 11:38:48.251: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R2-P1(config-if)#ip address 10.2.2.2 255.255.255.255
R2-P1(config-if)#ip ospf 1 area 0                  
R2-P1(config-if)#
R2-P1(config-if)#interface f0/0
R2-P1(config-if)#ip address 10.12.0.2 255.255.255.0
R2-P1(config-if)#no shut
R2-P1(config-if)#
*Nov 11 11:39:38.087: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Nov 11 11:39:39.087: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R2-P1(config-if)#do ping 10.12.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.12.0.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 16/27/56 ms
R2-P1(config-if)#
R2-P1(config-if)#ip ospf 1 area 0
R2-P1(config-if)#
*Nov 11 11:39:52.199: %OSPF-5-ADJCHG: Process 1, Nbr 10.1.1.1 on FastEthernet0/0 from LOADING to FULL, Loading Done
R2-P1(config)#interface f1/1
R2-P1(config-if)#ip address 10.23.0.2 255.255.255.0
R2-P1(config-if)#ip ospf 1 area 0
R2-P1(config-if)#no shutdown
R2-P1(config-if)#
*Nov 11 11:44:23.403: %LINK-3-UPDOWN: Interface FastEthernet1/1, changed state to up
*Nov 11 11:44:24.403: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/1, changed state to up
R2-P1(config-if)#end
R2-P1#
*Nov 11 11:46:09.959: %OSPF-5-ADJCHG: Process 1, Nbr 10.3.3.3 on FastEthernet1/1 from LOADING to FULL, Loading Done


R3#
R3#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#hostname R3-P2
R3-P2(config)#
R3-P2(config)#ip cef
R3-P2(config)#
R3-P2(config)#no ip domain lookup
R3-P2(config)#
R3-P2(config)#interface loopback0
R3-P2(config-if)#
*Nov 11 11:45:14.831: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R3-P2(config-if)#ip address 10.3.3.3 255.255.255.255
R3-P2(config-if)#ip ospf 1 area 0 
R3-P2(config-if)#
R3-P2(config-if)#interface f1/1
R3-P2(config-if)#ip address 10.23.0.3 255.255.255.0
R3-P2(config-if)#ip ospf 1 area 0
R3-P2(config-if)#no shutdown
R3-P2(config-if)#
*Nov 11 11:45:52.807: %LINK-3-UPDOWN: Interface FastEthernet1/1, changed state to up
*Nov 11 11:45:53.807: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/1, changed state to up
R3-P2(config-if)#
*Nov 11 11:46:00.035: %OSPF-5-ADJCHG: Process 1, Nbr 10.2.2.2 on FastEthernet1/1 from LOADING to FULL, Loading Done
R3-P2(config-if)#
R3-P2(config-if)#do ping 10.23.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.23.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/22/28 ms
R3-P2(config-if)#
R3-P2(config-if)#interface f1/0
R3-P2(config-if)#ip address 10.34.0.3 255.255.255.0
R3-P2(config-if)#ip ospf 1 area 0
R3-P2(config-if)#no shutdown
R3-P2(config-if)#
*Nov 11 11:47:05.563: %LINK-3-UPDOWN: Interface FastEthernet1/0, changed state to up
*Nov 11 11:47:06.563: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0, changed state to up
R3-P2(config-if)#end
R3-P2#
*Nov 11 11:48:59.663: %OSPF-5-ADJCHG: Process 1, Nbr 10.4.4.4 on FastEthernet1/0 from LOADING to FULL, Loading Done


R4#
R4#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#hostname R4-P3
R4-P3(config)#
R4-P3(config)#ip cef
R4-P3(config)#
R4-P3(config)#no ip domain lookup
R4-P3(config)#
R4-P3(config)#interface loopback0
R4-P3(config-if)#
*Nov 11 11:47:57.395: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R4-P3(config-if)#ip address 10.4.4.4 255.255.255.255
R4-P3(config-if)#ip ospf 1 area 0
R4-P3(config-if)#
R4-P3(config-if)#interface f1/0
R4-P3(config-if)#ip address 10.34.0.4 255.255.255.0
R4-P3(config-if)#ip ospf 1 area 0
R4-P3(config-if)#no shutdown
R4-P3(config-if)#
*Nov 11 11:48:40.419: %LINK-3-UPDOWN: Interface FastEthernet1/0, changed state to up
*Nov 11 11:48:41.419: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0, changed state to up
R4-P3(config-if)#
*Nov 11 11:48:49.663: %OSPF-5-ADJCHG: Process 1, Nbr 10.3.3.3 on FastEthernet1/0 from LOADING to FULL, Loading Done
R4-P3(config-if)#do ping 10.34.0.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.34.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/36 ms
R4-P3(config-if)#
R4-P3(config-if)#interface f0/0
R4-P3(config-if)#ip address 10.45.0.4 255.255.255.0
R4-P3(config-if)#ip ospf 1 area 0
R4-P3(config-if)#no shutdown
R4-P3(config-if)#
*Nov 11 11:49:34.171: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Nov 11 11:49:35.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R4-P3(config-if)#end
R4-P3#
*Nov 11 11:51:10.691: %OSPF-5-ADJCHG: Process 1, Nbr 10.5.5.5 on FastEthernet0/0 from LOADING to FULL, Loading Done


R5#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R5-PE3(config)#hostname R5-PE2
R5-PE2(config)#
R5-PE2(config)#ip cef
R5-PE2(config)#
R5-PE2(config)#no ip domain lookup
R5-PE2(config)#
R5-PE2(config)#interface loopback0
R5-PE2(config-if)#
*Nov 11 11:30:08.643: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R5-PE2(config-if)#ip address 10.5.5.5 255.255.255.255
R5-PE2(config-if)#ip ospf 1 area 0
R5-PE2(config-if)#
R5-PE2(config-if)#interface f0/0
R5-PE2(config-if)#ip address 10.45.0.5 255.255.255.0
R5-PE2(config-if)#ip ospf 1 area 0
R5-PE2(config-if)#no shutdown
R5-PE2(config-if)#
*Nov 11 11:30:45.035: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Nov 11 11:30:46.035: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R5-PE2(config-if)#
*Nov 11 11:30:50.191: %OSPF-5-ADJCHG: Process 1, Nbr 10.4.4.4 on FastEthernet0/0 from LOADING to FULL, Loading Done
R5-PE2(config-if)#end
R5-PE2#


R1-PE1#ping 10.5.5.5 source 10.1.1.1 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/60/92 ms


Notice the traceroute initially didn't use any MPLS labels.
R1-PE1#traceroute 10.5.5.5 source 10.1.1.1
Type escape sequence to abort.
Tracing the route to 10.5.5.5
VRF info: (vrf in name/id, vrf out name/id)
  1 10.12.0.2 16 msec 16 msec 12 msec
  2 10.23.0.3 24 msec 56 msec 24 msec
  3 10.34.0.4 68 msec 60 msec 60 msec
  4 10.45.0.5 68 msec 60 msec 52 msec


Step 2: Configure MPLS on the core network.

There are just few MPLS commands to enable. I also manually configured the MPLS label range on each router so it's easy to troubleshoot and trace which router is using the labels.

R1-PE1#
R1-PE1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1-PE1(config)#mpls ?
  discovery    Configure LSP discovery
  export       Configure periodic export of MPLS PAL table
  ip           Dynamic MPLS forwarding for IP
  label        Label properties
  ldp          Label Distribution Protocol
  oam          OAM configuration
  static       MPLS static application
  traffic-eng  Configure Traffic Engineering parameters

R1-PE1(config)#mpls label ?
  mode      MPLS Label allocation mode
  protocol  Set platform default label distribution protocol
  range     Label range

R1-PE1(config)#mpls label range ?
  <16-1048575>  Minimum label value for dynamic label range

R1-PE1(config)#mpls label range 100 ?
  <100-1048575>  Maximum label value for dynamic label range

R1-PE1(config)#mpls label range 100 199       // MANUALLY CONFIGURE MPLS LABELS TO BE USED
R1-PE1(config)#
R1-PE1(config)#mpls  ip      // GLOBALLY ENABLE MPLS
R1-PE1(config)#
R1-PE1(config)#interface f0/0
R1-PE1(config-if)#mpls ?
  accounting   Enable MPLS accounting on this interface
  bgp          MPLS BGP commands
  ip           Configure dynamic MPLS forwarding for IP
  l2transport  Layer 2 packet over MPLS config commands
  label        Label properties
  ldp          Configure Label Distribution Protocol (LDP) parameters
  mtu          Set MPLS Maximum Transmission Unit
  netflow      Configure Egress Netflow Accounting
  traffic-eng  Configure Traffic Engineering parameters

R1-PE1(config-if)#mpls ip        // ENABLE MPLS (AND LDP) ON THE SPECIFIED INTERFACE
R1-PE1(config-if)#end
R1-PE1#
*Nov 11 12:01:36.759: %LDP-5-NBRCHG: LDP Neighbor 10.2.2.2:0 (1) is UP


R2-P1#
R2-P1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R2-P1(config)#mpls label range 200 299
R2-P1(config)#mpls ip
R2-P1(config)#interface f0/0
R2-P1(config-if)#mpls ip
R2-P1(config-if)#
*Nov 11 12:01:36.631: %LDP-5-NBRCHG: LDP Neighbor 10.1.1.1:0 (1) is UP
R2-P1(config-if)#
R2-P1(config-if)#interface f1/1
R2-P1(config-if)#mpls ip 
*Nov 11 12:26:31.343: %LDP-5-NBRCHG: LDP Neighbor 10.3.3.3:0 (2) is UP    
R2-P1(config-if)#end
R2-P1#


R3-P2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R3-P2(config)#mpls label range 300 399
R3-P2(config)#mpls ip
R3-P2(config)#interface f1/1
R3-P2(config-if)#mpls ip
*Nov 11 12:26:21.343: %LDP-5-NBRCHG: LDP Neighbor 10.2.2.2:0 (2) is UP
R3-P2(config-if)#interface f1/0
R3-P2(config-if)#mpls ip
R3-P2#
*Nov 11 12:26:20.047: %LDP-5-NBRCHG: LDP Neighbor 10.4.4.4:0 (1) is UP
R3-P2(config-if)#end
R3-P2#


R4-P3#
R4-P3#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R4-P3(config)#mpls label range 400 499
R4-P3(config)#mpls ip
R4-P3(config)#
R4-P3(config)#interface f1/0
*Nov 11 12:26:09.991: %LDP-5-NBRCHG: LDP Neighbor 10.3.3.3:0 (2) is UP
R4-P3(config-if)#mpls ip
R4-P3(config-if)#interface f0/0
R4-P3(config-if)#mpls ip     
*Nov 11 12:12:35.227: %LDP-5-NBRCHG: LDP Neighbor 10.5.5.5:0 (1) is UP
R4-P3(config-if)#end
R4-P3#


R5-PE2#
R5-PE2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R5-PE2(config)#mpls label range 500 599
R5-PE2(config)#mpls ip
R5-PE2(config)#
R5-PE2(config)#interface f0/0
R5-PE2(config-if)#mpls ip
R5-PE2(config-if)#
*Nov 11 11:52:14.691: %LDP-5-NBRCHG: LDP Neighbor 10.4.4.4:0 (1) is UP
R5-PE2(config-if)#end
R5-PE2#
R5-PE2#
R5-PE2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R5-PE2(config)#mpls label range 500 599
R5-PE2(config)#mpls ip
R5-PE2(config)#
R5-PE2(config)#interface f0/0
R5-PE2(config-if)#mpls ip
R5-PE2(config-if)#
*Nov 11 11:52:14.691: %LDP-5-NBRCHG: LDP Neighbor 10.4.4.4:0 (1) is UP
R5-PE2(config-if)#end
R5-PE2#


R1-PE1#show mpls ?
  discovery         Information about LSP discovery
  flow              MPLS netflow information
  forwarding-table  Show the Label Forwarding Table
  interfaces        Per-interface MPLS forwarding information
  ip                MPLS IP information
  l2transport       MPLS circuit transport info
  label             Label information
  ldp               Label Distribution Protocol information
  memory            Memory usage information
  oam               OAM information
  static            Show MPLS static information
  traffic-eng       Traffic engineering information

R1-PE1#show mpls ldp ?
  backoff           LDP session setup backoff table
  bindings          Show the LDP Label Information Base (LIB)
  capabilities      Display LDP Capabilities information
  discovery         Display sources for locally generated LDP Discovery Hello
                    PDUs
  graceful-restart  Show Graceful Restart summary
  igp               IGP-related info
  neighbor          Display LDP neighbor information
  parameters        Display LDP configuration parameters

R1-PE1#show mpls ldp bindings
  lib entry: 10.1.1.1/32, rev 2
        local binding:  label: imp-null
        remote binding: lsr: 10.2.2.2:0, label: 200
  lib entry: 10.2.2.2/32, rev 4
        local binding:  label: 100
        remote binding: lsr: 10.2.2.2:0, label: imp-null
  lib entry: 10.4.4.4/32, rev 6
        local binding:  label: 101
        remote binding: lsr: 10.2.2.2:0, label: 201
  lib entry: 10.5.5.5/32, rev 8
        local binding:  label: 102
        remote binding: lsr: 10.2.2.2:0, label: 202
  lib entry: 10.12.0.0/24, rev 10
        local binding:  label: imp-null
        remote binding: lsr: 10.2.2.2:0, label: imp-null
  lib entry: 10.23.0.0/24, rev 12
        local binding:  label: 103
        remote binding: lsr: 10.2.2.2:0, label: imp-null
  lib entry: 10.34.0.0/24, rev 14
        local binding:  label: 104
        remote binding: lsr: 10.2.2.2:0, label: 203
  lib entry: 10.45.0.0/24, rev 16
        local binding:  label: 105
        remote binding: lsr: 10.2.2.2:0, label: 204
R1-PE1#
R1-PE1#show mpls ldp bindings ?
  A.B.C.D             Destination prefix
  advertisement-acls  Show advertisement access lists
  all                 Display LIB information in all VRFs
  detail              Show detailed information
  local               Display only locally assigned labels
  local-label         Match locally assigned label values
  neighbor            Display labels from LDP neighbor
  remote-label        Match remotely assigned label values
  vrf                 VRF Routing/Forwarding instance information
  |                   Output modifiers
  <cr>

R1-PE1#show mpls ldp bindings 10.5.5.5 ?
  <0-32>   Mask length
  A.B.C.D  Destination mask

R1-PE1#show mpls ldp bindings 10.5.5.5 32
  lib entry: 10.5.5.5/32, rev 8
        local binding:  label: 102
        remote binding: lsr: 10.2.2.2:0, label: 202


R1-PE1#show mpls forwarding-table ?
  A.B.C.D             Destination prefix
  X:X:X:X::X/<0-128>  Destination IPv6 prefix
  detail              Detailed information
  interface           Match outgoing interface
  labels              Match label values
  next-hop            Match next hop neighbor
  slot                Specify the slot
  vrf                 Show entries for a VPN Routing/Forwarding instance
  |                   Output modifiers
  <cr>

R1-PE1#show mpls forwarding-table 10.5.5.5
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
102        202        10.5.5.5/32      0             Fa0/0      10.12.0.2 


R2-P1#show mpls ldp bindings 10.5.5.5 32
  lib entry: 10.5.5.5/32, rev 8
        local binding:  label: 202
        remote binding: lsr: 10.1.1.1:0, label: 102
        remote binding: lsr: 10.3.3.3:0, label: 304

R2-P1#show mpls forwarding-table 10.5.5.5 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
202        304        10.5.5.5/32      0             Fa1/1      10.23.0.3  


R3-P2#show mpls ldp bindings 10.5.5.5 32
  lib entry: 10.5.5.5/32, rev 14
        local binding:  label: 304
        remote binding: lsr: 10.4.4.4:0, label: 402
        remote binding: lsr: 10.2.2.2:0, label: 202

R3-P2#show mpls forwarding-table 10.5.5.5
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
304        402        10.5.5.5/32      0             Fa1/0      10.34.0.4


R4-P3#show mpls ldp bindings 10.5.5.5 32
  lib entry: 10.5.5.5/32, rev 8
        local binding:  label: 402
        remote binding: lsr: 10.5.5.5:0, label: imp-null      // DIRECTLY CONNECTED ROUTE ON R5 (PENULTIMATE HOP POPPING/POP)
        remote binding: lsr: 10.3.3.3:0, label: 304
R4-P3#
R4-P3#show mpls forwarding-table 10.5.5.5
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
402        Pop Label  10.5.5.5/32      0             Fa0/0      10.45.0.5 


R5-PE2#show mpls ldp bindings 10.5.5.5 32
  lib entry: 10.5.5.5/32, rev 8
        local binding:  label: imp-null
        remote binding: lsr: 10.4.4.4:0, label: 402

R5-PE2#show mpls forwarding-table 10.5.5.5
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
None       No Label   10.5.5.5/32      0  


Notice the traceroute displays an MPLS label.
R1-PE1#traceroute 10.5.5.5 source 10.1.1.1
Type escape sequence to abort.
Tracing the route to 10.5.5.5
VRF info: (vrf in name/id, vrf out name/id)
  1 10.12.0.2 [MPLS: Label 202 Exp 0] 128 msec 56 msec 68 msec
  2 10.23.0.3 [MPLS: Label 304 Exp 0] 40 msec 60 msec 40 msec
  3 10.34.0.4 [MPLS: Label 402 Exp 0] 44 msec 8 msec 40 msec
  4 10.45.0.5 68 msec 104 msec 40 msec


These are the initial router configurations.


R1-PE1#show run
Building configuration...

Current configuration : 1285 bytes
!
! Last configuration change at 12:38:40 UTC Sun Nov 11 2018
upgrade fpd auto
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1-PE1
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
!
!
!
!
!        
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
mpls label range 100 199
!
!
!
!
!
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
!
!        
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 10.12.0.1 255.255.255.0
 ip ospf 1 area 0
 duplex half
 mpls ip
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet1/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
no cdp log mismatch duplex
!
!
!
control-plane
!
!        
!
mgcp profile default
!
!
!
gatekeeper
 shutdown
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login
 transport input all
!        
!
end



R2-P1#show run
Building configuration...

Current configuration : 1322 bytes
!
! Last configuration change at 12:26:18 UTC Sun Nov 11 2018
upgrade fpd auto
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2-P1
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
!
!
!
!
!        
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
mpls label range 200 299
!
!
!
!
!
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
!
!        
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 10.12.0.2 255.255.255.0
 ip ospf 1 area 0
 duplex half
 mpls ip
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet1/1
 ip address 10.23.0.2 255.255.255.0
 ip ospf 1 area 0
 duplex auto
 speed auto
 mpls ip
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
no cdp log mismatch duplex
!
!
!
control-plane
!        
!
!
mgcp profile default
!
!
!
gatekeeper
 shutdown
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login
 transport input all
!
!
end



R3-P2#show run
Building configuration...

Current configuration : 1304 bytes
!
! Last configuration change at 12:26:17 UTC Sun Nov 11 2018
upgrade fpd auto
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3-P2
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
!
!
!
!
!        
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
mpls label range 300 399
!
!
!
!
!
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
!
!        
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex half
!
interface FastEthernet1/0
 ip address 10.34.0.3 255.255.255.0
 ip ospf 1 area 0
 duplex auto
 speed auto
 mpls ip
!        
interface FastEthernet1/1
 ip address 10.23.0.3 255.255.255.0
 ip ospf 1 area 0
 duplex auto
 speed auto
 mpls ip
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
no cdp log mismatch duplex
!
!
!
control-plane
!
!        
!
mgcp profile default
!
!
!
gatekeeper
 shutdown
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login
 transport input all
!        
!
end



R4-P3#show run
Building configuration...

Current configuration : 1283 bytes
!
! Last configuration change at 12:45:54 UTC Sun Nov 11 2018
upgrade fpd auto
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R4-P3
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
!
!
!
!
!        
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
mpls label range 400 499
!
!
!
!
!
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
!
!        
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.4.4.4 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 10.45.0.4 255.255.255.0
 ip ospf 1 area 0
 duplex half
 mpls ip
!
interface FastEthernet1/0
 ip address 10.34.0.4 255.255.255.0
 ip ospf 1 area 0
 duplex auto
 speed auto
 mpls ip
!
interface FastEthernet1/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
router ospf 1
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
no cdp log mismatch duplex
!
!
!
control-plane
!
!        
!
mgcp profile default
!
!
!
gatekeeper
 shutdown
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login
 transport input all
!        
!
end



R5-PE2#show run
Building configuration...

Current configuration : 1285 bytes
!
! Last configuration change at 12:06:50 UTC Sun Nov 11 2018
upgrade fpd auto
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R5-PE2
!
boot-start-marker
boot-end-marker
!
!
!
no aaa new-model
no ip icmp rate-limit unreachable
!
!
!
!
!        
!
no ip domain lookup
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
mpls label range 500 599
!
!
!
!
!
!
!
!
!
!
redundancy
!
!
ip tcp synwait-time 5
!
!        
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.5.5.5 255.255.255.255
 ip ospf 1 area 0
!
interface FastEthernet0/0
 ip address 10.45.0.5 255.255.255.0
 ip ospf 1 area 0
 duplex half
 mpls ip
!
interface FastEthernet1/0
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface FastEthernet1/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
router ospf 1
 network 10.0.0.0 0.255.255.255 area 0
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
no cdp log mismatch duplex
!
!
!
control-plane
!
!        
!
mgcp profile default
!
!
!
gatekeeper
 shutdown
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 stopbits 1
line vty 0 4
 login
 transport input all
!        
!
end