RE: Checking the Lab Work

From: Michael Snyder (msnyder@revolutioncomputer.com)
Date: Fri Feb 20 2004 - 02:20:10 GMT-3


Here's a repost of the igp grading script I wrote last year.

It's for people with a rack full of 2500`s and don't have access to
tclsh.

------------------------------------------------------------------------

--

I was working on a lab this morning, and for some reason my three way redistribution wasn't working.

After jumping router to router for 30 minutes, I thought gee I wish I had a command to show me every missing route.

I made a script to do this; I'll walk you thru how I composed the script. It took me about 5 minutes.

Here's some benefits of the script.

1) Can't be fooled by a default route. 2) Can't be fooled by the wrong mask size. 3) Assumes that the route should be present.

Generates output only if it's missing.

------------------------------------------------------------------------ --

First I did a `show run | i ip address`

And pasted the results to notepad from every router.

------------------------------------------------------------------------ --

ip address 170.1.1.1 255.255.255.255 ip address 150.50.200.1 255.255.255.0 ip address 170.1.150.1 255.255.255.0

ip address 170.1.2.2 255.255.255.255 ip address 172.16.1.1 255.255.255.0 ip address 172.16.3.1 255.255.255.0 ip address 172.16.2.1 255.255.255.0 ip address 172.16.0.1 255.255.255.0 no ip address no ip address ip address 170.1.100.2 255.255.255.0 ip address 170.1.150.2 255.255.255.0 ip address 150.50.9.5 255.255.255.252

ip address 170.1.4.4 255.255.255.255 ip address 192.168.10.1 255.255.255.0 no ip address ip address 170.1.100.4 255.255.255.0 no ip address

ip address 170.1.5.5 255.255.255.255 ip address 170.1.200.5 255.255.255.224 no ip address ip address 170.1.100.5 255.255.255.0 no ip address no ip address

ip address 170.1.6.6 255.255.255.255 ip address 170.1.200.6 255.255.255.224 no ip address ip address 170.1.100.6 255.255.255.0 ip address 170.1.32.6 255.255.255.0 no ip address

ip address 170.1.7.7 255.255.255.255 ip address 170.1.200.7 255.255.255.224 ip address 170.1.24.7 255.255.255.0

ip address 170.1.8.8 255.255.255.255 ip address 150.50.4.8 255.255.255.0 ip address 170.1.24.8 255.255.255.0

ip address 170.1.9.9 255.255.255.255 ip address 170.1.32.9 255.255.255.0 no ip address ip address 170.1.15.9 255.255.255.192

------------------------------------------------------------------------ --

Next in notepad, I did a replace all of `no ip address` with a null string. Then I went thru the listing deleting the empty lines.

------------------------------------------------------------------------ --

ip address 170.1.1.1 255.255.255.255 ip address 150.50.200.1 255.255.255.0 ip address 170.1.150.1 255.255.255.0 ip address 170.1.2.2 255.255.255.255 ip address 172.16.1.1 255.255.255.0 ip address 172.16.3.1 255.255.255.0 ip address 172.16.2.1 255.255.255.0 ip address 172.16.0.1 255.255.255.0 ip address 170.1.100.2 255.255.255.0 ip address 170.1.150.2 255.255.255.0 ip address 150.50.9.5 255.255.255.252 ip address 170.1.4.4 255.255.255.255 ip address 192.168.10.1 255.255.255.0 ip address 170.1.100.4 255.255.255.0 ip address 170.1.5.5 255.255.255.255 ip address 170.1.200.5 255.255.255.224 ip address 170.1.100.5 255.255.255.0 ip address 170.1.6.6 255.255.255.255 ip address 170.1.200.6 255.255.255.224 ip address 170.1.100.6 255.255.255.0 ip address 170.1.32.6 255.255.255.0 ip address 170.1.7.7 255.255.255.255 ip address 170.1.200.7 255.255.255.224 ip address 170.1.24.7 255.255.255.0 ip address 170.1.8.8 255.255.255.255 ip address 150.50.4.8 255.255.255.0 ip address 170.1.24.8 255.255.255.0 ip address 170.1.9.9 255.255.255.255 ip address 170.1.32.9 255.255.255.0 ip address 170.1.15.9 255.255.255.192

------------------------------------------------------------------------ --

This lab uses a summary address of 172.16.0.0/22, so I chose to pull out the 172.16.1.1/24 routes and use the summary instead.

Here's a important part, I needed a unique post-delimiter on the ends of the statements for text search and replace later. So I appended the ` char to the ends of the statements by hand. Each statement begins the same `ip address` text, so I don't need a pre-delimiter here.

------------------------------------------------------------------------ --

ip address 170.1.1.1 255.255.255.255 ` ip address 150.50.200.1 255.255.255.0 ` ip address 170.1.150.1 255.255.255.0 ` ip address 170.1.2.2 255.255.255.255 ` ip address 172.16.0.0 255.255.252.0 ` ip address 170.1.100.2 255.255.255.0 ` ip address 170.1.150.2 255.255.255.0 ` ip address 150.50.9.5 255.255.255.252 ` ip address 170.1.4.4 255.255.255.255 ` ip address 192.168.10.1 255.255.255.0 ` ip address 170.1.100.4 255.255.255.0 ` ip address 170.1.5.5 255.255.255.255 ` ip address 170.1.200.5 255.255.255.224 ` ip address 170.1.100.5 255.255.255.0 ` ip address 170.1.6.6 255.255.255.255 ` ip address 170.1.200.6 255.255.255.224 ` ip address 170.1.100.6 255.255.255.0 ` ip address 170.1.32.6 255.255.255.0 ` ip address 170.1.7.7 255.255.255.255 ` ip address 170.1.200.7 255.255.255.224 ` ip address 170.1.24.7 255.255.255.0 ` ip address 170.1.8.8 255.255.255.255 ` ip address 150.50.4.8 255.255.255.0 ` ip address 170.1.24.8 255.255.255.0 ` ip address 170.1.9.9 255.255.255.255 ` ip address 170.1.32.9 255.255.255.0 ` ip address 170.1.15.9 255.255.255.192 `

------------------------------------------------------------------------ --

Here's the payoff. Using notepad, replace all `ip address` with `show ip route` Also replace our delimiting char ` with `| i not`

------------------------------------------------------------------------ --

show ip route 170.1.1.1 255.255.255.255 | i not show ip route 150.50.200.1 255.255.255.0 | i not show ip route 170.1.150.1 255.255.255.0 | i not show ip route 170.1.2.2 255.255.255.255 | i not show ip route 172.16.0.0 255.255.252.0 | i not show ip route 170.1.100.2 255.255.255.0 | i not show ip route 170.1.150.2 255.255.255.0 | i not show ip route 150.50.9.5 255.255.255.252 | i not show ip route 170.1.4.4 255.255.255.255 | i not show ip route 192.168.10.1 255.255.255.0 | i not show ip route 170.1.100.4 255.255.255.0 | i not show ip route 170.1.5.5 255.255.255.255 | i not show ip route 170.1.200.5 255.255.255.224 | i not show ip route 170.1.100.5 255.255.255.0 | i not show ip route 170.1.6.6 255.255.255.255 | i not show ip route 170.1.200.6 255.255.255.224 | i not show ip route 170.1.100.6 255.255.255.0 | i not show ip route 170.1.32.6 255.255.255.0 | i not show ip route 170.1.7.7 255.255.255.255 | i not show ip route 170.1.200.7 255.255.255.224 | i not show ip route 170.1.24.7 255.255.255.0 | i not show ip route 170.1.8.8 255.255.255.255 | i not show ip route 150.50.4.8 255.255.255.0 | i not show ip route 170.1.24.8 255.255.255.0 | i not show ip route 170.1.9.9 255.255.255.255 | i not show ip route 170.1.32.9 255.255.255.0 | i not show ip route 170.1.15.9 255.255.255.192 | i not

------------------------------------------------------------------------ --

Ok, lets try it on R4.

I use four terminal windows, so I cut and paste to all four at once, and read the results when done. It's really telling when you see the same missing route on three of the four routers.

Another thing, if route shouldn't show up on any router, replace the `i not` with `e not`

------------------------------------------------------------------------ --

R4# R4# R4# show ip route 170.1.1.1 255.255.255.255 | i not R4# show ip route 150.50.200.1 255.255.255.0 | i not % Network not in table

R4# show ip route 170.1.150.1 255.255.255.0 | i not R4# show ip route 170.1.2.2 255.255.255.255 | i not R4# show ip route 172.16.0.0 255.255.252.0 | i not R4# show ip route 170.1.100.2 255.255.255.0 | i not R4# show ip route 170.1.150.2 255.255.255.0 | i not R4# show ip route 150.50.9.5 255.255.255.252 | i not % Network not in table

R4# show ip route 170.1.4.4 255.255.255.255 | i not R4# show ip route 192.168.10.1 255.255.255.0 | i not R4# show ip route 170.1.100.4 255.255.255.0 | i not R4# show ip route 170.1.5.5 255.255.255.255 | i not R4# show ip route 170.1.200.5 255.255.255.224 | i not % Subnet not in table

R4# show ip route 170.1.100.5 255.255.255.0 | i not R4# show ip route 170.1.6.6 255.255.255.255 | i not R4# show ip route 170.1.200.6 255.255.255.224 | i not % Subnet not in table

R4# show ip route 170.1.100.6 255.255.255.0 | i not R4# show ip route 170.1.32.6 255.255.255.0 | i not R4# show ip route 170.1.7.7 255.255.255.255 | i not % Subnet not in table

R4# show ip route 170.1.200.7 255.255.255.224 | i not % Subnet not in table

R4# show ip route 170.1.24.7 255.255.255.0 | i not % Subnet not in table

R4# show ip route 170.1.8.8 255.255.255.255 | i not % Subnet not in table

R4# show ip route 150.50.4.8 255.255.255.0 | i not % Network not in table

R4# show ip route 170.1.24.8 255.255.255.0 | i not % Subnet not in table

R4# show ip route 170.1.9.9 255.255.255.255 | i not R4# show ip route 170.1.32.9 255.255.255.0 | i not R4# show ip route 170.1.15.9 255.255.255.192 | i not R4#

------------------------------------------------------------------------ --

There's my missing routes!!! For some reason rip isn't making it to ospf on R4.

-----Original Message----- From: Ahmed Mustafa [mailto:ahmed.mustafa@sbcglobal.net] Sent: Wednesday, February 18, 2004 9:44 PM To: ccielab@groupstudy.com Subject: Checking the Lab Work

Guys,

What is the easiest way to check the lab work. This is the most important task especially if one is taking a real lab.

I mean what is the best way to find out that you are seeing all the routes in your routers that are you are supposed to be seeing, and pinging all the interfaces making sure that there is no loss of connectivity. I know that one can do this from each router to see what routes are seen and whether they are pingable Is there any work around?

Thanks,

Ahmed



This archive was generated by hypermail 2.1.4 : Fri Mar 05 2004 - 07:13:51 GMT-3