Thursday, October 28, 2010

INE Vol 1 multicast - Lab 3 - Multicast RPF Failure (3rd Pass)

So this lab deals with Multicast with broken uRPF due to PIM no being enabled on preferred route/link.

The best way to determine where the problem is, is to use "no ip mroute-cache" on the the PIM enabled interfaces and to "debug ip mpacket". Of course, you'll want to log this to the buffer and not the console.

Doing this at each step of the way, you'll find that R4 is preferring a NON-PIM link to get back to the source.

*Oct 28 18:38:27.499: IP(0): s=10.1.37.7 (FastEthernet2/0) d=224.1.1.1 id=133, ttl=251, prot=1, len=114(100), not RPF interface

This should be an indication that path isn't taking the correct interface back to the source. A static mroute fixes this issue.

Monday, October 25, 2010

INE Vol 1 - Lab 26 - Multicast over MPLS VPNs (3rd pass) - BGP MDT SAFI!!!

For the IOS I'm using for my lab 12.4(20)T, it's necessary to configure BGP address-family MDT for the MDT tunnel to come up.

Otherwise everything else in this lab is straight forward. Configure Multicast throughout the SP and Enterprise devices, enable Multicast on the PE's for the specific VPN and if using static RPs remember to configure the RP address in the VRF on the PEs.

Saturday, October 23, 2010

INE Vol 1 - Lab 22 MPLS TE - Dynamic PE to PE tunnels (3rd Pass)

In this lab, it states that you should enable mpls ip on the links but in reality you don't have to since RSVP will take care of the IGP labeling for the BGP next hop and VPNv4 BGP takes care of the Customer prefixes. I did this lab without enable ldp/tdp and it worked as expected.

Just as a review, there are 5 major steps.

Step 1: Enable MPLS traffic-eng tunnels globally
Step 2: Enable MPLS traffic-eng tunnels in the IGP
OSPF - mpls traffic-eng area 0 & mpls traffic-eng router l 0
ISIS - metric-style wide, mpls traffic-eng [level1 | level 2], mpls traffic-eng router l 0
Step 3: Enable MPLS traffic-eng on the interface as well as IP RSVP on the interface
Step 4: Create a tunnel interface and configure as an mpls traffic-eng tunn
Step 5: Ensure that the tunnel is taken for some/all traffic, autoroute announce, static routing, pbr, etc.

INE Vol 1 - Lab 21 - Controlling MPLS Label Distribution (3rd Pass)

Don't forget when restricting label advertisements using "mpls ldp advertise-label for X to Y" that you need to disable mpls ldp advertise-labels for ALL labels which is on be default and won't show up in the config.

Use:
no mpls ldp advertise-labels
mpls advertise-labels for X to Y


Thursday, October 21, 2010

INE Vol 1 - Lab 20 - VRF Lite (twist)

I redid this lab again and this time I introduced my own twist. Instead of running a dynamic routing protocol between the VRF lite router and the PE, try using static routes and then try using static default routes. Turns out it's a fun redistribution exercise.

** Also be aware that for sub-interfaces on a serial link wasn't working correctly for me but once I used 2 physical serial interfaces instead of 1 with 2 subs, everything came up correctly.

Tuesday, October 19, 2010

INE Vol 1 - Lab 16 - Inter-AS MPLS VPNs with Multihop MP-eBGP for VPNv4 Exchange (3rd Pass)

This time around, I forgot I needed to redistribute from IPv4 Unicast BGP into IGP. This is required because when the VPNv4 BGP peers recurse to IGP (putting the IGP label on top of the VPN label), it has to know of the loopback in IGP. Even if it knows it by IPv4 BGP, that's not an IGP so it still won't work (meaning you may see the routes appear on the CEs but pings will fail, because the labeling is failing).

Other things to note, MP-eBGP multi hop and IPv4 Send-label are required.

IPv4 BGP Send-label to get labels across the Inter AS connection.

INE Vol 1 - Lab 15 - Inter-AS w/ MP-eBGP (3rd Pass)

Redoing this lab was good. Caught some silly mistake be trouble shooting.

1. Ensuring the control plane, ie. the BGP VPNv4 tables, look good, meaning you're receiving BGP routes. If you're not, then check to make sure you have next-hop-self enabled where appropriate and that you are not filtering route-targets by default on certain BGP-ASBR routers

2. Once the routes appear on the CEs, ping, if ping fails, then check step by step LDP and make sure labels are assigned for the destinations. A common mistake, if you have a loopback configured but not in IGP then you're LDP peering won't come up since it'll use the loopback as it's ID but the peers won't have reachability to it (unless you put it in IGP).

Monday, October 18, 2010

INE Vol 1 - Lab 14 - Inter AS Back to Back VRFs

Re-doing this lab, I used different RDs and Route-Targets in the 2 different ASes and I wasn't able to get connectivity. My thoughts were that the ASes were independent of each other being that they are doing the PE-CE transition into IP routing to exchange routes.

When I reconfigured the VRFs to be uniform through out the 2 the ASes, everything worked.


Tuesday, September 7, 2010

OL - MPLS Label filtering

Notes:

Atleast 2 ways to accomplish label filtering, meaning appending label to prefix. Outbound filtering and Inbound filtering.

Configs:
Outbound Filtering
no mpls ldp advertise-labels
mpls ldp advertise-labels for 51 to 50

Access List 51 is ACL for the prefixes and ACL 50 is the ACL for the LDP neighbor

Inbound Filtering
mpls ldp neighbor 1.1.1.1 labels accept 99

Access List 99 is the ACL for the prefixes

Thursday, September 2, 2010

OL - L2TPv3

Notes:

The difference between AToM and L2TP is that AToM is over an MPLS network whereas L2TP is over straight IP.

The concepts are very similar. The CE facing interfaces on the PEs need to create a VC across IP (for L2TP or MPLS for AToM). This requires pseudowires to make that connection.

With both AToM, the use of LDP neighbor/peer of the remote PE is used but in L2TP, under the pseudowire-class, you need to define a ip local inteface loop 0. And then use the peer's loopback as the xconnect's peer.

Config:

R3 - PE
l2tp-class L2TP
authentication
password 7 047822352C0E
!
pseudowire-class L2TP
encapsulation l2tpv3
protocol l2tpv3 L2TP
ip local interface Loopback0
!
!
interface FastEthernet1/1
no ip address
duplex auto
speed auto
no cdp enable
no clns route-cache
xconnect 4.4.4.4 12 pw-class L2TP

OL - ATOM

Notes:

I've created my own lab to test out the different types of Layer 2 protocols I can transport over MPLS.

There are, at a basic level, 2 parts to enabling AToM. First, create a pseudowire-class and second, create the VC via an xconnect statement under the CE facing interface on the PE.

Of course, the prerequisite for this to work is that MPLS is enabled throughout the core network.

Also, note that to make life easier use 'mpls ldp router-id loop 0 force'. You have to designate the other PE as peer in xconnect which will be the ldp router id.

Layer 2 protocols that can be transported are EoMPLS, FRoMPLS, PPPoMPLS, HDLCoMPLS, and ATMoMPLS (can't emulate in dynamips, as the PA-A1 doesn't support it).

Config:

R3 - PE
mpls ldp router-id Loopback0 force
mpls label protocol ldp
pseudowire-class EOMPLS
encapsulation mpls
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
no clns route-cache
!
interface FastEthernet1/0
ip address 150.1.35.3 255.255.255.0
duplex auto
speed auto
mpls ip
no clns route-cache
!
interface FastEthernet1/1.100
description EoMPLS
encapsulation dot1Q 100
no cdp enable
xconnect 4.4.4.4 100 pw-class EOMPLS
!
interface Serial2/0
description HDLCoMPLS
no ip address
serial restart-delay 0
no cdp enable
no clns route-cache
xconnect 4.4.4.4 67 pw-class EOMPLS
!
interface Serial2/1
description FRoMPLS
no ip address
serial restart-delay 0
no cdp enable
no clns route-cache
xconnect 4.4.4.4 607 pw-class EOMPLS
!
interface FastEthernet3/0
ip address 150.1.34.3 255.255.255.0
shutdown
duplex auto
speed auto
mpls ip
no clns route-cache
!

CE config
The CE's are generally configured like back to back CE to CE connections with nothing but a pseudo wire connecting the two. * Remember for FRoMPLS though, you'll want once side to act as Frame switch and that interface to be DCE.

Thursday, August 26, 2010

OL - ISIS

Notes:

I've been working through ISIS since I'm not very familiar with it. ISIS by default creates Level 1 (intra area) and Level 2 (inter area) adjacencies with other ISIS routers. You can limit the type on a per interface level ['isis circuit-type'] or on a per process level ['is-type']. Same with authentication, you can do on s per link or on a per process level and authentication supports clear text as well as MD5 hash.

Level 2 is considered the 'backbone' area as all other level1 router need to connect and transit a level 2 area to get to another level 1 router. Level 1-2 routers automatically redistribute level1 prefixes into level 2. In order to redistribute Level 2 into Level 1 you need to configure 'redistribute isis ip level-2 into level-1 route-map/distribute-list'. The route-map doesn't need to contain any entries, it just needs to exist.

Default-information originate by default will originate only a L2 default, in order to generate and L1 default create a route-map, set level level-1 and then append the route map to the default-information originate.

Metrics, without metric-style wide configured, isis defaults to max metric of 63, enabling wide metrics lets you go far beyond that. The default metric of any interface is 10 and can be changed.

Priority, the default priority is 64 with the max being 127. Priority is used to determine who will be the DIS on a multi access segment like ethernet.

Summary-address, can summarize groups of addresses for a given level. The metric used to advertise the summary is the smallest metric of all the more specific routes.



Monday, August 23, 2010

OL - PPPoE

Notes:

PPPoE can be configured in a many different ways. One of the simplest is demonstrated here. R1 is the client and R2 is the server.

Summary Steps:
Order of Operation is important!

For the client:
1. under the FastE interface, enable pppoe 'pppoe-enable'
2. create a dialer interface, assign an IP, encaps PPP, and associate the this interface to a dialer pool
3. under the FastE interface, associate this interface to the dialer pool

For the server:
1. enable vpdn 'vpdn enable', create a vpdn-group 'vpdn-group CISCO', under the group 'accept-dailin' to make it a server, designate a virtual-template 'virtual-template 1' and configure the protocol to pppoe 'protocol pppoe'
2. configure the virtual-template with an IP (note the default encaps for the Virtual template is ppp)
3. under the FastE interface, enable pppoe.
Config:
R1
interface FastEthernet1/0
no ip address
duplex auto
speed auto
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface Dialer1
ip address 150.1.12.1 255.255.255.0
encapsulation ppp
dialer pool 1
dialer idle-timeout 0
dialer persistent

R2
vpdn enable
!
vpdn-group CISCO
! Default L2TP VPDN group
accept-dialin
protocol pppoe
virtual-template 1
!
interface FastEthernet1/0
no ip address
duplex auto
speed auto
pppoe enable group global
!
interface Virtual-Template1
ip address 150.1.12.2 255.255.255.0
!

For DocCD reference, under 12.2 configuration guides, Wide-Area Networking, Configuring Broadband Access... [DocCD Ref]

Sunday, August 22, 2010

INE Vol 1 multicast - Lab 12 - Multicast BGP

Notes:

Nothing really to difficult here. This lab uses AFI and SAFI for ipv4 multicast.

Some things to note:
1. On the router connecting to the receiver, disable ip mroute-cache.
2. Disabling Fast Switching via the "no ip route-cache" command helps ensure that the packets are process switched.


INE Vol 1 multicast - Lab 11 - Anycast RP

Notes:

This lab demonstrates an application of MSDP by using AnycastRP in a single PIM-SM domain. AnycastRP is used to provide RP redundancy within a PIM-SM domain and can provide load balancing.

Anycast RP uses an additional loopback on 2 or more routers with the same /32 ip address. This IP address is now the IP for the RP and must be known to all PIM-SM routers either via a static rp, autorp, or bsr.

MSDP is used to connect the 2 or more routers with this additional loopback so they can exchange RP source information.

The same reference as the last lab provides a better description and details.


Config:
R1 and R5 as the RP using AnycastRP (similar config on R5)

hostname R1
!
no ip domain lookup
ip multicast-routing
no ipv6 cef
!
multilink bundle-name authenticated
!
interface Loopback0
ip address 150.1.1.1 255.255.255.255
!
interface Loopback1
ip address 150.1.255.255 255.255.255.255
!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
no frame-relay inverse-arp
!
interface Serial1/0.12 point-to-point
ip address 150.1.12.1 255.255.255.0
ip pim sparse-mode
snmp trap link-status
frame-relay interface-dlci 102
!
interface Serial1/1
ip address 150.1.13.1 255.255.255.0
ip pim sparse-mode
serial restart-delay 0
!
router ospf 1
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
ip pim rp-address 150.1.255.255
ip msdp peer 150.1.5.5 connect-source Loopback0


INE Vol 1 multicast - Lab 10 - MSDP

Notes:

This Lab deals with MSDP, Multicast Source Discovery Protocol, which allows RPs in different domains to exchange information about Multicast Sources. This is used in PIM Sparse mode. Since RPs know about the receivers in its own domains but couldn't know about sources in other domains, MSDP is used to exchange the information about sources so that multicast traffic can flow between domains. Below is a good description on MSDP.


Config:
R2 and R4 are RPs for their respective PIM Sparse multicast domains, they are also edge routers in their own domains and peer via eBGP.

hostname R2
!
no ip domain lookup
ip multicast-routing
!
interface Loopback0
ip address 150.1.2.2 255.255.255.255
!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
no frame-relay inverse-arp
!
interface Serial1/0.21 point-to-point
ip address 150.1.12.2 255.255.255.0
ip pim sparse-mode
snmp trap link-status
frame-relay interface-dlci 201
!
interface FastEthernet2/0
ip address 150.1.24.2 255.255.255.0
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 150.1.2.2 0.0.0.0 area 0
network 150.1.12.2 0.0.0.0 area 0
default-information originate always
!
router bgp 1
no synchronization
bgp log-neighbor-changes
redistribute ospf 1
neighbor 150.1.24.4 remote-as 2
no auto-summary
!
ip pim rp-address 150.1.24.2
ip msdp peer 150.1.24.4 remote-as 2

R4
hostname R4
!
no ip domain lookup
ip multicast-routing
!
interface Loopback0
ip address 150.1.4.4 255.255.255.255
!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
no frame-relay inverse-arp
!
interface Serial1/0.45 point-to-point
ip address 150.1.45.4 255.255.255.0
ip pim sparse-mode
snmp trap link-status
frame-relay interface-dlci 405
!
interface FastEthernet2/0
ip address 150.1.24.4 255.255.255.0
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 150.1.4.4 0.0.0.0 area 0
network 150.1.45.4 0.0.0.0 area 0
default-information originate always
!
router bgp 2
no synchronization
bgp log-neighbor-changes
redistribute ospf 1
neighbor 150.1.24.2 remote-as 1
no auto-summary
!
ip pim rp-address 150.1.24.4
ip msdp peer 150.1.24.2

Verification:
R6 - router closest to the receiver

R6#sh ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 224.1.1.1), 00:00:20/stopped, RP 150.1.24.4, flags: SJC
Incoming interface: FastEthernet1/0, RPF nbr 150.1.56.5
Outgoing interface list:
FastEthernet1/1, Forward/Sparse, 00:00:20/00:02:39

(10.1.37.7, 224.1.1.1), 00:00:19/00:02:41, flags: JT
Incoming interface: FastEthernet1/0, RPF nbr 150.1.56.5
Outgoing interface list:
FastEthernet1/1, Forward/Sparse, 00:00:19/00:02:40

(*, 224.0.1.40), 00:00:20/00:02:39, RP 150.1.24.4, flags: SJPCL
Incoming interface: FastEthernet1/0, RPF nbr 150.1.56.5
Outgoing interface list: Null

R6#

Saturday, August 21, 2010

INE Vol 1 multicast - Lab 9 - Bootstrap Router

Notes:

Similar to autoRP, BSR has a similar concept to autoRP and Mapping Agent. The "autoRP" equivalent in BSR is "ip pim rp-candidate " and the equivalent to the Mapping Agent is "ip pim bsr-candidate "

Config:
R1 - RP Candidate

interface Loopback0
ip address 150.1.1.1 255.255.255.255
ip pim sparse-mode
!
ip pim rp-candidate Loopback0

R5 - BSR

R5#sh run int l 0
Building configuration...

Current configuration : 85 bytes
!
interface Loopback0
ip address 150.1.5.5 255.255.255.255
ip pim sparse-mode
end

R5#sh run | i bsr
ip pim bsr-candidate Loopback0 0
R5#

INE Vol 1 multicast - Lab 8 - AutoRP and Default RP Placement

Notes:

This lab uses both autoRP and static RP while in Sparse mode. When both are configured, autoRP takes precedence and if for whatever reason the RP info is lost, it falls to the statically configured RP.

You can also limit the groups that a particular RP will be the RP for.

Config:
R2 - the autoRP candidate
!
ip pim rp-address 150.1.2.2 1
ip pim send-rp-announce Loopback0 scope 16
ip pim send-rp-discovery Loopback0 scope 16
!
logging alarm informational
access-list 1 permit 224.0.1.39
access-list 1 permit 224.0.1.40
!

R1-R6 (minus R4), the other PIM routers
!
ip pim rp-address 150.1.2.2 1
!
logging alarm informational
access-list 1 permit 224.0.1.39
access-list 1 permit 224.0.1.40

Verification:
R1#sh ip pim rp mapping
PIM Group-to-RP Mappings

Group(s) 224.0.0.0/4
RP 150.1.2.2 (?), v2v1
Info source: 150.1.2.2 (?), elected via Auto-RP
Uptime: 00:13:45, expires: 00:02:10
Acl: 1, Static
RP: 150.1.2.2 (?)
R1#

Removed autoRP from R2
R1#sh ip pim rp mapping
PIM Group-to-RP Mappings

Acl: 1, Static
RP: 150.1.2.2 (?)
R1#
R1#

INE Vol 1 multicast - Lab 7 - PIM NBMA Mode

Notes:

In this lab, R1 has a frame-relay multipoint interface via the physical serial interface which is to test the use of ip pim nbma mode.


[excerpt]
This PIM feature allows the router to only send packets to those neighbors that want to receive them. A router in PIM NBMA mode treats each remote PIM neighbor as if it were connected to the router through a point-to-point link.

Configs:
R1 - NBMA mode router

R1#sh run
Building configuration...

hostname R1
!
logging message-counter syslog
!
no ip domain lookup
ip multicast-routing
no ipv6 cef
!
interface Loopback0
ip address 150.1.1.1 255.255.255.255
ip pim sparse-mode
!
interface Serial1/0
ip address 150.1.125.1 255.255.255.0
ip pim nbma-mode
ip pim sparse-mode
encapsulation frame-relay
ip ospf network point-to-multipoint
serial restart-delay 0
frame-relay map ip 150.1.125.2 102 broadcast
frame-relay map ip 150.1.125.5 105 broadcast
no frame-relay inverse-arp
!
interface Serial1/1
ip address 150.1.13.1 255.255.255.0
ip pim sparse-mode
serial restart-delay 0
!
router ospf 1
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
ip pim rp-address 150.1.1.1
ip pim autorp listener

INE Vol 1 multicast - Lab 6 - AutoRP Listener

Notes:

Autorp listener is used in Sparse mode to ensure that the RP can talk to the Mapping Agent 224.0.1.39 and that the Mapping Agent can talk to the rest of the routers 224.0.1.40, which is accomplished by allowing these 2 groups to speak in Dense mode.

The Lab asks that we do not allow Dense mode fallback however since this is strictly Sparse mode, there is no possibility of this falling back to Dense mode. "no ip pim dm-fallback" should be used in Sparse-Dense mode, to stop the routers from speaking in Dense Mode if RP info is lost, since RPs are not used in Dense mode.

Configs:
No configs necessary as the only difference between Sparse mode and Sparse-Dense mode is "ip pim autorp listener"

Good Ref