<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Route Leaker</title>
	<atom:link href="http://roy.ccieblog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://roy.ccieblog.com</link>
	<description>My quest for the CCIE R&#38;S certification!</description>
	<lastBuildDate>Tue, 25 Aug 2009 02:26:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Self-ping over PPPoFR links</title>
		<link>http://roy.ccieblog.com/2009/08/25/self-ping-over-pppofr-links/</link>
		<comments>http://roy.ccieblog.com/2009/08/25/self-ping-over-pppofr-links/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 02:26:34 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=122</guid>
		<description><![CDATA[This post was created as a result of a recent groupstudy post regarding self ping over PPPoFR links.
Typically, when you create a PPPoFR link between a pair of routers, you can ping the remote end, due to peer neighbor route.
However you can&#8217;t ping your OWN interface ip.
Consider the following scenario.
R1 s0/0.12  &#8212;&#8212;&#8212;&#8212;&#8212; s0/0.21 R2
There is [...]]]></description>
			<content:encoded><![CDATA[<p>This post was created as a result of a recent groupstudy post regarding self ping over PPPoFR links.<br />
Typically, when you create a PPPoFR link between a pair of routers, you can ping the remote end, due to peer neighbor route.<br />
However <strong>you can&#8217;t ping your OWN interface ip</strong>.</p>
<p>Consider the following scenario.</p>
<p><strong>R1</strong> s0/0.12  &#8212;&#8212;&#8212;&#8212;&#8212; s0/0.21 <strong>R2</strong></p>
<p>There is a PPPoFR link configured between R1 &amp; R2, with the following configuration:</p>
<p>R1</p>
<p>int s0/0.12<br />
frame int 102 ppp virtual-temp 12<br />
int virtual-temp 12<br />
ip add 1.1.1.1 255.0.0.0</p>
<p>R2</p>
<p>int s0/0.21<br />
frame int 201 ppp virtual-temp 21<br />
int virtual-temp 21<br />
ip add 2.2.2.2 255.0.0.0</p>
<p>With this setup, R1 can ping 2.2.2.2 (R2) &amp; R2 can ping 1.1.1.1 (R1).<br />
This is because <strong>peer neighbor route</strong> (enabled by default for ppp links) results in:</p>
<ul>
<li>R1 receiving a /32 host route for 2.0.0.0</li>
<li>R2 receiving a /32 host route for 1.0.0.0</li>
</ul>
<p>The routing table below for R1 &amp; R2 confirm this:</p>
<p><strong>R1#sh ip ro | i /32</strong><br />
<strong>2.0.0.0/32</strong> is subnetted, 1 subnets</p>
<p><strong>R2#sh ip ro | i /32</strong><br />
<strong>1.0.0.0/32</strong> is subnetted, 1 subnets</p>
<p>However, neither R1, nor R2 can ping their own IP&#8217;s:</p>
<p><strong>R1#ping 1.1.1.1</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:<br />
<strong>&#8230;..</strong><br />
Success rate is 0 percent (0/5)</p>
<p><strong>R2#ping 2.2.2.2</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:<br />
<strong>&#8230;..</strong><br />
Success rate is 0 percent (0/5)</p>
<p>Hmm&#8230;what to do?</p>
<p>Well there are a no of ways to make self ping work with only slight modifications to our PPPoFR setup.<br />
The 1st two revolve around ppp multilink, one without using interface multilink &amp; another with interface multilink.<br />
The 2nd solution merely employs ip unnumbered.</p>
<h3>Solution 1 &#8211; PPP multilink + NO interface multilink</h3>
<p>With 1 line added to R1 &amp; R2 we can resolve the self ping problem<br />
Simply add <strong>ppp multilink</strong> under the virtual template interfaces and you are golden!</p>
<p>R1</p>
<p>int virtual-temp12<br />
<strong>ppp multilink</strong></p>
<p>R2</p>
<p>int virtual-temp21<br />
<strong>ppp multilink</strong></p>
<p>You will see some error messages pop up regarding frame relay traffic shaping, but just ignore those.<br />
As can be seen below, both R1 &amp; R2 are now able to ping themselves now!</p>
<p><strong>R1#ping 1.1.1.1</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:<br />
!!!!!<br />
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/8 ms</p>
<p><strong>R2#ping 2.2.2.2</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:<br />
!!!!!<br />
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/8 ms</p>
<h3>Solution 2 &#8211; PPP Multilink + interface multilink</h3>
<p>With this solution we 1st of all create a multilink interface, &amp; tie it to the virtual-template interface.<br />
1st of all let&#8217;s return to the original config we had for R1 &amp; R2:</p>
<p>R1</p>
<p>int s0/0.12<br />
frame int 102 ppp virtual-temp 12<br />
int virtual-temp 12<br />
ip add 1.1.1.1 255.0.0.0</p>
<p>R2</p>
<p>int s0/0.21<br />
frame int 201 ppp virtual-temp 21<br />
int virtual-temp 21<br />
ip add 2.2.2.2 255.0.0.0</p>
<p>Modifications we need to make are as follows:</p>
<p><strong>R1</strong></p>
<p>int virtual-temp12<br />
<strong>no ip address</strong></p>
<p>int multilink12<br />
ip add 1.1.1.1 255.0.0.0</p>
<p>int virtual-temp12<br />
ppp multilink group 12</p>
<p><strong>R2</strong></p>
<p>int virtual-temp21<br />
<strong>no ip address</strong></p>
<p>int multilink21<br />
ip add 2.2.2.2 255.0.0.0</p>
<p>int virtual-temp21<br />
ppp multilink group 21</p>
<p>Once you do this, you see the multilink interface come up &amp; will see some error messages but again, ignore those!</p>
<p>Let&#8217;s test this:</p>
<p><strong>R1#ping 1.1.1.1</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:<br />
!!!!!<br />
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/14/48 ms</p>
<p><strong>R2#ping 2.2.2.2</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:<br />
!!!!!<br />
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/8 ms</p>
<p>Cool!</p>
<h3>Solution 3 &#8211; IP unnumbered under virtual template interface</h3>
<p>Again let&#8217;s return to our original base configuration:</p>
<p><strong>R1</strong></p>
<p>int s0/0.12<br />
frame int 102 ppp virtual-temp 12<br />
int virtual-temp 12<br />
ip add 1.1.1.1 255.0.0.0</p>
<p><strong>R2</strong></p>
<p>int s0/0.21<br />
frame int 201 ppp virtual-temp 21<br />
int virtual-temp 21<br />
ip add 2.2.2.2 255.0.0.0</p>
<p>Modifications we need to make are simply to move the ip addressing off the virtual template onto a loopback interface &amp; then use ip unnumbered on the virtual template interfaces:</p>
<p><strong>R1</strong></p>
<p>int virtual-temp 12<br />
<strong>ip unnumbered loopback0</strong><br />
int lo0<br />
ip add 1.1.1.1 255.0.0.0</p>
<p><strong>R2</strong></p>
<p>int virtual-temp 21<br />
<strong>ip unnumbered loopback0</strong><br />
int lo0<br />
ip add 2.2.2.2 255.0.0.0</p>
<p>Testing this solution, again, self ping works just dandy:</p>
<p><strong>R1#ping 1.1.1.1</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:<br />
<strong>!!!!!</strong><br />
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms</p>
<p><strong>R2#ping 2.2.2.2</strong></p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:<br />
<strong>!!!!!</strong><br />
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms</p>
<p>That&#8217;s the end of this post!</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/08/25/self-ping-over-pppofr-links/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Be wary of using ip unnumbered!</title>
		<link>http://roy.ccieblog.com/2009/08/20/be-wary-of-using-ip-unnumbered/</link>
		<comments>http://roy.ccieblog.com/2009/08/20/be-wary-of-using-ip-unnumbered/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 08:48:13 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=120</guid>
		<description><![CDATA[This post is a case of being careful, and checking dependencies.
This post follows on the back of my previous blog entry:
RIP updates over pt2pt serial: a few methods
In that post I mentioned that ONE way to get RIP updates across a pt2pt link that has ip addresses in different subnets at both ends is by [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a case of being careful, and checking dependencies.</p>
<p>This post follows on the back of my previous blog entry:<br />
<a rel="bookmark" href="../2009/08/19/rip-updates-over-pt2pt-serial-a-few-methods/">RIP updates over pt2pt serial: a few methods</a></p>
<p>In that post I mentioned that ONE way to get <strong>RIP </strong>updates across a pt2pt link that has ip addresses in different subnets at both ends is by using ip unnumbered.</p>
<p>To recap, before ip unnumbered we have this:</p>
<p><span style="font-size: x-small"><strong>R1</strong></span> s0/1 ————- s0/1 <span style="font-size: x-small"><strong>R2 </strong></span></p>
<p>R1 s0/1 ip: 10.<strong>1</strong>.100.1/24<br />
R2 s0/1 ip: 10.<strong>11</strong>.100.2/24<br />
R1 has <strong>no validate update-source</strong> in RIP.<br />
R2 performs update source validation in RIP.</p>
<p>R2 rejects R1&#8217;s update:<br />
RIP: <strong>ignored v2 update from bad source 10.1.100.1 on Serial0/1</p>
<p></strong>So using ip unnumbered to resolve this issue we have:<strong></p>
<p>R1<br />
</strong>int s0/1<br />
ip unnumbered lo0<br />
int lo0<br />
ip add 10.1.100.1 255.255.255.0<strong></p>
<p>R2<br />
</strong>int s0/1<br />
ip unnumbered lo0<br />
int lo0<br />
ip add 10.11.100.2 255.255.255.0</p>
<p>All is well, R2 accepts the updates from R1:</p>
<p><strong>R2</strong><br />
RIP: received v2 update from 10.1.100.1 on Serial0/1</p>
<p>But say later on we have the following task:</p>
<p>Create the following loopbacks &amp; ensure only the routes that have an ODD no in the 3rd octet are advertised by RIP.</p>
<p>lo0 &#8211; 30.3.0.1/24<br />
lo1 &#8211; 30.3.1.1/24<br />
lo2 &#8211; 30.3.2.1/24<br />
lo3 &#8211; 30.3.3.1/24<br />
lo4 &#8211; 30.3.4.1/24</p>
<p>When we do this, as R2 s0/1 is ip unnumbered off loopback0, R2 s0/1 ip address changes to 30.3.0.1:</p>
<p>R2(config-router)#do sii<br />
Interface                  IP-Address      OK? Method Status                Protocol<br />
&#8212;<br />
<strong>Serial0/1                  30.3.0.1</strong> YES TFTP   up                    up</p>
<p>As Serial0/1 ip is now 30.3.0.1 what happens is that R2 now advertises routes to R1 with IP address: 30.3.0.1.</p>
<p>Now R1 WILL receive the RIP routes from R2 with ip 30.3.0.1, but R1 will NOT have reachability to 30.3.0.1 over s0/1:</p>
<p><strong>R1</strong><br />
R       30.3.1.0 [120/1] via <strong>30.3.0.1</strong>, 00:00:18, Serial0/1<br />
R       30.3.3.0 [120/1] via <strong>30.3.0.1</strong>, 00:00:18, Serial0/1</p>
<p>R1#ping 30.3.0.1</p>
<p>Type escape sequence to abort.<br />
Sending 5, 100-byte ICMP Echos to 30.3.0.1, timeout is 2 seconds:<br />
&#8230;..<br />
Success rate is 0 percent (0/5) &lt;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>If reachability is desired, then clearly you do not want this.</p>
<p>To get around this then, I would say:</p>
<ul>
<li>Be wary whenever using ip unnumbered loopback command</li>
<li>Use a loopback which is unlikely to be used elsewhere in the lab eg..<strong>int loopback 2147483647</strong> (the largest loopback no! <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )
<ul>
<li>R1(config)#int loopback ?<br />
&lt;0-2147483647&gt;  Loopback interface number</p>
<p>R1(config)#int loopback 2147483647</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/08/20/be-wary-of-using-ip-unnumbered/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>RIP updates over pt2pt serial: a few methods</title>
		<link>http://roy.ccieblog.com/2009/08/19/rip-updates-over-pt2pt-serial-a-few-methods/</link>
		<comments>http://roy.ccieblog.com/2009/08/19/rip-updates-over-pt2pt-serial-a-few-methods/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:56:23 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=118</guid>
		<description><![CDATA[Spoiler alert: If you are doing Narbik&#8217;s new RIP lab, then please do that 1st before looking at this, otherwise it will just spoil things.
Ok let&#8217;s say you have this scenario:
R1 &#38; R2 are connected via a serial link.
HDLC is running over this link.
You can NOT change the encapsulation over this link (ie. no enc [...]]]></description>
			<content:encoded><![CDATA[<p>Spoiler alert: If you are doing Narbik&#8217;s new RIP lab, then please do that 1st before looking at this, otherwise it will just spoil things.</p>
<p>Ok let&#8217;s say you have this scenario:</p>
<p>R1 &amp; R2 are connected via a serial link.<br />
HDLC is running over this link.<br />
You can NOT change the encapsulation over this link (ie. no enc frame-relay or ppp <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )<br />
You need to exchange RIP updates over this link.<br />
R1 can be configured with <strong>no validate update-source</strong> but R2 can <strong>NOT</strong> use this command.</p>
<p><span style="font-size: small"><strong>R1</strong></span> s0/1 &#8212;&#8212;&#8212;&#8212;- s0/1 <span style="font-size: small"><strong>R2 </strong></span></p>
<p>R1 s0/1 ip: 10.<strong>1</strong>.100.1/24<br />
R2 s0/1 ip: 10.<strong>11</strong>.100.2/24</p>
<p>So we have R1 &amp; R2 on different subnets.<br />
R1, as it is configured to NOT validate the update source, will <strong>accept</strong> the routes received from R2 over the serial.<br />
R2 on the other hand, will compain:</p>
<p>R2(config-if)#<br />
IP: s=10.1.100.1 (Serial0/1), d=224.0.0.9, len 512, rcvd 2<br />
RIP: <strong>ignored v2 update from bad source 10.1.100.1 on Serial0/1</strong></p>
<p>So how to resolve this situation?<br />
We have a no of ways.<br />
There may be more ways than what I will list, but that&#8217;s life <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Way 1 &#8211; Using ip unnumbered</h3>
<p>If we remove the ip addresses from the serial ints &amp; instead place them on loopbacks, while still running ip on the serial links, we can overcome the update source validation issue.</p>
<p>R1</p>
<p>int s0/1</p>
<p>ip unnumbered loopback0</p>
<p>int lo0</p>
<p>ip address 10.1.100.1 255.255.255.0</p>
<p>R2</p>
<p>R1</p>
<p>int s0/1</p>
<p>ip unnumbered loopback0</p>
<p>int lo0</p>
<p>ip address 10.11.100.2 255.255.255.0</p>
<p>Once done, R2 is now able to accept routes from R1:</p>
<p>R2(config-if)#<br />
RIP: received v2 update from 10.1.100.1 on Serial0/1<br />
10.1.4.0/24 via 0.0.0.0 in 2 hops<br />
10.1.12.0/24 via 0.0.0.0 in 1 hops<br />
10.1.13.0/24 via 0.0.0.0 in 1 hops</p>
<p>&#8212;&#8212;- rest of update omitted for brevity purposes</p>
<p>Cool</p>
<h3>Way 2 &#8211; Using NAT!</h3>
<p>Now bear in mind I am using dynamips here, so I do not know if this will work for sure on real routers, but here is another simple solution.<br />
It is based on this idea:<br />
We know R2 cannot accept by default routes from R1 as it is from a different update source.<br />
But what if we <strong>changed </strong>the updates R1 sends so that R2 sees them coming in from the <strong>SAME</strong> subnet as R2&#8217;s s0/1?<br />
NAT can do this.</p>
<p>R1</p>
<p>ip nat inside source static 10.1.100.1 10.11.100.1<br />
int s0/1<br />
ip nat outside</p>
<p>And thats it!</p>
<p>Debug ip rip &amp; debug ip packet on R2 shows this:</p>
<p>IP: <strong>s=10.11.100.1</strong> (Serial0/1), d=224.0.0.9, len 512, rcvd 2<br />
RIP: received v2 update from 10.11.100.1 on Serial0/1<br />
10.1.4.0/24 via 0.0.0.0 in 2 hops<br />
10.1.12.0/24 via 0.0.0.0 in 1 hops<br />
10.1.13.0/24 via 0.0.0.0 in 1 hops</p>
<p>Thats it for now <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/08/19/rip-updates-over-pt2pt-serial-a-few-methods/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Redistribution &#8211; Narbik Lab &#8211; be careful!</title>
		<link>http://roy.ccieblog.com/2009/07/11/redistribution-narbik-lab-be-careful/</link>
		<comments>http://roy.ccieblog.com/2009/07/11/redistribution-narbik-lab-be-careful/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 15:35:10 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=116</guid>
		<description><![CDATA[This example is taken from Narbik&#8217;s workbook on redistribution.
For those who don&#8217;t have Narbik&#8217;s workbooks &#38; can afford to obtain them (they are great value) &#38; have the time to do them, I thoroughly recommend them  
Anyway, this tutorial is a great example in being CAREFUL, &#38; rechecking the task to ENSURE you have [...]]]></description>
			<content:encoded><![CDATA[<p>This example is taken from Narbik&#8217;s workbook on redistribution.<br />
For those who don&#8217;t have Narbik&#8217;s workbooks &amp; can afford to obtain them (they are great value) &amp; have the time to do them, I thoroughly recommend them <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, this tutorial is a great example in being <strong>CAREFUL</strong>, &amp; rechecking the task to <strong>ENSURE </strong>you have done what was asked before moving onto the next task.<br />
For those who will be doing Narbiks redistribution labs (Volume 4), Id suggest you dont read this post! <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Consider the following scenario:</p>
<p><strong>R1 &lt;==10.1.12.0/24==&gt; R2 &lt;==10.1.23.0/24==&gt; R3</strong></p>
<p>R1 is running RIP only.<br />
R2 is running RIP &amp; OSPF.<br />
R3 is running OSPF only.</p>
<p>We have the following task requirements:</p>
<ul>
<li>Create Lo40 on R1: 172.16.0.1/24</li>
<li>R1 should be configured to advertise this loopback interface into RIPv2</li>
<li>Ensure that <strong>the ONLY</strong> 172.16.x.x route present in R2&#8217;s routing table is 172.16.0.0/24</li>
<li>R3 should see 172.16.0.0/16 ONLY &amp; not 172.16.0.0/24</li>
</ul>
<p>Lets do this:<br />
On R1, let&#8217;s create int lo40 with ip 172.16.0.1/24, &amp; have RIP advertise it to R2:</p>
<p><strong>R1</strong><br />
int lo40<br />
ip add 172.16.0.1 255.255.255.0<br />
router rip<br />
net 10.0.0.0<br />
net 172.16.0.0</p>
<p>Checking R2 we see it has the RIP route:</p>
<p><strong>R2#sh ip route rip</strong><br />
172.16.0.0/24 is subnetted, 1 subnets<br />
R       172.16.0.0 [120/1] via 10.1.12.1, 00:00:07, FastEthernet0/0.12</p>
<p>Ok so let&#8217;s redistribute this into OSPF so that R3 learns about it:</p>
<p><strong>R2</strong><br />
access-list 1 permit 172.16.0.0<br />
route-map RIP-&gt;OSPF permit 10<br />
match ip address 1<br />
router ospf 1<br />
redistribute rip subnets route-map RIP-&gt;OSPF</p>
<p>Checking R3 we see that it has 172.16.0.0/24:</p>
<p><strong>R3#sh ip ro </strong><br />
&#8211;<br />
172.16.0.0/24 is subnetted, 1 subnets<br />
O E2    172.16.0.0 [110/20] via 10.1.23.2, 00:00:01, FastEthernet0/0</p>
<p>However checking the task:</p>
<ul>
<li>R3 should see 172.16.0.0/16 ONLY &amp; not 172.16.0.0/24</li>
</ul>
<p>Now of course, when we redistributed the RIP route into OSPF on R2, R2 immediately became an <strong>ASBR</strong>.<br />
As such we are able to summarise any redistributed routes with the <strong>summary-address</strong> command under the ospf process.</p>
<p><strong>R2</strong><br />
router ospf 1<br />
summary-address 172.16.0.0 255.255.0.0</p>
<p>If we check R3 now, we see that we have indeed met the task requirement of R3 ONLY having 172.16.0.0/16 in its RIB:</p>
<p><strong>R3#sh ip ro </strong><br />
&#8212;<br />
O E2 172.16.0.0/16 [110/20] via 10.1.23.2, 00:34:43, FastEthernet0/0</p>
<p>Now some people may easily move onto the next task in &#8220;error&#8221; thinking they have the full marks for the task.<br />
But we are not done yet.</p>
<p>We still have the following task requirement:</p>
<ul>
<li>Ensure that <strong>the ONLY</strong> 172.16.x.x route present in R2&#8217;s routing table is 172.16.0.0/24</li>
</ul>
<p>By default, the commands <strong>summary-address</strong> on ASBRs (&amp; <strong>area-range</strong> on ABRs), create a <strong>discard route</strong> to Null0:</p>
<p><strong>R2#sh ip ro</strong><br />
&#8212;<br />
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks<br />
R       172.16.0.0/24 [120/1] via 10.1.12.1, 00:00:11, FastEthernet0/0.12<br />
<strong>O       172.16.0.0/16 is a summary, 00:00:10, Null0</strong></p>
<p>This VIOLATES the task requirement:</p>
<ul>
<li>Ensure that <strong>the ONLY</strong> 172.16.x.x route present in R2&#8217;s routing table is 172.16.0.0/24</li>
</ul>
<p>So we need to remove the discard route.<br />
As the discard route was generated when we redistributed a RIP route into OSPF we do:</p>
<p>R2<br />
router ospf 1<br />
<strong>no discard-route external</strong></p>
<p>(NB, we would use <strong>no discard-route internal</strong> if we wanted to remove a discard route created with the <strong>area-range</strong> command)</p>
<p>Now rechecking R2 we see we have met the task requirement:</p>
<p>R2#sh ip ro<br />
&#8211;<br />
172.16.0.0/24 is subnetted, 1 subnets<br />
R       172.16.0.0 [120/1] via 10.1.12.1, 00:00:09, FastEthernet0/0.12</p>
<p>&#8212;&#8212;&#8212;&#8212;-</p>
<p>This is an easy scenario, but I hope it goes to show some people (&amp; that includes me!) that you really do need to be careful in rechecking you have the task requirements before moving on from the task.</p>
<p>Happy labbing!</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/07/11/redistribution-narbik-lab-be-careful/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OSPF Incompatible Network Types + GRE</title>
		<link>http://roy.ccieblog.com/2009/07/09/ospf-incompatible-network-types-gre/</link>
		<comments>http://roy.ccieblog.com/2009/07/09/ospf-incompatible-network-types-gre/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 06:11:10 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=112</guid>
		<description><![CDATA[With incompatible network types, if the hello/dead timers match, we can get the OSPF adjacency to form BUT no OSPF routes will be installed.
Consider the following topology:
R1 s0/0.12 &#60;====102===201====&#62; s0/0 R2
R1 &#38; R2 are connected via a frame relay PVC.
R1 s0/0.12 &#38; R2 s0/0 are both in OSPF Area 2.
Configs:
R1
interface Serial0/0.12 point-to-point
ip address 10.1.12.1 255.255.255.0
ip [...]]]></description>
			<content:encoded><![CDATA[<p>With incompatible network types, if the hello/dead timers match, we can get the OSPF adjacency to form BUT no OSPF routes will be installed.</p>
<p>Consider the following topology:</p>
<p><strong>R1 s0/0.12 &lt;====102===201====&gt; s0/0 R2</strong></p>
<p>R1 &amp; R2 are connected via a frame relay PVC.<br />
R1 s0/0.12 &amp; R2 s0/0 are both in OSPF Area 2.</p>
<p>Configs:</p>
<p>R1</p>
<p>interface Serial0/0.12 point-to-point<br />
ip address 10.1.12.1 255.255.255.0<br />
<strong>ip ospf 1 area 2</strong><br />
<strong> ip ospf network point-to-multipoint non-broadcast</strong><br />
frame-relay interface-dlci 102</p>
<p>R2</p>
<p>interface Serial0/0<br />
ip address 10.1.12.2 255.255.255.0<br />
encapsulation frame-relay<br />
<strong> ip ospf 1 area 2</strong><br />
<strong>ip ospf network non-broadcast</strong><br />
ip ospf priority 0<br />
frame-relay map ip 10.1.12.1 201 broadcast<br />
no frame-relay inverse-arp</p>
<p>The following interfaces on R1 &amp; R2 are participating in OSPF:</p>
<p><strong>R1#sh ip o int b</strong><br />
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C<br />
Lo0          1        0               1.1.1.1/8          1     LOOP  0/0<br />
Se0/0.12     1      2               10.1.12.1/24       64    P2MP  1/1</p>
<p><strong>R2#sh ip o int b</strong><br />
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C<br />
Se0/0        1     2               10.1.12.2/24       64    DROTH 1/1<br />
Lo0          1     2               2.2.2.2/8          1     LOOP  0/0</p>
<p>Now R1 &amp; R2 are incompatible network types, but as they have the same hello/dead timers (hello &#8211; 30, dead &#8211; 120), a full OSPF adjacency is formed, so R1 &amp; R2 HAVE synched their LSDBs:</p>
<p><strong>R1#sh ip o n</strong></p>
<p>Neighbor ID     Pri   State           Dead Time   Address         Interface<br />
2.2.2.2           0   <strong>FULL/  -</strong> 00:01:56    10.1.12.2       Serial0/0.12</p>
<p><strong>R2#sh ip o n</strong></p>
<p>Neighbor ID     Pri   State           Dead Time   Address         Interface<br />
1.1.1.1           1   <strong>FULL/DR</strong> 00:01:56    10.1.12.1       Serial0/0</p>
<p>Notice above that the neighbor state on R1 is FULL/- i.e no DR/BDR election takes place, as opposed to R1 seeing neighbor state as FULL/DR.<br />
The config on R2 has <strong>ip ospf priority 0</strong>, so R2 knows it CANT be the DR, &amp; so thinks that R1 MUST be the DR, even though R1 does not engage in the DR/BDR election.</p>
<p>However neither R1 nor R2 have INSTALLED the OSPF routes into their respective routing tables, due to the incompatible network types, as seen below:</p>
<p><strong>R1# sh ip ro os<br />
R1#</strong></p>
<p><strong>R2# sh ip ro os<br />
R2#</strong></p>
<p>What to do?<br />
Well we can resolve this by making both R1 &amp; R2 network types compatible with each other.<br />
See the <a id="qkmb" title="INE blog article" href="http://blog.internetworkexpert.com/2008/01/08/understanding-ospf-network-types/">INE blog article</a> if you are unaware about which network types are compatible.</p>
<p>However what if we had the following scenario:</p>
<ul>
<li>Ensure that these routers <strong>install </strong>OSPF routes into their routing tables, <strong>WITHOUT </strong>changing the network types.</li>
</ul>
<p>Hmm&#8230;</p>
<p>Well we can resolve this using good ol&#8217; GRE tunnels.<br />
What we will do is create a GRE tunnel in Area 0 to connect R1&#8217;s Area 2 to R2&#8217;s Area 2.</p>
<p>Config</p>
<p>R1</p>
<p>interface Tunnel12<br />
ip address 200.1.1.1 255.255.255.0<br />
ip ospf 1 area 0<br />
tunnel source Serial0/0.12<br />
tunnel destination 10.1.12.2</p>
<p>R2</p>
<p>interface Tunnel21<br />
ip address 200.1.1.2 255.255.255.0<br />
ip ospf 1 area 0<br />
tunnel source Serial0/0<br />
tunnel destination 10.1.12.1</p>
<p><strong>R1#sh ip ro os</strong><br />
2.0.0.0/32 is subnetted, 1 subnets<br />
O IA    2.2.2.2 [110/11112] via 200.1.1.2, 00:00:14, Tunnel12</p>
<p>Ok looks good so far&#8230;but wait:</p>
<p>R1#<br />
*Mar  1 08:26:30.602: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Tunnel12 from FULL to DOWN, Neighbor Down: Dead timer expired<br />
R1#<br />
*Mar  1 08:27:01.473: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Tunnel12 from LOADING to FULL, Loading Done<br />
R1#</p>
<p>Checking R2 we see recursive routing issues!</p>
<p>R2#<br />
*Mar  1 08:27:03.941: %TUN-5-RECURDOWN: Tunnel21 temporarily disabled due to recursive routing<br />
*Mar  1 08:27:04.942: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel21, changed state to down<br />
*Mar  1 08:27:04.942: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Tunnel21 from FULL to DOWN, Neighbor Down: Interface down or detached<br />
R2#u all<br />
*Mar  1 08:28:04.945: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel21, changed state to up<br />
*Mar  1 08:28:05.265: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Tunnel21 from LOADING to FULL, Loading Done</p>
<p>The problem is this.<br />
When the tunnel comes up, a /32 route for 10.1.12.1/32 gets advertised by R1 to R2.<br />
When R2 receives this route, as it is more specific than the /24 route that R2 has for its direct connection to R1, the 10.1.12.1/32 route is preferred.<br />
But this /32 host route is learned via the tunnel, and as we know you cannot route to the tunnel destination VIA the tunnel itself.<br />
Hence we have recursive routing issues.</p>
<p><strong>With tunnel DOWN:</strong></p>
<p><strong>R2#sh ip ro 10.1.12.1</strong><br />
Routing entry for 10.1.12.0/24<br />
Known via &#8220;connected&#8221;, distance 0, metric 0 (connected, via interface)<br />
Routing Descriptor Blocks:<br />
* directly connected, via Serial0/0<br />
Route metric is 0, traffic share count is 1</p>
<p><strong>With tunnel UP:</strong></p>
<p><strong></strong><strong>R2#sh ip ro 10.1.12.1</strong><br />
Routing entry for 10.1.12.1/32<br />
Known via &#8220;ospf 1&#8243;, distance 110, metric 11111, type inter area<br />
Last update from 200.1.1.1 on Tunnel21, 00:00:01 ago<br />
Routing Descriptor Blocks:<br />
* 200.1.1.1, from 1.1.1.1, 00:00:01 ago, via Tunnel21<br />
Route metric is 11111, traffic share count is 1</p>
<p>Now some of you may be wondering why R2 is receiving /32 host route in the 1st place.<br />
The reason?<br />
We have <strong>ip ospf network point-to-multipoint non-broadcast</strong> on R1 s0/0.12 !</p>
<p><strong>R1#sh run int s0/0.12 | i ospf</strong><br />
<strong>ip ospf network point-to-multipoint non-broadcast</strong><br />
ip ospf 1 area 2</p>
<p><strong>With the network types ip ospf network point-to-multipoint non-broadcast, ( &amp; </strong><strong>ip ospf network point-to-multipoint), R1 advertises all routes to R2 with a /32 host route that is itself.</strong></p>
<p>As the /32 host route 10.1.12.1 just happens to correspond to R2&#8217;s tunnel DESTINATION, it is R2 that is having trouble with routing to the tunnel destination VIA the tunnel.</p>
<p>We can resolve this issue in a few ways:</p>
<p>1) Change the network type on R1 &lt;&#8212; not permitted to by our task requirement!<br />
2) NOT run OSPF on R1&#8217;s serial0/0.12 interface!</p>
<p>The reason 2) works is that, after all we really don&#8217;t NEED to be running OSPF, and advertising 10.0.12.0/24 to R2, as it already knows about it, as it is directly connected.<br />
This plus the fact that we are using a GRE tunnel, so there is no NEED to be running OSPF on the serial interfaces when we want OSPF to run on the GRE tunnel between R1 &amp; R2.</p>
<p>Config:</p>
<p><strong>R1(config)#int s0/0.12<br />
R1(config-subif)#no ip ospf 1 area 2</strong><br />
R1#<br />
*Mar  1 08:42:59.655: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0.12 from FULL to DOWN, Neighbor Down: Interface down or detached<br />
*Mar  1 08:43:00.509: %SYS-5-CONFIG_I: Configured from console by console<br />
R1#<br />
*Mar  1 08:43:21.555: <strong>%OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Tunnel12 from LOADING to FULL, Loading Done</strong></p>
<p>Now if we check R1 &amp; R2 we see they are both seeing each other&#8217;s loopbacks &amp; all is well!</p>
<p><strong>R1#sh ip ro | b Gate</strong><br />
Gateway of last resort is not set</p>
<p>C    1.0.0.0/8 is directly connected, Loopback0<br />
2.0.0.0/32 is subnetted, 1 subnets<br />
<strong>O IA    2.2.2.2 [110/11112] via 200.1.1.2, 00:01:01, Tunnel12</strong><br />
C    200.1.1.0/24 is directly connected, Tunnel12<br />
10.0.0.0/24 is subnetted, 1 subnets<br />
C       10.1.12.0 is directly connected, Serial0/0.12<strong></strong></p>
<p><strong>R2#sh ip ro | b Gate</strong><br />
Gateway of last resort is not set</p>
<p>1.0.0.0/32 is subnetted, 1 subnets<br />
<strong>O       1.1.1.1 [110/11112] via 200.1.1.1, 00:00:32, Tunnel21</strong><br />
C    2.0.0.0/8 is directly connected, Loopback0<br />
C    200.1.1.0/24 is directly connected, Tunnel21<br />
10.0.0.0/24 is subnetted, 1 subnets<br />
C       10.1.12.0 is directly connected, Serial0/0</p>
<p>As can be seen above, no issues with learning /32 host routes <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>That&#8217;s it for this tutorial.</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/07/09/ospf-incompatible-network-types-gre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The joys of the Debug condition command</title>
		<link>http://roy.ccieblog.com/2009/06/28/the-joys-of-the-debug-condition-command/</link>
		<comments>http://roy.ccieblog.com/2009/06/28/the-joys-of-the-debug-condition-command/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 12:58:21 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=109</guid>
		<description><![CDATA[Say you are running RIP, &#38; you wish to debug ip rip.
Typically you will see every 30 seconds a barrage of output from the debug.
If you are only interested in seeing the debug on a particular interface/subinterface, this is where debug condition helps.
So say we have R1 with the following interfaces all running RIP:
R1#sh ip [...]]]></description>
			<content:encoded><![CDATA[<p>Say you are running RIP, &amp; you wish to debug ip rip.</p>
<p>Typically you will see every 30 seconds a barrage of output from the debug.</p>
<p>If you are only interested in seeing the debug on a particular interface/subinterface, this is where <strong>debug condition</strong> helps.</p>
<p>So say we have R1 with the following interfaces all running RIP:</p>
<p>R1#sh ip int b<br />
Interface                  IP-Address      OK? Method Status                Protocol<br />
FastEthernet0/0            100.1.111.1     YES manual up                    up<br />
Serial0/0                  unassigned      YES unset  up                    up<br />
Serial0/0.12               10.1.12.1       YES manual up                    up<br />
Serial0/0.13               10.1.13.1       YES manual up                    up<br />
Serial0/0.14               10.1.14.1       YES manual up                    up<br />
FastEthernet0/1            unassigned      YES unset  up                    up<br />
Serial0/1                  10.1.100.1      YES manual up                    up</p>
<p>If we are only interested in debug ip rip for s0/0.14 we can do this:</p>
<p>R1#debug condition interface s0/0.14<br />
Condition 1 set<br />
R1#</p>
<p>R1#<strong>debug ip rip </strong><br />
RIP protocol debugging is on<br />
R1#<br />
RIP: received v2 update from 10.1.14.4 on Serial0/0.14<br />
10.1.45.0/24 via 0.0.0.0 in 1 hops<br />
10.1.46.0/24 via 0.0.0.0 in 1 hops<br />
10.1.56.0/24 via 0.0.0.0 in 2 hops</p>
<p>Cool we can see debug condition working its magic.</p>
<p>You can select multiple interfaces/subinterfaces with debug condition.</p>
<p>To view the current list of interfaces with debug condition:</p>
<p>R1#<strong>sh debug condition </strong></p>
<p>Condition 1: interface Se0/0.14 (1 flags triggered)<br />
Flags: Se0/0.14</p>
<p>Something to bear in mind here, is that doing: undebug all does NOT remove debug condition.</p>
<p>So if you want to remove the debug condition on your interfaces you need to do (in this case)</p>
<p><strong>no debug condition interface s0/0.14</strong></p>
<p>If s0/0.14 was the only remaining interface with the debug condition you&#8217;ll see the following:</p>
<p>R1#<strong>no debug condition int s0/0.14</strong><br />
This condition is the last interface condition set.<br />
Removing all conditions may cause a flood of debugging<br />
messages to result, unless specific debugging flags<br />
are first removed.</p>
<p>Proceed with removal? [yes/no]: yes</p>
<p>NB. As s0/0.14 had condition id of 1, you could have also done: <strong>no debug condition 1</strong> instead of no debug int s0/0.14.</p>
<p>Finally, debug condition can be used in quite a varied no of ways as seen below:</p>
<p>R1#debug condition ?<br />
application  Application<br />
called       called number<br />
calling      calling<br />
card         card<br />
glbp         interface group<br />
interface    interface<br />
ip           IP address<br />
mac-address  MAC address<br />
match-list   apply the match-list<br />
standby      interface group<br />
username     username<br />
vcid         VC ID<br />
vlan         vlan</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/06/28/the-joys-of-the-debug-condition-command/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Status Update</title>
		<link>http://roy.ccieblog.com/2009/06/28/status-update/</link>
		<comments>http://roy.ccieblog.com/2009/06/28/status-update/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 12:41:33 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=106</guid>
		<description><![CDATA[Hi all
Studying for the R&#38;S, at times has had to take a back seat to my job hunting.
My contract is ending somewhat shortly so I am on the lookout.
Anyway, I am continuing to progress through Narbik&#8217;s workbooks.
Progress is slow, but sure. Like Nickelby I am making sure I understand what I am doing.
I am also [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>Studying for the R&amp;S, at times has had to take a back seat to my job hunting.</p>
<p>My contract is ending somewhat shortly so I am on the lookout.</p>
<p>Anyway, I am continuing to progress through Narbik&#8217;s workbooks.</p>
<p>Progress is slow, but sure. Like Nickelby I am making sure I understand what I am doing.</p>
<p>I am also at times coming up with different solutions to Narbik&#8217;s; it&#8217;s certainly good to know one&#8217;s options.</p>
<p>However, in the midst of all this, I didn&#8217;t book my lab date. With all the version 3 lab dates pretty much taken, I&#8217;ve resigned myself to version 4.</p>
<p>This is not a big deal for me as such&#8230;I&#8217;ve spent a large amount of my career troubleshooting, and I am CCIP, plus the network I currently manage has an MPLS backbone, so I&#8217;m by far no stranger to MPLS.</p>
<p>So I am looking at version 4 in a positive light.</p>
<p>Sure, more work will be needed, but I will be a better engineer for it.</p>
<p>So my plan still stands in that I will study until I feel I am ready, and only at that point will I book the lab for the earliest available date.</p>
<p>Additionally for me, with time being taken on the job hunting aspect, for me it&#8217;s better that I do not have a lab date booked.</p>
<p>Narbik will, at some point, be returning to our UK shores, with his new spangled &#8220;best of the best&#8221; bootcamp <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Having attended his bootcamp previously I am very interested in seeing how his new bootcamp will differ, seeing that he is also incorporating the 360 program into the bootcamp&#8230;</p>
<p>Narbik also mentions the new bootcamp will be more intense.</p>
<p>I found it pretty intense the 1st time around, and sometimes had to rely on red bull (it gives u wings) to keep focused. I think even after awhile red bull stopped doing its thing <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway back to studies.</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/06/28/status-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Narbik&#8217;s bootcamp: A review</title>
		<link>http://roy.ccieblog.com/2009/05/22/narbiks-bootcamp-a-review/</link>
		<comments>http://roy.ccieblog.com/2009/05/22/narbiks-bootcamp-a-review/#comments</comments>
		<pubDate>Fri, 22 May 2009 17:20:32 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=99</guid>
		<description><![CDATA[To start off with, I&#8217;d like to give thanks to Stuart Juggins of Networks Inc, who helped make this possible.
Stuart approached Narbik and managed to get him to come over to the UK and teach here.
Thanks Stuart!
I had always wanted to attend Narbiks bootcamp due to all the great things I had heard about it, [...]]]></description>
			<content:encoded><![CDATA[<p>To start off with, I&#8217;d like to give thanks to Stuart <span class="misspell">Juggins</span> of Networks Inc, who helped make this possible.<br />
Stuart approached <span class="misspell">Narbik</span> and managed to get him to come over to the UK and teach here.<br />
Thanks Stuart!</p>
<p>I had always wanted to attend <span class="misspell">Narbiks</span> <span class="misspell">bootcamp</span> due to all the great things I had heard about it, but once I found out it was just over an hour from my home, I just HAD to attend.</p>
<p>This was the 1st of what will probably be many times that <span class="misspell">Narbik</span> visits our shores for <span class="misspell">bootcamp</span> purposes.</p>
<p>As has been mentioned before, <span class="misspell">Narbik</span> uses a whiteboard, some coloured pens, &amp; his insane memory of the <span class="misspell">cli</span>.<br />
The commands he was able to write on the whiteboard from memory were quite frankly, staggering at times.</p>
<p>I mean, to be able to list all the options under match, under a class-map is just 1 example.</p>
<p><span class="misspell">Narbik</span> starts off by telling you to only believe what he says if he has tested it/shown it to be true.<br />
<span class="misspell">Narbik</span> does not tell you anything that he has not personally tested and verified to be true.<br />
If there is something <span class="misspell">Narbik</span> is unsure about (which rarely happens), <span class="misspell">Narbik</span> will hold his hands up and say he <span class="misspell">doesnt</span> know. However these instances typically correspond to things occurring within the <span class="misspell">IOS</span> that only the guy who coded the <span class="misspell">IOS</span> would know.</p>
<p><span class="misspell">Narbik</span> does not repeat something (unless you ask him to repeat it).<br />
This means you need to be 100% focused on what he is saying.<br />
He will start with any topic from the basics, but quickly he will build on it, and pretty often to a level which you may be unfamiliar with.<br />
I mean, I thought I knew RIP prior to this <span class="misspell">bootcamp</span>.<br />
I sat back, and said internally &#8220;you are talking about RIP?! <span class="misspell">cmon</span> jeez&#8221;.<br />
Well I <span class="misspell">didnt</span> pay attention for a very short period and in that time <span class="misspell">Narbik</span> mentioned something, and I thought&#8230;<span class="misspell">ok</span> maybe i <span class="misspell">didnt</span> know rip too well <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
But this is a GOOD thing!<br />
<span class="misspell">Narbik</span> mentions that you need to respect technologies.<br />
There is always something to learn, to know about a technology, so give everything the respect it deserves.</p>
<p>Upon reflection, I would say I actually found <span class="misspell">BGP</span> an easier lecture for the most part than certain aspects of RIP, so this should tell you something.. (hopefully not that my RIP sucks <span class="misspell">lol</span>).</p>
<p><span class="misspell">Narbik</span> is very REAL WORLD.<br />
He does go deep into everything, but as Ali G likes to say he &#8220;keeps it real&#8221;.<br />
He <span class="misspell">doesnt</span> go into the toilet-flushing-5 times methods <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (if you follow <span class="misspell">groupstudy</span> you will understand what I mean)</p>
<p>Now prior to this <span class="misspell">bootcamp</span>, I would have followed the configure/verify model.<br />
After this <span class="misspell">bootcamp</span>, I intend to follow the configure/verify/test model.<br />
There are instances where you can configure &amp; verify something looks fine, but until you actually TEST that its working, you may not be 100% sure that it works.<br />
Additionally, say you make a mistake in your verification&#8230;if you also test something is working, say with ping, you can easily see whether it is working, or not.</p>
<p>Tips:</p>
<p>Bring a notepad, &amp; maybe a multicolored pen.</p>
<p>Be ready to pay attention to everything that is being said.</p>
<p>Be as prepared as you can for the bootcamp.</p>
<p>The more you know (or think you know, in my case <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), the better off you will be.</p>
<p>Ideally prepare a list of questions that you have, anomalies, anything that you need clarification on.</p>
<p>Also, if you make notes in shorthand, even better.</p>
<p>Having said this, the workbooks does go into verification &amp; testing with explanations, so they will be a refresher for the things you hear in the bootcamp.</p>
<p>Conclusion<br />
I&#8217;m so glad I went to this <span class="misspell">bootcamp</span>, as I have been exposed to, and have learned things that I would just not have learned otherwise.<br />
I can only recommend others to make a beeline, as Darby Weaver puts it, to this <span class="misspell">bootcamp</span>.<br />
You will not regret it.<br />
Value for money wise, its hard to beat; you get 7 bound workbooks which are focus based, as well as other labs.</p>
<p><span class="misspell">Narbik</span> does have a great sense of humour, so its worth attending just for the jokes <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And watch out the little men! <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/05/22/narbiks-bootcamp-a-review/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Narbik&#8217;s bootcamp Day 2</title>
		<link>http://roy.ccieblog.com/2009/05/19/narbiks-bootcamp-day-2/</link>
		<comments>http://roy.ccieblog.com/2009/05/19/narbiks-bootcamp-day-2/#comments</comments>
		<pubDate>Tue, 19 May 2009 22:55:13 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=97</guid>
		<description><![CDATA[Today Narbik covered OSPF &#38; EIGRP.
I have to say, I did learn quite a bit today.
Now I thought I knew these topics to a fair degree, but every time Narbik starts talking about stuff that makes me question what I really do know.
This is a good thing. We are here to be challenged, to learn [...]]]></description>
			<content:encoded><![CDATA[<p>Today Narbik covered OSPF &amp; EIGRP.</p>
<p>I have to say, I did learn quite a bit today.</p>
<p>Now I thought I knew these topics to a fair degree, but every time Narbik starts talking about stuff that makes me question what I really do know.</p>
<p>This is a good thing. We are here to be challenged, to learn new things, and thats certainly happening at this bootcamp.</p>
<p>Anyway off to sleep soon, to be ready for another day of learning <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/05/19/narbiks-bootcamp-day-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Narbik&#8217;s bootcamp Day 1</title>
		<link>http://roy.ccieblog.com/2009/05/19/narbiks-bootcamp-day-1/</link>
		<comments>http://roy.ccieblog.com/2009/05/19/narbiks-bootcamp-day-1/#comments</comments>
		<pubDate>Tue, 19 May 2009 06:06:18 +0000</pubDate>
		<dc:creator>roy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roy.ccieblog.com/?p=95</guid>
		<description><![CDATA[Well, day 1 was yesterday.
Quite a day it was, running from 9am till 9pm-ish.
We were all delayed at the beginning of the day due to idle timeouts to the terminal server.
For users of securecrt under session options, its pretty eas to resolve this&#8230;just send a character every 5 secs or something.
As I am using iterm [...]]]></description>
			<content:encoded><![CDATA[<p>Well, day 1 was yesterday.</p>
<p>Quite a day it was, running from 9am till 9pm-ish.</p>
<p>We were all delayed at the beginning of the day due to idle timeouts to the terminal server.</p>
<p>For users of securecrt under session options, its pretty eas to resolve this&#8230;just send a character every 5 secs or something.</p>
<p>As I am using iterm under mac os x, I somewhat struggled here.</p>
<p>Did find an option to send an ASCII character on timeout for default terminal profile (iterm users will know what I mean). Will test it today to see if my sessions time out.</p>
<p>If my sessions still time out, Ill just switch to the windows virtual machine, and use securecrt.</p>
<p>As I didnt have securecrt under windows, this was the main reason I didnt use windows from the start.</p>
<p>Anyway will see how things go today with the idle timeout.</p>
<p>On the learning side of things, Narbik went over elements of layer 2 security (DHCP snopping, dynamic arp inspection etc), and later covered frame relay.</p>
<p>Now I thought I could not learn anything more about frame relay prior to attending, but there were a few surprises, and I learned stuff that I just havent seen from books etc.</p>
<p>Narbik&#8217;s memory really is something else&#8230;as others have said, there are no slides, its all whiteboard.</p>
<p>Narbik also does not like you using a option unless its really needed, eg&#8230;a lot of ppl *cough* will put no frame inverse under the main serial interface. Well if theres no IP address under the main interface, why do no frame inv? After all no inarp requests will be sent out a main interface that has no IP address assigned to it.</p>
<p>Narbik also does not like the use of the broadcast keyword used after frame maps unless its really needed <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8212;</p>
<p>Didn&#8217;t really get much work done after the bootcamp this night, as some of my colleagues and I spent some time just trying to find a chinese that was open <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The chinese takeaway was ridicilously expensive too&#8230;can you say over 5 quid for special fried rice?!</p>
<p>Anyway Im sure today will go smoother.</p>
<p>There is a certain challenge though that needs to be overcome and that is with ppl talking about various things non bootcamp related, and you are trying to concentrate <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Someone in gs mentioned the use of earplugs, and I can see why! <img src='http://roy.ccieblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>All in all though yesterday was a good day.</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.ccieblog.com/2009/05/19/narbiks-bootcamp-day-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
