<?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>Aaron&#039;s Worthless Words &#187; router</title>
	<atom:link href="http://aconaway.com/tag/router/feed/" rel="self" type="application/rss+xml" />
	<link>http://aconaway.com</link>
	<description>Not something you want to hear</description>
	<lastBuildDate>Wed, 08 Sep 2010 14:39:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Stubby Post &#8211; What&#8217;s an IDB?</title>
		<link>http://aconaway.com/2010/09/03/stubby-post-whats-an-idb/</link>
		<comments>http://aconaway.com/2010/09/03/stubby-post-whats-an-idb/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 18:07:54 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[cisco]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[descriptor]]></category>
		<category><![CDATA[idb]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[switch]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=998</guid>
		<description><![CDATA[What the heck is an IDB?]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://twitter.com/aconaway/status/22554005934">posed the philosophical question</a> on Twitter the other day asking if single trunk links should be in an EtherChannel bundle just in case you need to expand later.  I didn&#8217;t really expect an answer, but the ever-verbose <a href="http://twitter.com/WannabeCCIE">@WannabeCCIE</a> pointed out (in not so many words) that you should watch your IDBs.  What is that?</p>
<p>That&#8217;s an <a href="http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_tech_note09186a0080094322.shtml">interface descriptor block</a>.  I admit that I&#8217;m not intimately familiar with them, bu they&#8217;re data structs in IOS used to keep track of the interfaces on that device.  They come in two flavors &#8211; hardware and software.  HWIDBs usually represent a physical interface but they also represent tunnels, SVIs, PortChannels, subinterfaces, and any other virtual interface that you can configure.  The SWIDBs represent the layer-2 encapsulation of each HWIDB, so you&#8217;ll see entries talking about Ethernet, HDLC, PPP, etc.  That means that every interface you have on a router consumes two IDBs (there are always exceptions).  That&#8217;s important because each platform and IOS version combination has a limit to the number IDBs that device supports.</p>
<p>If you check out <a href="http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_tech_note09186a0080094322.shtml#idb_limits">one of Cisco&#8217;s pages on IDBs</a>, you&#8217;ll see a pretty table showing the limits.  The 3640 running 12.4(25b) that I run in my GNS3 lab has a limit of 800 IDBs.  That means that I can have 400 interfaces configured at most.  That little 800 series router running 12.1T that you still have running at the VP&#8217;s house has an IDB limit of 300 or 150 interfaces.  The 7200 in the data center running 12.3 can handle 20,000 IDBS or 10,000 interfaces!</p>
<p>If you guessed that you can see your IDBs by typing <em>show idb</em>, then you guessed right.  That will show you the IDB limit, how many are being used, a summary table, and a list of all the IDBs with their details.  Remember that there may be more interfaces on your device that just physical.  You may have an SVI, loopback interface, or even a null or two.  These all count towards the limit.</p>
<p>Before you get freaked out and start checking the IDB limits on all your devices, take a breath.  I&#8217;ve never run into the IDB limit on any device and I&#8217;ve never heard of anyone who has.  I&#8217;m sure someone has, but I don&#8217;t remember hearing about any.  Think about it for a second.  If I took my 3640 and filled it with 4 NM-16ESWs, I&#8217;d only have 128 IDBs used (16 ports * 4 modules * 2 IDBs for each port).  Don&#8217;t forget the null interface and VLAN 1 SVI by default (VLANs take 1; VLAN SVIs take 2 each).  That brings the count to 133.  Let&#8217;s add 100 more VLANs and SVIs on this guy.  Now we&#8217;re up to 433.  How about we put each interface into a channel group of its own.  That adds another 128, which is 561.  Only 239 more to go.</p>
<p>Unless you&#8217;re doing something out of the ordinary, I don&#8217;t think the IDB limit will be a problem.  Of course, that depends on your definition of &#8220;ordinary&#8221;.</p>
<p>Send any <span style="text-decoration: line-through;">sort indexes</span> questions my way.</p>
]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2010/09/03/stubby-post-whats-an-idb/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using SSH to Run Commands on a Router or Switch</title>
		<link>http://aconaway.com/2009/04/30/using-ssh-to-run-commands-on-a-router-or-switch/</link>
		<comments>http://aconaway.com/2009/04/30/using-ssh-to-run-commands-on-a-router-or-switch/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 14:54:52 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[csm]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[privilege]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[switch]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=322</guid>
		<description><![CDATA[SSH is more than just a shell.  You can copy files from and to a server or piece of network gear with it.  You can use it to tunnel traffic.  Possibly my favorite, though, is to use SSH to run a command on a remote box without interacting with a shell. One of my biggest [...]]]></description>
			<content:encoded><![CDATA[<p>SSH is more than just a shell.  You can copy files from and to a server or piece of network gear with it.  You can use it to tunnel traffic.  Possibly my favorite, though, is to use SSH to run a command on a remote box without interacting with a shell.</p>
<p>One of my biggest pet peeves with IOS (or pretty much any Cisco OS) is the lack of complex filtering.  Let&#8217;s say I want to look at all the downed ports and interfaces on modules 3 and 6 of my 6509.  I can&#8217;t easily do that with command from the IOS, but, on my Linux box, I can use multiple <em>grep </em>commands to get exactly what I want really easily.  Let&#8217;s work through the example, shall we?</p>
<p>To start with, let&#8217;s just do a <em>show ip int brief</em> without getting a shell on the switch.</p>
<blockquote>
<pre>ssh my.switch.com "show ip int brief"</pre>
</blockquote>
<p>When you run this and give your password, you see the output we&#8217;ve all learned to love, and, now that you&#8217;ve got it in STDOUT on your Linux box, you can start filtering. Now, let&#8217;s use <em>grep </em>to find the downed ports and interfaces on modules 3 and 6.</p>
<blockquote>
<pre>ssh my.switch.com "show ip int brief" | grep down | grep Ethernet[36]</pre>
</blockquote>
<p>How about downed ports and interfaces on modules 3 and 6 that not administratively down?</p>
<blockquote>
<pre>ssh my.switch.com "show ip int brief" | grep down | grep Ethernet[36] | grep -v admin</pre>
</blockquote>
<p>I&#8217;ll stop there, but it can go on and on.  Read up on regular expression and/or grep if you don&#8217;t know what we&#8217;re doing here.</p>
<p>What&#8217;s really happening is that we&#8217;re taking the output of the command &#8220;ssh &#8230;.&#8221; and piping it (with |) to the command <em>grep</em>.  We can send it to whatever command we want, though, so don&#8217;t be shy.  I&#8217;ve actually written several scripts that take output of commands like <em>show int description</em> on a router to generate some reports.  When I want to run one of those, I do something like this.</p>
<blockquote>
<pre>ssh my.switch.com "show int desc" | parseOutput.pl</pre>
</blockquote>
<p>There&#8217;s always a gotcha or two to watch for, isn&#8217;t there?  I&#8217;ve found a couple.</p>
<p>First, your command runs at your privilege level, so, if your user is priv 1, you&#8217;re not going to be able to do a <em>show run</em> or <em>reload</em>.  You could just ignore security for a bit and set your privilege to 15, but I don&#8217;t recommend doing anything like that.  Before you say it, you&#8217;ll probably have a hard time with enabling as well.  You can only run one command at a time, so you would just enable yourself and get kicked off.  Not very helpful.</p>
<p>Another problem I see is the lack of public/private key pair support on Cisco devices.  On a Linux box, you can copy your keys around, and those are presented in lieu of a password.  Since (most) Cisco devices don&#8217;t have home directories, there&#8217;s no place to drop the keys, and we&#8217;re left with just using passwords.  Support for this would be nice, but the security problems associated with keep SSH keys and user home directories are probably too much to even think about.</p>
<p>What else?  Oh, yeah.  The PIX/FWSM/ASA family supports SSH, but it acts differently from the IOS guys.  When you run a command through SSH, you actually get an interactive shell with the command already on the CLI for you. This is probably by design; the only thing you can really do from a non-priv prompt is to <em>enable</em>.</p>
<p>Anyway, send any <span style="text-decoration: line-through;">grilling tips</span> questions my way.</p>
]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2009/04/30/using-ssh-to-run-commands-on-a-router-or-switch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
