EECS888 - Internet Routing Architectures
{Venuprakash barathan, Muthuvelan KP, Shanmuga vadivel }
mailto:venu@ittc.ku.edu, mailto:kpm@ittc.ku.edu, mailto:sv@eecs.ku.edu

 

Index

          Group Information

            Router Information

            Router Configuration

            Topology

            Interesting Lessons Learned

            Status Log

            References

           

Group:

Group ID: group5
Host Name: Fire
Router Name: Matrix

Back to top

Router Information:

Make: Cisco7200 VXR

Processor:  cisco 7206VXR (NPE300)

CPU: R7000 CPU at 262Mhz

Interfaces: 

8 Ethernet/IEEE 802.3 interface(s)

1 FastEthernet/IEEE 802.3 interface(s)

2 ATM network interface(s)

            Memory:

                        Configuration: 125KB

                        L2 Cache: 4096K bytes of Flash internal SIMM

                        L3 Cache: 20480K bytes of Flash PCMCIA card at slot 0

 

Back to top

 

Router Configuration:

            Software:

                        Sytem BootStrap: [12.0XE 105], DEVELOPMENT SOFTWARE

                        BootFlash:  (C7200-BOOT-M), Version 12.0(7)T,  RELEASE SOFTWARE

                        IOS image: IOS (tm) 7200 Software (C7200-P-M), Version 12.0(8)S, EARLY DEPLOYMENT RELEASE SOFTWARE

            BootVars:

                        BOOT variable = slot0:c7200-p-mz.120-8.S.bin,12;

BOOTLDR variable = slot0:c7200-boot-mz.120-7.T.bin

 

            Interface:

Interface              IP-Address      OK? Method             Status                           Protocol

FastEthernet0/0      unassigned    YES    unset                administratively down    down

Ethernet3/0            10.5.1.2        YES    NVRAM          up                                 up

Ethernet3/1            10.100.64.2   YES    NVRAM          up                                 up

Ethernet3/2            10.100.80.1   YES    NVRAM          up                                 up

Ethernet3/3            10.100.48.1   YES    NVRAM          up                                 up

Ethernet3/4            unassigned    YES    unset                administratively down    down

Ethernet3/5            unassigned    YES    unset                administratively down    down

Ethernet3/6            unassigned    YES    unset                administratively down    down

Ethernet3/7            unassigned    YES    unset                administratively down    down

ATM5/0                unassigned    YES    unset                administratively down    down

ATM6/0                unassigned     YES   unset                administratively down    down

 

Back to top

 

Topology:

 

 

Back to top

Interesting Lessons learned

            Some of the interesting points which I learned during the course of the lab

 

1. Unusual BGP behavior(effect redistribute connected)

2. Static route in zebra(pitfalls)

3. Rip routing loops

4. Synchronization within an AS(IGP-BGP sync)

5. Authentication in OSPF(using multiple keys)

 

 

1. Unusual BGP behavior:

  1. RTA-RTB  and RTB-RTC have E-BGP peerings.
  2. RTA bgp router configured with “redistribute connected” => announces the route 10.100.64.0/24 to RTB
  3. In RTB’s ip routing table best route to 10.100.64.0/24 is “directly connected route ”, but the BGP table shows RTA as nexthop for best route to 10.100.64.0/24
  4. RTB advertises the route 10.100.64.0/24 to RTC as if it is originated from RTA’s AS, though RTB has direct connection to the network.
  5. Inference: Information from ip forwarding table doesn’t get back into bgp RIB

2. Static route in zebra

  1. Run zebra in a PC
  2. Add a route R1 using route add command at the command line interface.
  3. It will not be reflected in “sh ip ro” in zebra.
  4. Also it will not be taken as a configured static route inside zebra.
  5. Inference: Static routes added by any means other than through zebra will not get imported into zebra.

           

 

Status Log:

Date

Log

Lessons

12/13

Security configuration using TACACS+

1.        Installed and ran TACACS server in PC.

2.        Configured cisco router to use TACACS server for authenticating users(both console and vty) for the default class.

3.        Added a new user “venu” and password “vijai” in TACACS server

4.        Verified functionality by logging through both console and vty.

5.        That was the end of the very nice journey which I thoroughly enjoyed (no yawning in class)

Cisco configuration:

aaa new-model
aaa authentication login default tacacs+ enable

tacacs-server host 10.5.1.1
tacacs-server key eecs888

Effect of using “local” mode of authentication:

        When we donot have any authentication server configured we can use “local” authentication and configure additional users using “newuser” command in global mode.

 

 

12/11

Route Dampening in cisco:

G4’s router announces 10.4.0.0/16 its private network between its PC-zebra and cisco router(Ref topology)

G5’s cisco router(Matrix) receives the above route through EBGP session from G4’s router.

Matrix is configured to dampen the route 10.4.0.0

Functionality verified by flapping the G4’s router interface to 10.4.0.0/16 network and using flap statistics

 

Cisco configuration:

router bgp 65005
 no synchronization
 bgp dampening route-map DAMPENROUTE 
 redistribute connected
 neighbor EXTERNALPEERS peer-group
 neighbor EXTERNALPEERS password eecs888
 neighbor 10.5.1.1 remote-as 65005
 neighbor 10.100.48.2 remote-as 65008
 neighbor 10.100.48.2 peer-group EXTERNALPEERS
 neighbor 10.100.64.1 remote-as 65004
 neighbor 10.100.64.1 peer-group EXTERNALPEERS
 neighbor 10.100.80.2 remote-as 65007
 neighbor 10.100.80.2 peer-group EXTERNALPEERS
 no auto-summary
!
ip classless
!
access-list 50 permit 10.4.0.0 0.0.0.0
route-map DAMPENROUTE permit 10
 match ip address 50
 set dampening 15 1000 2000 45

 

1.        A default penalty of 1000 is added for every flap. 

2.        Maximum suppress duration should be greater than the half-time

12/6

Route Reflectors:

 Scenario:

Tested with routers in G4 and G5

Matrix is configured as RR and Fire, G4’s router, G4’s zebra configured as RR clients.

OSPF within AS65005 which included Matrix, Fire, G4’s cisco, G4’s zebra.

Client to client reflection is enabled.

Fire configured with static route 10.200.0.0/16 and is exported into BGP using network command

The route 10.200.0.0/16 gets into BGP tables of G4’s cisco and G4’s zebra.

(Test done with help from Group4)

 

Cisco configuration:

router bgp 65005

no synchronization
 redistribute connected
 neighbor CLUSTERPEERS peer-group
 neighbor CLUSTERPEERS remote-as 65005
 neighbor CLUSTERPEERS route-reflector-client
 neighbor 10.5.1.1 peer-group CLUSTERPEERS
 neighbor 10.100.64.1 peer-group CLUSTERPEERS
 neighbor 10.4.0.1 peer-group CLUSTERPEERS
 no auto-summary

 

Lessons:

No need to use a separate cluster-id.  The router-id itself will be taken as cluster-id.  It gives a consistent view of the router.

12/4

Policy Routing:

Scenario:

   Matrix has EBGP peering with G4, G7, G8’s ciscos

   Fire has EBGP peering with G7, G8’s zebras

   All Group4’s traffic to other groups should transit through Group5’s AS 65005 and enters Group5’s AS through Matrix.

Goal:

   Traffic from G4 to destinations in G7, G6’s AS should exit through Matrix (cisco)

   Traffic from G4 to destinations in G1, G2, G3, G8 should exit through Fire (zebra)

 

Solution:

   In Matrix on interface to Group4 configure policy routing to set appropriate nexthop.

 

Cisco configuration:

//only configuration stuff related to policy routing is logged here

interface Ethernet 3/1
 ip address 10.100.64.2 255.255.255.0
 no ip directed-broadcast
 ip policy route-map POLICYROUTE

access-list 10 permit 192.168.1.144 0.0.0.15
access-list 11 permit 192.168.1.64 0.0.0.15
access-list 12 permit 10.1.1.0 0.0.0.255
access-list 13 permit 10.2.1.0 0.0.0.255
 
access-list 20 permit 192.168.1.128 0.0.0.15
access-list 21 permit 192.168.1.112 0.0.0.15

 

!
route-map POLICYROUTE permit 10
 match ip address 10 11 12 13
 set ip next-hop 10.5.1.1
!
!
route-map POLICYROUTE permit 11
 match ip address 20 21
 set ip next-hop 10.100.48.2
!

 

Lessons:

Policy route configuration is pretty easier than it looks at first glance. 

Able to use source only map also.

11/27

Policy:

         Prefer defaults through Firewall

         Prefer local link for adjacent group’s internal network

         Prefer routes to non adjacent group’s internal networks through Firewall

         Use Cisco – Cisco connection as Primary, zebra-zebra connection as backup to reach adjacent groups networks for local link.

 

Solution:

1. Accept all routes from firewall and set LocalPref 500 for default and 50 for rest of the routes

Zebra router

2.  Accept default from adjacent AS’s and set LocalPref to 300 (so that default from firewall is preferred)

3. only routes originated by adjacent AS’s from the adjacent groups routers(AS path filter) and set Local_Pref of 300

Cisco router

4. Accept default from adjacent AS’s cisco and set LocalPref to 400(so that it is inferior to one from firewall but superior to default through zebra from adjacent group’s zebra)

5. Accept only routes originated by adjacent AS’s from adjacent groups cisco and set local_pref to 400(so that Cisco-Cisco connection will be primary)

 

Look at the Configs for zebra and cisco for above policy

Able to effectively implement the (primary/bkup, default/partial – with adjacent groups router) and (default preference – between firewall and adjacent groups router.)

11/22

<Thank Giving Break>

 

11/20

BGP Defaults

Receive default route 0/0 and set local-pref for route from 192.168.1.1(firewall) to 500 and from 10.100.80.2(Group 7’s router) to 100, and confirm functionality by verifying that default from firewall is accepted.

Configs:

Group5-PC-zebra BGPD:

….

neighbor 192.168.1.1 route-map DEFAULT in

….

access-list DEFACCESS permit 0.0.0.0/0 exact-match

!

route-map DEFAULT permit 10

 match ip address DEFACCESS

 set local-preference 500

 

Group5-Cisco-Router

….

neighbor EXTERNALPEERS route-map DEFAULTROUTE in

neighbor 10.100.80.2 peer-group EXTERNALPEERS

…..

access-list 21 permit 0.0.0.0

route-map DEFAULTROUTE permit 10

 match ip address 21

 set local-preference 100

!

route-map DEFAULTROUTE permit 11

 match ip address any

Observation:

Group5-Cisco-Router

*  0.0.0.0          10.100.80.2                   100      0 65007 65000 i

*>i                 192.168.1.1                   500      0 65000 i

 

LocalPref can be manipulated using route-maps on incoming bgp updates.

11/15

BGP aggregate-address summary-only

     Generate an aggregate for aggregating 10.100.64.0/24. 10.100.80.0/24, 10.100.96.0/24 as 10.100.64.0/18

aggregate-address 10.100.64.0 255.255.192.0 summary-only

      Confirmed functionality by checking the bgp table

*> 10.100.64.0/18   0.0.0.0                            32768 I

 

BGP aggregate-address with a more specific route

     Generate the same aggregate while allowing the more specific route of 10.100.80.0/24

access-list 10 deny   10.100.80.0 0.0.0.255

access-list 10 permit any

route-map LEAKSUM permit 10

 match ip address 10

aggregate-address 10.100.64.0 255.255.192.0 suppress-map LEAKSUM

      Confirmed functionality by checking bgp table

s  10.100.64.0/24   10.100.64.1              0             0        65004 i

s>                                   0.0.0.0                  0         32768   ?

*> 10.100.64.0/18     0.0.0.0                              32768   i

*  10.100.80.0/24   10.100.80.2             0             0        65007 i

*>                                0.0.0.0                    0         32768   ?

s> 10.100.96.0/24   10.100.80.2           0             0        65007 I

 

Set no-export community attribute in the above leaked route.

access-list 11 permit 10.100.80.0 0.0.0.255

route-map COMM-SET permit 10

 match ip address 11

 set community -34799596 no-export

route-map COMM-SET permit 11

 match ip address any

neighbor 10.100.48.2 send-community

neighbor 10.100.48.2 route-map COMM-SET out

     Confirmed functionality by checking bgp table in Router8, Router3

Router 8

BGP routing table entry for 10.100.80.0/24

    10.100.48.1 from 10.100.48.1 (10.100.80.1)

      Origin incomplete, metric 0, localpref 100, valid, external, best, ref 2

      Community: -34799596 no-export

Options with aggregate:

summary-only – advertises only the aggregate

suppress-map – to suppress a subset of specific routes which form the aggregate

advertise-map – to select a set of routes which form this aggregate

attribute-map – to modify attributes of the resulting aggregated route.

 

11/13

BGP access lists

      Set up the Local_Pref for updates originated by HeadEnd Firewall (192.168.1.0/28, 129.237.80.0/21)

ip as-path access-list 5 permit ^65000_

route-map FWPREFER permit 10

          match as-path 5

          set local-preference 400

neighbor 192.168.1.1 route-map FWPREFER in

 

1.        Local_pref can be set using BGP policy on any E-BGP routes received.

2.        Understood BGP decision process.

11/8

BGP access lists

       Understanding configuration of access lists.

       Objective to behave as transit AS only to adjacent Ass

1.        Configure access lists in G5-PC, G5-R so that both of them will accept updates with ASPATH length <= 1 with setting up rules on incoming BGP updates from each of the neighbors.

ip as-path access-list 3 permit ^6500.$

ip as-path access-list 4 deny ^.+$

route-map BGPACCEPT permit 10

            match as-path 3 4

neighbor 10.100.48.2 route-map BGPACCEPT in

2.        Confirmed right behavior by verifying that G3,2,1 are not reachable from G7.

 

1.        access-lists, prefix-lists are most fundamental form of address or information mathching

2.        One or more access lists can be tagged as a route-map rule

3.        Multiple route-maps go into a filter rule.

 

11/6

BGP configuration contind.

       Understanding synchronization (with IGP) problems

       Tested with (G5-PC ßIBGPà G5-R,  G5-R ßEBGPà G4-R)

      Objective was to get the route 10.4.0.0/16 announced by G4-R installed in G5-PC with

1.        synchronization disabled in bgp

2.        IGP enabled between I-BGP peers

3.        With static route for the NextHop in routing update.

OSPF testing to announce the external links to other AS through IGP (10.100.64.0/24)

 

 

1         BGP will not advertise a update received from I-BGP peer unless the nexthop address in the update can be reached via an update from IGP or a static route.

2         Though G5-PC has reachability information to reach 10.100.64.0/24 through I-BGP update, it cannot be used for NextHop resolution for another update received from I-BGP peer.

3         Discrepancy in cisco, zebra behavior.  In zebra I-BGP updates for connected routes from G5-R get installed in G5-PC.  In cisco the I-BGP update for connected routes from G5-PC doesn’t get installed in G5-R. 

4         For exporting DMZ links in the OSPF area

a.        Zebra:  just say redistribute connected and the link 192.168.1.0/28 will be exported as AS-External LSA.

b.       Cisco:  Need to specifically say that 10.100.64.0.24 is in Area 5.

c.        The behavior didn’t change even with Area ID 0.

 

11/2

BGP configuration contind.

        Configured IBGP peering between “Matrix” and “Fire”(G5’s PC)

        Stuck with problem of I-BGP peer not installing the routes learned from other I-BGP peer

        Stuck with another problem of not able to export BGP routes into OSPF and vice versa.

1.        I-BGP peer changes nexthop to an EBGP route when advertising to another I-BGP peer

2.        Siginificant difference between redistribute and network commands.

10/30

Learned about BGP configuration

        Configured “Matrix” as EBGP peer to Group4,7,8 Routers

        Enabled BGP MD5 authentication with the EBGP peers

1.        EBGP peers need to be directly connected(unless special configuration)

2.        Authentication:

a.        No authentication

b.       MD5 authentication

10/25

Learned about OSPF authentication

        Supported:

        simple password

        MD5 authenticaiton(auth 2)

Configuring OSPF costs:

Topology: 

       Four routers(Matrix, Fire, G4PC, G4Router) connected in a square in Area 4

       Matrix is ABR with one interface connecting to Area 0

       G8PC’s traffic for other areas pass through G4RouteràMatrix--> backbone 

       Changed cost of G4Router à Matrix to be 300

        Verified G4PC’s traffic to other areas pass through FireàMatrixàBackbone

 

1.        OSPF authentication mechanisms

a.        Message digest keyid table attached per interface

b.       send update with the youngest key

c.        If I dont have a entry with keyid then packets received with that keyid will be rejected

d.       Can have multiple of MD5 keys, but send with youngest key, and match any of the keys in the table for received packets.

e.        auth type 0-6 are the same(can work with another).

f.         Auth 7 doesnt seem to work with any other auth types.

2.        Configuring OSPF interface costs and its effects

 

10/23

Makeup Class:

Configured OSPF on all the interfaces and verified connectivity all the routers in the lab and head end firewall

Participated in discussion to device a AREA plan for OSPF configuration

Configured OSPF according to the plan and verified correctness through OSPF database

1.        Concept of Backbone area in OSPF

 

10/18

<FALL BREAK>

 

10/16

Participated in the process of configuring RIP authentication uniformly for the entire Lab.

Played around with various combinations of OSPF configuration between Fire and Matrix

Both in the same area

Each one in different area with same OSPF processes

Each in different area with separate OSPF processes.

1.        Concept of OSPF areas

 

10/11

Figured out why the effort to produce routing loop failed

RIPv2 sends triggered updates upon downing a directly connected interface.  So when G8’s interface connectivity to rest of the Lab routers is brought down G8 sends immediate triggered updates to Matrix and Fire.  So there was no chance for routing loop buildup

Got information from Group3 that Routing loops can be created by changing to RIPv1 and making Matrix to send Routing updates at a frequency larger than other two routers in the triangular topology.

The evil route 192.168.1.0/24 figured out to be because of enabling RIP autosummary in a subnet environment.

Configured OSPF between Matrix and Group4 and between Matrix and Fire.

Verified functionality by checking ospf database.

1.        Siginificance of “rip autosummary”

2.        Basic OSPF configuration

3.        OSPF rfc

10/09

Figured out lots of stuff in the weekend (to figure out why boot up failed)

Connection to G8 was down because G8 was misconfigured as 10BaseT instead of AUI (should have figured out earlier)

Understood the boot up sequence for cisco7200 (boot, bootLDR, IOS)

Initially tested with different version of IOS to check whether there is incompatibility between bootLDR and IOS versions.

Figured out Boot LDR image was not compatible with 7200. 

Upgraded the bootLDR image from the boot prompt.

Set environment variables BOOTLDR to the right bootldr image.

Configured RIP on all the router interfaces(pretty simple)

Checked connectivity by pinging to other groups routers.

Problem with evil route 192.168.1.0/24 originated by unknown originator. 

For some reason IOS12.0(8)S doest has command “sh ip rip”.  So wasn’t able to check RIP database.

Configured RIP authentication between Matrix and Fire and then between Matrix and Group8

Tried to create Routing Loop(by disabling Split Horizon) with 3 Routers (Matrix, Fire, G8’s router) in a triangle topology with G8 as the only entry point to rest of the network.  The test failed, couldn’t figure out the reason.

1.        Cisco 7200 boot sequence

2.        Configuration of cisco 7200

3.        “network” command in RIP

4.        RIP rfc

5.        Routing Loops in RIP

a.        Split Horizon

b.       Poisson reverse

c.        Triggered updates

6.        RIP authentication

10/04

Establish connectivity based on new topology(prepared “working” cross over cables for back to back router connectivity)(most time consuming job)

Lots of problems(seems to be):

Every time router bootsup after two failed attempts to load the boot loader

The connection with Group8 to their AUI port is always “down”.

1.        How to make Ethernet cables with RJ45 connectors.

 

10/02

Got new router Cisco7200 (from worst to best). 

Participated in discussion how to use the 192.168.x.x, 10.x.x.x space efficiently(no need for efficiency) and decided to use 192.168.x.x space for backbone Ethernet and 10.x.x.x space for connectivity between routers.

Adapt to the new wiring system in the lab

Adapt to the new topology

1.        What a difference between 4000 and 7200

2.        Address space planning

09/27

Played with Rip debugging of events and packets.

Also interesting to know that the RIP routes don’t go away that easily (learned to use “ip route delete *)

Got new ip addressing scheme.

1.        RIP timeout mechanism

 

09/25

Downloaded and installed zebra 0.92a in Fire.

Configured RIPv2 in Matrix and Fire.

Verified exchange of RIP updates between Matrix and Fire.

Planned to change the router (instead of going ahead and upgrading router memory)

1.        Zebra has separate control interface for each of the protocols and for the zebra process itself.

2.        Configuring RIP(Easiest configuration I have ever seen)

09/20

Lots of problem with IOS 9.1 image.

Configured Ethernet0 interface in Matrix and verified connectivity with Fire(PC).

Not able to get the serial interface connections to other groups working

Figured out that the serial interface module is not working

Installed additional flash memory (2 MB) to take total flash to 4MB

Tried installing 12.0 and figured out that Main memory size is only 4MB whereas requirement is 16MB

1.        How to install additional FLASH to cisco 4000 board

2.        Memory units in Cisco routers

3.        Interface configuration for Cisco routers.

 

09/18

Iptables implementation of NAT requires kernel > 2.4

Ipchains provide the same functionality (at minimal level) as Iptables.  Ipchains was available with 2.2.9 kernel

Assigned Private address space from 10.x.x.x domain for network between PC and Router.

Configured to translate address from 10.x.x.x(internal network) to 192.168.x.x(external) domain(backbone network) using Ipchains, and checked connectivity with Lab firewall from router.

 

1.        Settingup NAT

 

09/13

Continuing with IOS9.1

IOS9.1 doesn’t have

1.        console facility to move between command history

2.        NTP

3.        No IPv6 support

Configured the DNS server for the router to EECS DNS server 129.237.32.1

Divided the allocated address block 192.168.1.80/28 into 3 subblocks of

192.168.1.80/29 – Between (G5-PC, G5-Router)

192.168.1.88/30 – Between (G5-Router, G8 – Router)

192.168.1.92/30 – Between (G5-Router, G3 – Router)

1.        How hard is to work with older IOS image after seeing some one using the latest image

2.        Setting up the DNS server for router.

3.        Subnetting.

09/11

Change PC-Router connectivity through a crossover cable

Downloaded IOS 12 image to PC tftp server from gateway tftp server

Tried settingup IOS12.0 in Router.  Failed because of insufficient flash memory in Cisco 4000 (only 2MB)

Figured out that we can add 2MB additional Flash memory to the router.  Made order for Flash memory through Dr.Evans.

Enabled forwarding in PC and check connectivity from Router to Lab firewall.  Didn’t work because return path not configured in Lab gateway router.

Interesting part is we were able to figure out that the ARP requests are not related back since the Fire wall doesn’t know to whom the ARP request to be sent(using tcpdump on PC’s eth0 interface on backbone).

 

1.        Back to back Ethernet interfaces has to be connected using cross over cables

2.        Files can be copied in and out of Cisco Routers using TFTP server.

3.        Configuration Register settings

4.        Internals of a router (Main board, Router modules, Flash memories) Hardware.

5.        Concept of step by step debugging of connectivity failure in a LAN using tcpdumps and ARPs

09/06

Established connectivity between PC and Router(AUI port) through switch(substitute for cross over cable)

Setup TFTP server in PC

Got the configuration of router console working

Initial familiarity with router.

1.        AUI port

2.        Settingup TFTP server

3.        Router User Interface Levels

09/04

Verified PC connectivity to Lab Firewall(192.168.1.1) by pinging

Finished setup and control of router console from the host machine(using minicom)

1.        Setting up static route(route add)

2.        Configuring minicom

3.        (Speed 9600 bits per second, 8 databits, 0 parity bits, 1 stop bit, No Flow Control)

4.        The concept of  Router console.

08/28

Debian Linux installation

Debian Linux has very nice “apt-get” utility

Back to top

 

References:

Links:

1.       Cisco7200

a.       Bad CPU ID error

2.       Cisco Config register values

3.       IOS

a.       upgrade procedure

b.       upgrade troubleshoot

c.       IOS 12.0 Reference

4.      BGP tutorial

Books:

1.      Internet Routing Architectures, Sam Halabi

2.      Routing in the Internet, Christian Huitema

 

 

Back to top