SE800 MPLS practise.FYI


 

 

 

 

 

 

 

Preliminary SE800 Router check for MPLS/BGP VPN Configuration

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SmartEdge Router Project

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Background

 

The purpose of this document is to make a preliminary sanity check that this node is connected to the MPLS/BGP network and is capable of providing VPN services over it.

 

This is also assuming that proper turn up of the node via the Installation Guide and its Interior Gateway Protocol (IGP) is properly configured and can reach the appropriate neighbors

 

 

 

Topology

 

     ------------         (------------)          ------------

     | PE Node  |        (  P nodes     )         | PE Node  |

     | SE800    |-------(   IP Cloud     )--------| SE800    |

     | #1       |        (  MPLS enable )         | #2       |

     ------------         (------------)          ------------

 

SE800-PE1

- context local

--- interface to_cloud = 10.10.10.2  (Cloud's remote address is 10.10.10.1)

--- interface loop1 loop = 100.100.100.64

 

- context vpn1

--- interface loop1 = 200.200.200.1

 

SE800-PE2

- context local

--- interface to_cloud = 10.10.20.2 (Cloud's remote address is 10.10.20.1)

--- interface loop1 loop = 100.100.100.66

 

- context vpn1

--- interface loop1 = 200.200.100.1

 


Things to check on each of the SE800.

 

SE800-PE1 and SE800-PE2 are the two SE800s that we are testing

 

1          Check to make sure that IGP (OSPF or ISIS or RIP) has required routes to other PE node in the "local" context.

2     Check to make sure that iBGP peers are up to remote PE node

3     Check to make sure that LSP is up on MPLS path to remote PE node

4     Check to make sure that ip icmp ping access is reachable to remote vpn loopback

 

With these checks, this is a simple sanity that will allow us to view from a top level that the lower level processes are working.

 

All examples below are captured and performed on SE800-PE1. All tasks should be performed on both PEs.

 

 

1          Check to make sure that IGP (OSPF or ISIS or RIP) has required routes to other PE node in the "local" context.

 

In our example below, using OSPF for the IGP and we need to use 'show ip route' to make sure that PE1 has routes to PE2 and vice versa. Below are commands and examples of how to perform this. Please perform task on both SE800s to ensure that routing is working.

 

Commands:

- show configuration             // Shows the configuration

- show ip interface brief         // Shows a brief list of ip address

- show ospf interface            // Shows what interfaces has ospf enabled

- show ospf neighbor            // Shows the ospf neighbor

- show ip route                     // Shows the routing table of node.

- ping                           // allows to make sure ip connectivity

 

 

[local]SE800-PE1#show configuration

Building configuration...

 

Current configuration:

!

context local

!

 interface loop1 loopback

  ip address 100.100.100.64/32

!

 interface to_cloud

  ip address 10.10.10.2/24

!

 router ospf 1

  area 0.0.0.0

   interface loop1

   interface to_cloud

!

port pos 6/1

 no shutdown

 bind interface to_cloud local

!

end

 


[local]SE800-PE1#show ip interface brief

Fri Oct 18 21:29:39 2002

Name              Address             MTU   State    Bindings

loop1             100.100.100.64/32   1500  Up       (Loopback)

to_cloud          10.10.10.2/24       4470  Up       cisco-hdlc 6/1

 

 

/*

 * Check to make sure that the interfaces that should have ospf actually

 * has OSPF enabled.

 * Notice below that we have the remote OSPF neighbor adjacency formed.

 * and that the state of the node is Full.

 */

 

 

[local]SE800-PE1#show ospf interface

 

  --- OSPF Interfaces for Instance 1/Router ID 100.100.100.64 ---

 

Addr            Len  NetworkType     Cost     Priority State     Area

10.10.10.2      24   point-to-point  1       N/A      P2P      0.0.0.0       

100.100.100.64  32   loopback        1       N/A      Loopback 0.0.0.0       

 

 

[local]SE800-PE1#show ospf neighbor

 

  --- OSPF Neighbors for Instance 1/Router ID 100.100.100.64 ---

 

NeighborID      NeighborAddress Pri State    DR-State IntfAddress     TimeLeft

100.100.100.65  10.10.10.1      1   Full     Other    10.10.10.2      143

 

 

/*

 * Below, use "show ip route" to show the routing table to the

 * remote PE and also to use the ping command with the source option

 * to make sure that our loopbacks are reachable to each other.

 */

 

 

[local]SE800-PE1#show ip route

Codes: C - connected, S - static, S dv - dvsr, R - RIP, e B - EBGP, i B - IBGP

       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, L1 - IS-IS level-1,  L2  - IS-IS level-2

       >   - Active Route

 

Type    Network             Next Hop        Dist  Metric    UpTime  Interface          

> C     10.10.10.0/24                          0       0  00:24:50  to_cloud 

> O     10.10.20.0/24       10.10.10.1       110       2  00:10:15  to_cloud 

> C     100.100.100.64/32                      0       0  04:52:54  loop1    

> O     100.100.100.66/32   10.10.10.1       110       0  00:09:47  to_cloud 

 

 

[local]SE800-PE1#ping 100.100.100.66 80 source 100.100.100.64

PING 100.100.100.66 (100.100.100.66): 56 data bytes, timeout is 1 second

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

----100.100.100.66 PING Statistics----

80 packets transmitted, 80 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 2.772/3.455/12.305/1.245 ms

/*

 * Please perform same tasks on the remote PE by checking the IGP

 * and ensuring that proper connectivity is available.

 */

 

 

2          Check to make sure that iBGP peers are up to other PE node

 

In this situation, we will be forming an iBGP peer between SE800-PE1 and SE800-PE2 by establishing the peer to each other's loopback address. We will also ensure that we are supporting BGP for Address Family of unicast as well as vpn.

 

SE800 #1:

- interface loop1 loop = 100.100.100.64

 

SE800 #2

- interface loop1 loop = 100.100.100.66

 

Commands:

- show configuration             // Shows the configuration

- show bgp neighbor             // shows the bgp neighbors.

 

 

/*

 * Example below is eliminating previously configured information

 * and only showing pertinent information for this section.

 * At the end, a complete listing of both SE800s will be provided

 * Notice that we are pointing our neighbor to the remote PE's loopback

 * and also that we are using our 'loop1' as the update-source for BGP

 */

 

 

[local]SE800-PE1#show configuration

Building configuration...

 

Current configuration:

!

context local

!

 interface loop1 loopback

  ip address 100.100.100.64/32

!

 router bgp 179

!

  neighbor 100.100.100.66 internal

   update-source loop1

   next-hop-self

   address-family ipv4 unicast

   address-family ipv4 vpn

!

end

 

 

/*

 * Below, we can see that the BGP neighbor is to 100.100.100.66 (loopback

 * address of SE800-PE2) and the state is Established

 * Also we are supporting both Address-family types of unicast and vpn

 */


[local]SE800-PE1#show bgp neighbor 

 

BGP neighbor: 100.100.100.66, remote AS: 179, internal link

  Version: 4, router identifier: 100.100.100.66

  State: Established for 00:31:02

  Last read 00:00:59, last send 00:00:59

  Hold time: configured 180, negotiated 180

  Keepalive time: configured 60, negotiated 60

  Local restart timer 60 sec, stale route retain timer 180 sec

  Received restart timer 60 sec, flag 0x0

  Minimum time between advertisement runs: 5 secs

  Source IP address used from interface: loop1

  Source (local) IP address: 100.100.100.64

  Received messages: 308, notifications: 0, in queue: 0

  Sent messages: 311, notifications: 1, in queue: 0

  Reset count: 1, last reset time: 00:41:07, reset reason: Notification sent (hold time expired)

 

  CapSent: refresh, 4byteAS, unicast, vpn, restart

  CapRcvd: refresh 4byteAS, unicast, vpn, restart (time 60, flags 0x0)

 

  Address family: ipv4 unicast

    BGP table version: 0, neighbor version: 0

    Routes: rcvd 0, imported 0, active 0, history 0, dampend 0, sent 0

 

  Address family: ipv4 vpn

    BGP table version: 19, neighbor version: 19

    Routes: rcvd 1, imported 1, active 2, history 0, dampend 0, sent 1

 

 

/*

 * Please perform same tasks on the remote PE by checking the iBGP

 * configuration and that the neighbor is Established.

 */

 

 

3          Check to make sure that lsp is up on MPLS path to remote PE node

 

In this particular task, we need to enable MPLS and LDP on the interfaces across from the PE nodes through the P nodes towards the remote PE node.

 

Commands:

- show configiguration           // Shows the configuration

- show ldp neighbor              // Shows the LDP neighbors.

- show ldp binding         // Shows the bindings for LDP

- show mpls interface           // Shows what interfaces has mpls enabled.

- show mpls lm lsp              // Shows the label for the lsp.

- show mpls lm label-mapping      // Shows the mpls lable mapping.

- show ip route lsp               // Shows which routes has an lsp

 

 

[local]SE800-PE1#show configuration context local

Building configuration...

 

Current configuration:

!

context local

!

 interface to_cloud

  ip address 10.10.10.2/24

!

 router mpls 1

  interface to_cloud

!

 router ldp

  interface to_cloud

!

end

 

 

/*

 * In this particular case, we only have one LDP neighbor (the P cloud)

 * but that we have multiple bindings and have populated the labels

 * for each remote site that has enabled ldp.

 * Below, we can see that our lable to 100.100.100.66 (remote PE)

 * is populated.

 */

 

 

[local]SE800-PE1#show ldp neighbor

PeerFlags: A - LocalActiveOpen, D - Deleted, R - Reseting, E - OpenExtraDelay

           N - OpenNoDelay, P - SetMD5Passwd, T - RetainRoute, F - FlushState

           X - ExplicitNullEnabled, C - ExplicitNullStatusChanging

SHld - Session Holdtime Left, HHld - Hello Holdtime Left

 

NeighborAddr    LDP Identifier        State   Flag SHld HHld Interface

100.100.100.65  100.100.100.65:0      Oper         85   13   to_cloud

 

 

[local]SE800-PE1#show ldp binding

 > active binding, Local/In - local/input label binding

 From - source of remote label, Remote/Out - remote/output label binding

  Prefix/FEC         Learned-From          Local/In   Remote/Out Interface

> 10.10.10.0/24      local                 3                                  

                     100.100.100.65:0                 3                       

> 10.10.20.0/24      100.100.100.65:0      524290     3          to_cloud     

> 100.100.100.64/32  local                 3                                  

> 100.100.100.65/32  100.100.100.65:0      524291     3          to_cloud     

> 100.100.100.66/32  100.100.100.65:0      524292     524292     to_cloud     

 

 

[local]SE800-PE1#show mpls interface

 

  --- All MPLS Interfaces ---

 

Inst Address/Mask       Name                 Enabled  State  Bound to

1    10.10.10.2/24      to_cloud             Yes      Up     6/1

 

[local]SE800-PE1#show mpls lm lsp

Codes : S - MPLS-Static, R - RSVP, L - LDP, B - BGP

 

Type Endpoint            Direct Next-hop  Out Label      LSP Circuit        

L    10.10.20.0/24       10.10.10.1       3              255/3:2047:31/2/1/1

L    100.100.100.65/32   10.10.10.1       3              255/3:2047:31/2/1/2

L    100.100.100.66/32   10.10.10.1       524292         255/3:2047:31/2/1/3

 

 


[local]SE800-PE1#show mpls lm label-mapping

Codes : S - MPLS-Static, R - RSVP, L - LDP, B - BGP

 

Type    In Label  Action    Direct Next hop     Out Label

L       524290    php       10.10.10.1          3        

L       524291    php       10.10.10.1          3        

L       524292    swap      10.10.10.1          524292   

B       589824    pop                           0        

 

 

[local]SE800-PE1#show ip route lsp

Codes: S - static, RSVP - RSVP, LDP - LDP

Type   Network              UpTime Interface       Label    LSP Circuit

> LDP  10.10.20.0/24         2d16h to_cloud        3        255/3:2047:31/2/1/1

> LDP  100.100.100.65/32  00:53:03 to_cloud        3        255/3:2047:31/2/1/2

> LDP  100.100.100.66/32  00:53:23 to_cloud        524292   255/3:2047:31/2/1/3

 

 

/*

 * Please perform same tasks on the remote PE by checking the lsp and

 * mpls interfaces for accuracy.

 */

 

 

4          Check to make sure that ip icmp ping access is reachable from PE1 vpn context to remote PE's vpn context's loopback address.

 

SE800 #1:

- [vpn1] VPN-RD 100.100.100.64:1

--- interface loop1 loop = 200.200.200.1

 

SE800 #2

- [vpn1] VPN-RD 100.100.100.66:1

--- interface loop1 loop = 200.200.100.1

      

Commands:

- [local] show config context vpn1 // Shows configuration in vpn1 context

- [local] show bgp route ipv4 vpn   // Shows vpn routes learned via BGP

- [vpn1] show ip route                  // Shows ip route in vpn context

- [vpn1] traceroute                // Shows traceroute including MPLS label path

- [vpn1] ping                         // Ping remote PE

 

 

[local]SE800-PE1#show configuration context vpn1

Building configuration...

 

Current configuration:

!

context vpn1 vpn-rd 100.100.100.64:1

!

 interface loop1 loopback

  ip address 200.200.200.1/32

!

 router bgp vpn

  address-family ipv4 unicast

   export route-target 1:1

   import route-target 1:1

   redistribute connected

!

end

 

 

/*

 * The above configuration shows that we have a vpn-rd (Route Distinguisher)

 * that is associated to this vpn context. Each vpn context should have an

 * unique "RD" so that conflicts in duplicate routes can be avoided.

 *

 * In the VPN context, we have specified in our "router bgp vpn" to

 * import and export a route-target of 1:1

 * This route-target should be unique to each "vpn customer" to share

 * and exchange routes to each other.

 *

 * Below, we see via "show bgp route ipv4 vpn" that we get specific

 * routes from the remote VPN-RD of 100.100.100.66:1 and therefore

 * verify that the routes are being learned via bgp vpn.

 *

 */

 

 

[local]SE800-PE1#show bgp route ipv4 vpn

Address Family: ipv4 vpn

BGP table version is 27, local router ID is 100.100.100.64

Status codes: d damped, h history, > best, i internal

Origin codes: i - IGP, e - EGP, ? - incomplete

 

VPN RD : 100.100.100.64:1

   Network            Next Hop          Metric  LocPrf  Weight Path

>i 200.200.100.1/32   100.100.100.66         0     100     100 ?

>  200.200.200.1/32   0.0.0.0                0     100   32768 ?

 

VPN RD : 100.100.100.66:1

   Network            Next Hop          Metric  LocPrf  Weight Path

>i 200.200.100.1/32   100.100.100.66         0     100     100 ?

 

 

/*

 * By performing a "show ip route" in the vpn1 context, we can see

 * that the route learned via the above RD is now being imported to

 * our vpn1 context as an iBGP route.

 *

 * The Next Hop of (100.100.100.66) is in the MPLS cloud and therefore

 * not pingable, but the remote network should be.

 *

 */

 

 

[vpn1]SE800-PE1#show ip route

Codes: C - connected, S - static, S dv - dvsr, R - RIP, e B - EBGP, i B - IBGP

       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, L1 - IS-IS level-1,  L2  - IS-IS level-2

       >   - Active Route

 

Type    Network             Next Hop        Dist  Metric    UpTime  Interface    

> i B   200.200.100.1/32    100.100.100.66   200       0     2d16h            

> C     200.200.200.1/32                       0       0     2d22h  loop1    

 

/*

 * Notice that the Traceroute below shows an MplsLabel on the path sent.

 *

 *   MplsLabel: 524292 : This is the label of the LSP

 *   MplsLabel: 589824 : This is the label of the VPN or "bottom label"

 *

 * Perform the ping to the loopback address of the remote PE's VPN to

 * ensure that ip connectivity is established.

 */

 

 

[vpn1]SE800-PE1#traceroute 200.200.100.1       

se_traceroute to 200.200.100.1 (200.200.100.1), 30 hops max, 40 byte packets

 1  10.10.10.1 (10.10.10.1)   4.705 ms  4.068 ms  3.267 ms

         MplsLabel: 524292 MplsExpBits: 0 TTL: 1

         MplsLabel: 589824 MplsExpBits: 0 TTL: 1

 2  200.200.100.1 (200.200.100.1)   3.669 ms  4.806 ms  3.953 ms

 

[vpn1]SE800-PE1#ping 200.200.100.1 80 source 200.200.200.1

PING 200.200.100.1 (200.200.100.1): 56 data bytes, timeout is 1 second

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

----200.200.100.1 PING Statistics----

80 packets transmitted, 80 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 2.837/3.253/4.664/0.456 ms

 

 

/*

 * Please perform same tasks on the remote PE by performing the

 * checks of the routes and by pinging the remote vpn's loopback

 * address.

 */

 


Configuration

 

Configuration on SE800-PE1

 

[local]SE800-PE1#show config

Building configuration...

 

Current configuration:

!

service multiple-contexts

!

context local

!

 no ip domain-lookup

!

 interface loop1 loopback

  ip address 100.100.100.64/32

!

 interface to_cloud

  ip address 10.10.10.2/24

!

 router ospf 1

  area 0.0.0.0

   interface loop1

   interface to_cloud

!

 router mpls 1

  interface to_cloud

!

 router ldp

  interface to_cloud

!

 router bgp 179

!

  neighbor 100.100.100.66 internal

   update-source loop1

   next-hop-self

   address-family ipv4 unicast

   address-family ipv4 vpn

!

context vpn1 vpn-rd 100.100.100.64:1

!

 interface loop1 loopback

  ip address 200.200.200.1/32

!

 router bgp vpn

  address-family ipv4 unicast

   export route-target 1:1

   import route-target 1:1

   redistribute connected

!

! ** End Context **

!

card oc3-8-port 6

!

port pos 6/1

 path-trace RedBack

 no shutdown

 bind interface to_cloud local

!

port ethernet 7/1

! XCRP management ports on slot 7 and 8 are configured through 7/1

 no shutdown

 bind interface mgmt_ethernet mgmt

!

 system hostname SE800-PE1

!

end

 

 

 

Configuration on SE800-PE2

 

[local]SE800-PE2#show config

Building configuration...

 

Current configuration:

!

service multiple-contexts

!

context local

!

 interface loop1 loopback

  ip address 100.100.100.66/32

!

 interface to_cloud

  ip address 10.10.20.2/24

!

 router ospf 1

  area 0.0.0.0

   interface loop1

   interface to_cloud

!

 router mpls 1

  interface to_cloud

!

 router ldp

  interface to_cloud

!

 router bgp 179

!

  neighbor 100.100.100.64 internal

   update-source loop1

   next-hop-self

   address-family ipv4 unicast

   address-family ipv4 vpn

!

context vpn1 vpn-rd 100.100.100.66:1

!

 interface loop1 loopback

  ip address 200.200.100.1/32

!

 router bgp vpn

  address-family ipv4 unicast

   export route-target 1:1

   import route-target 1:1

   redistribute connected

!

! ** End Context **

!

card oc3-8-port 6

!

port pos 6/2

 path-trace RedBack

 no shutdown

 bind interface to_cloud local

!

!

port ethernet 7/1

! XCRP management ports on slot 7 and 8 are configured through 7/1

 no shutdown

 bind interface mgmt_ethernet mgmt

!

 system hostname SE800-PE2

!

end

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值