<?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> &#187; IOS</title>
	<atom:link href="http://www.richstevenson.com/tag/ios/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.richstevenson.com</link>
	<description></description>
	<lastBuildDate>Thu, 22 Dec 2011 18:41:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Upgrading a Cisco Catalyst Switch</title>
		<link>http://www.richstevenson.com/2009/04/15/upgrading-a-cisco-catalyst-switch/</link>
		<comments>http://www.richstevenson.com/2009/04/15/upgrading-a-cisco-catalyst-switch/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 04:00:39 +0000</pubDate>
		<dc:creator>Rich Stevenson</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[IOS]]></category>

		<guid isPermaLink="false">http://www.richstevenson.com/?p=275</guid>
		<description><![CDATA[Today I&#8217;m starting to upgrade my almost 40 Cisco Catalyst 3560G switches to a newer version of the IOS. Since these switches were installed over the course of about 2 years, a lot of them are running different IOS versions, so it&#8217;s time to get everything up to snuff and running the same version across [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m starting to upgrade my almost 40 Cisco Catalyst 3560G switches to a newer version of the IOS. Since these switches were installed over the course of about 2 years, a lot of them are running different IOS versions, so it&#8217;s time to get everything up to snuff and running the same version across the board. The latest version that&#8217;s installed on any of them is 12.2(25) SEE3 and according to Cisco support that version is now in deferral and it&#8217;s suggested to move to version 12.2(44) SE5. But&#8230;that version is also in deferral so the suggested is 12.2(44) SE6. Now at the time of this writing, the latest version is 12.2.50-SE. But I&#8217;m going to stick with version 12.2(44) SE6 for now as I&#8217;m not one to jump on the latest version of anything unless I absolutely have to.<br />
<span id="more-275"></span></p>
<h2>Downloading the software</h2>
<p>As you know, you have to have a Cisco maintenance agreement as well as an online account linked to that agreement so you can legally download the new IOS. So assuming you meet that criteria and have already downloaded your desired IOS, let&#8217;s get started on the upgrade process. If you haven&#8217;t downloaded the IOS yet, you can do so at <a href="http://support.cisco.com" target="_blank">http://support.cisco.com</a></p>
<h2>Prepare for disaster</h2>
<p>Ok, maybe that title was a little strong. But you need to backup your existing IOS image as well as your current configuration. If something goes wrong during the upgrade, you&#8217;ll want to bring things back as quickly as possible.</p>
<ul>
<li>So first, let&#8217;s run the TFTP server software. I&#8217;m using Tftpd32 available for free at <a href="http://tftpd32.jounin.net/" target="_blank">http://tftpd32.jounin.net</a></li>
<li>Now from the switch CLI determine your current IOS version by typing:</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# show version</code></span></p>
<p style="text-align: left;">On my switch the version, as mentioned before, is 12.2(25) SEE3.</p>
<ul>
<li>Now locate the current IOS image using the dir command as shown:</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# dir</code></span></p>
<p style="text-align: left;">From here I can see a directory named c3560-ipbasek9-mz.122-25.SEE3 which matches my version number above. Obviously depending on the version of IOS you&#8217;re running, this directory name will be different.</p>
<ul>
<li>So we now see the directory that contains the current IOS. Change to that directory and issue the dir command again to view the image file name.</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# cd c3560-ipbasek9-mz.122-25.SEE3</code></span></p>
<p><span style="color: #99ccff;"><code>Router# dir</code><br />
</span></p>
<ul>
<li>I can now see the image file c3560-ipbasek9-mz.122-25.SEE3.bin and that&#8217;s the file that we want to backup. So with our TFTP program running we have what we need to back up the current IOS. From the switch CLI type the following to start the IOS backup:</li>
</ul>
<p style="text-align: left;"><span style="color: #99ccff;"><code>Router# copy flash:c3560-ipbasek9-mz.122-25.SEE3.bin tftp</code></span></p>
<p style="text-align: left;"><span style="color: #99ccff;"><code>Address or name of remote host []? 192.168.28.1</code></span></p>
<p style="text-align: left;"><span style="color: #99ccff;"><code>Destination filename [c3560-ipbasek9-mz.122-25.SEE3.bin]?</code></span></p>
<p style="text-align: left;">The remote host IP address is the IP displayed in the Server Interface field of the Tftpd32 program. After a little time, the download will finish and you should see a copy of the IOS in the directory shown in the Current Directory field of Tftpd32 as shown in <strong>Figure A</strong>.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-276" src="http://www.richstevenson.com/wp-content/uploads/2009/04/figurea1.jpg" alt="" width="401" height="335" /></p>
<p style="text-align: center;"><strong>Figure A:</strong> <em>You&#8217;ll need TFTP software to be able to upgrade and backup your switch.</em></p>
<p style="text-align: left;">
<ul>
<li>Next you need to back up your current configuration as follows:</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# cd ..</code></span></p>
<p style="text-align: left;"><span style="color: #99ccff;"><code>Router# copy flash:config.text tftp</code></span></p>
<p style="text-align: left;"><span style="color: #99ccff;"><code>Address or name of remote host []? 192.168.28.1</code></span></p>
<p><span style="color: #99ccff;"><code>Destination filename [config.txt]?</code></span></p>
<h2 style="text-align: left;">Upgrading the switch</h2>
<p style="text-align: left;">So now that we have a good copy of both the current IOS and configuration, we&#8217;re ready to upload the new image. I&#8217;ve downloaded the tar package named c3560-ipbasek9-tar.122-44.SE6.tar form Cisco and placed it in my Tftpd32 Current Directory location. Also, on my switch I have enough room in flash to leave the current IOS and still be able to upload the newer image. This allows me to specify which image to boot from and test the upgrade before actually removing the older version. If you have the space, I suggest you do the same. It&#8217;s just another safety net in case something goes awry. If you don&#8217;t have the space, then you&#8217;ll have to delete the existing image first before performing the upgrade.</p>
<ul>
<li>To start the upgrade, from the switch CLI type the following:</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# archive tar /xtract tftp://192.168.28.1/c3560-ipbasek9-tar.122-44.SE6.tar flash:</code></span></p>
<p>After a few minutes the tar file will complete the upload and extraction and you&#8217;ll receive an OK when it has finished. Since I left the original IOS in place, I need to specify which IOS I want the switch to load at boot up. I did so with this command and then saved and reloaded the switch.</p>
<p><span style="color: #99ccff;"><code>Router(config)# boot system flash:c3560-ipbasek9-mz.122-44.SE6/c3560-ipbasek9-mz.122-44.SE6.bin</code></span></p>
<p><span style="color: #99ccff;"><code>Router# write memory</code></span></p>
<p><span style="color: #99ccff;"><code>Router# reload</code><br />
</span></p>
<p><span style="color: #99ccff;"><code>Proceed with reload? [confirm]</code></span></p>
<ul>
<li>Once the switch loads, login and confirm the new IOS version is running.</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# show version</code></span></p>
<ul>
<li>Now that the new image loaded successfully, I can delete the older version and remove the boot system command.</li>
</ul>
<p><span style="color: #99ccff;"><code>Router# delete /force /recursive flash:c3560-ipbasek9-mz.122-25.SEE3</code></span></p>
<p><span style="color: #99ccff;"><code>Router# no boot system</code><br />
</span></p>
<p>And that&#8217;s it. The switch has been upgraded, tested, and the older version removed.</p>
<g:plusone href="http://www.richstevenson.com/2009/04/15/upgrading-a-cisco-catalyst-switch/"  size="standard"   count="false"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.richstevenson.com/2009/04/15/upgrading-a-cisco-catalyst-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically backup your Cisco IOS configurations</title>
		<link>http://www.richstevenson.com/2009/03/30/automatically-backup-your-cisco-ios-configurations/</link>
		<comments>http://www.richstevenson.com/2009/03/30/automatically-backup-your-cisco-ios-configurations/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 01:36:39 +0000</pubDate>
		<dc:creator>Rich Stevenson</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[achive]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[IOS]]></category>

		<guid isPermaLink="false">http://www.richstevenson.com/?p=61</guid>
		<description><![CDATA[So you have your router and switches all setup the way you want and everything is running smoothly within your network. Then one day it happens. Your router has a hardware failure and needs to be replaced. You expedite the replacement, mount it in the rack, power her up, and then realize that you don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsensestart--><br />
So you have your router and switches all setup the way you want and everything is running smoothly within your network. Then one day it happens. Your router has a hardware failure and needs to be replaced. You expedite the replacement, mount it in the rack, power her up, and then realize that you don&#8217;t have a copy of the most recent configuration or worse yet, you don&#8217;t have a copy at all!</p>
<p><span id="more-61"></span>Of course this can be avoided by manually copying the running configuration for safe keeping, but we like automatic. The kind of automatic that we don&#8217;t have to worry about. The kind of automatic that Cisco provided to us with the &#8216;archive&#8217; command starting with the IOS versions shown in <strong>Table A</strong>.</p>
<table id="wp1021247table1021245" style="height: 264px;" border="1" cellspacing="0" cellpadding="0" width="439" bordercolor="#808080">
<tbody>
<tr align="left" valign="bottom">
<th scope="col">
<div class="pCH1_CellHead1">Release</div>
</th>
<th scope="col">
<div class="pCH1_CellHead1">Modification</div>
</th>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.3(7)T</p>
</td>
<td>
<p class="pB1_Body1">This command was introduced.</p>
</td>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.2(25)S</p>
</td>
<td>
<p class="pB1_Body1">This command was integrated into Cisco IOS Release 12.2(25)S.</p>
</td>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.2(28)SB</p>
</td>
<td>
<p class="pB1_Body1">This command was integrated into Cisco IOS Release 12.2(28)SB.</p>
</td>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.2(33)SRA</p>
</td>
<td>
<p class="pB1_Body1">This command was integrated into Cisco IOS Release 12.2(33)SRA.</p>
</td>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.2(31)SB2</p>
</td>
<td>
<p class="pB1_Body1">This command was implemented on the Cisco 10000 series.</p>
</td>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.2(33)SXH</p>
</td>
<td>
<p class="pB1_Body1">This command was integrated into Cisco IOS Release 12.2(33)SXH.</p>
</td>
</tr>
<tr align="left" valign="top">
<td>
<p class="pB1_Body1">12.2(33)SB</p>
</td>
<td>
<p class="pB1_Body1">This command was integrated into Cisco IOS Release 12.2(33)SB and implemented on the Cisco 10000 series.</p>
</td>
</tr>
</tbody>
</table>
<p><em><strong>Table A</strong>: Archive command release history from Cisco.</em></p>
<p>The <span style="color: #800000;"><code>archive</code></span> command allows you to create a copy of your configuration manually, periodically, or when the configuration is stored in NVRAM via FTP, TFTP, HTTP, or RCP.</p>
<p>In this example, I&#8217;ll being configuring the router to copy the configuration to a Windows 2003 FTP server  every time the &#8216;write memory&#8217; command is issued. The file name is built on the routers host name, appended with &#8220;-x&#8221;, where &#8220;x&#8221; is an incremental number.  I&#8217;m also using the credentials of an Active Directory user, that I created for this purpose,  to allow the router to connect to the FTP server.</p>
<p>The FTP server address is: 192.168.1.50<br />
Username: stevenson\netadmin<br />
Password: n3t4dm1n</p>
<p>First we&#8217;ll configure the router with the FTP username and password.</p>
<p style="padding-left: 30px;"><span style="color: #800000;"><code>Router(config)# ip ftp username stevenson\netadmin<br />
Router(config)# ip ftp password n3t4dm1n</code></span></p>
<p>Now execute the &#8216;archive&#8217; command.</p>
<p style="padding-left: 30px;"><code> <span style="color: #800000;">Router(config)# archive</span></code></p>
<p>Now specify the path for the configuration archives</p>
<p style="padding-left: 30px;"><code> <span style="color: #800000;">Router(config-archive)# path ftp://192.168.1.50/$h<br />
Router(config-archive)# write-memory</span><br />
</code></p>
<p>The <span style="color: #800000;"><code>&amp;h</code></span> in the path instructs the system to use the hostname of the router when naming the archived configuration. And <span style="color: #800000;"><code>write-memory</code></span> causes the configuration to be archived each time the <span style="color: #800000;"><code>write memory</code></span> command is issued.</p>
<p>That&#8217;s it! You now have your router setup to automatically archive/copy your most recent configuration file to an FTP server for safe keeping. To test it out either enter:</p>
<p style="padding-left: 30px;"><span style="color: #800000;"><code>Router# write memory</code></span></p>
<p>or</p>
<p style="padding-left: 30px;"><span style="color: #800000;"><code>Router# archive config</code></span></p>
<p>Now check your FTP server and you should find the archived copy of your routers configuration.</p>
<p>If you want the router to archive your configuration at a desired interval, you can do that too by using the <span style="color: #800000;"><code>time-period</code></span> command followed by the number of minutes that you want the archiving to wait between archive creation.</p>
<p style="padding-left: 30px;"><span style="color: #800000;"><code>Router(config-archive)# time-period 10080</code></span></p>
<p>If you want to see a list of archives with the most recent highlighted, simply use this command:</p>
<p style="padding-left: 30px;"><span style="color: #800000;"><code>Router# show archive</code></span></p>
<p>Now that you have the configuration backed up and can see the listed archives, lets look at restoring from one of the archived configuration files. Decide which archive file that you want to restore, from the list you saw when you issued the <span style="color: #800000;"><code>show archive</code></span> command and enter that name as shown:</p>
<p><span style="color: #800000;"><code>Router# configure replace ftp://192.168.1.50/Router-1</code></span></p>
<p><span style="color: #800000;"><code>This will apply all necessary additions and deletions<br />
to replace the current running configuration with the<br />
contents of the specified configuration file, which is<br />
assumed to be a complete configuration, not a partial<br />
configuration. Enter Y if you are sure you want to proceed. ? [no]:y<br />
Total number of passes: 1<br />
Rollback Done</code></span></p>
<p>After you see &#8220;Rollback Done&#8221;, your selected archived configuration is now back in place on your router.</p>
<p>I&#8217;ve deployed this solution to a mix of Cisco routers, switches, and voice gateways and let me tell ya, it&#8217;s a nice feeling to know that all of those configs are being backed up automatically. Now if I have a failure or issue a bad command I can quickly and easily get things back to the way they were previously.<br />
<!--adsensestart--></p>
<g:plusone href="http://www.richstevenson.com/2009/03/30/automatically-backup-your-cisco-ios-configurations/"  size="standard"   count="false"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.richstevenson.com/2009/03/30/automatically-backup-your-cisco-ios-configurations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

