<?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>xpresslearn.com</title>
	<atom:link href="http://www.xpresslearn.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xpresslearn.com</link>
	<description>Solutions to your Networking and Security questions</description>
	<lastBuildDate>Fri, 05 Feb 2010 01:19:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>General Cisco Security Best Practices</title>
		<link>http://www.xpresslearn.com/cisco/general/general-cisco-security-best-practices</link>
		<comments>http://www.xpresslearn.com/cisco/general/general-cisco-security-best-practices#comments</comments>
		<pubDate>Mon, 25 Jan 2010 00:57:18 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=271</guid>
		<description><![CDATA[A list of commands for adding to your configuration template the next time you configure a Cisco device.]]></description>
			<content:encoded><![CDATA[<p>There are several general configuration items that should be configured on all Cisco devices running standard IOS.  Some layer2 only switches will ignore a few of the commands in this article that are layer3 specific.</p>
<p>The first place to start is with the service commands</p>
<pre>service password-encryption</pre>
<p><strong>Explanation:</strong></p>
<p>The router administrator will ensure passwords are not viewable when displaying the router configuration. Type 5 encryption must be used for the enable mode password.</p>
<pre>no service udp-small-servers
no service tcp-small-servers</pre>
<p><strong>Explanation:</strong></p>
<p>All IOS versions above 12.0 has small-servers disabled by default.  However, it is good to make sure these services didn&#8217;t get enabled somewhere along the way.  The commands above won&#8217;t show up in the configuration, since they are off by default.  Cisco IOS provides these &#8220;small services&#8221; which include echo, chargen, and discard.  These services are completely unnecessary to run on Cisco devices.</p>
<p><span id="more-271"></span></p>
<p style="text-align: center;"></p>
<pre>no service pad</pre>
<p><strong>Explanation:</strong></p>
<p>Packet Assembler Disassembler (PAD) is an X.25 component that is seldom used.  PAD acts like a multiplexer for the terminals. If enabled, it can render the device open to attacks.</p>
<pre>service tcp-keepalives-in</pre>
<p><strong>Explanation:</strong></p>
<p>Idle logged-in telnet sessions can be susceptible to unauthorized access and hijacking attacks. By default, routers do not continually test whether a previously connected TCP endpoint is still reachable. If one end of a TCP connection idles out or terminates abnormally, the opposite end of the connection may still believe the session is available. These “orphaned” sessions use up valuable router resources and can also be hijacked by an attacker. To mitigate this risk, routers must be configured to send periodic keep-alive messages to check that the remote end of a session is still connected. If the remote device fails to respond to the keep-alive message, the sending router will clear the connection and free resources allocated to the session.</p>
<pre>no service finger</pre>
<p><strong>Explanation:</strong></p>
<p>The IOS finger service supports the UNIX finger protocol, which is used for querying a host about the users that are logged on.  This would give potential attackers a head start by providing valid usernames for the device.</p>
<pre>no boot network
no service config</pre>
<p><strong>Explanation:</strong></p>
<p>The routers can find their startup configuration either in their own NVRAM or load it over the network via TFTP or Remote Copy (rcp).  Obviously, loading in from the network is taking a security risk. If the startup configuration was intercepted by an attacker, it could be used to either gain access to the router.</p>
<p>Next, let&#8217;s take a look at the various server services available in IOS.</p>
<pre>no ip http-server
no ip ftp-server
no ip tftp-server</pre>
<p><strong>Explanation:</strong></p>
<p>The services listed above are extremely insecure and serve very little useful purpose.  An ftp-server or tftp-server might be used in environments where you have one device that has a software image on it that you want to distribute to other reachable devices.  These other devices might not have connectivity to a centralized distribution server that would host images for software upgrades, therefore making it convenient to use a router in order to get the job done.  If these services are used, it should only be in a temporary capacity and need to be disabled before logging out of the device.</p>
<pre>no ip bootp server</pre>
<p><strong>Explanation:</strong></p>
<p>Bootp is a user datagram protocol (UDP) that can be used by Cisco routers to access copies of Cisco IOS Software on another Cisco router running the Bootp service. In this scenario, one Cisco router acts as a Cisco IOS Software server that can download the software to other Cisco routers acting as Bootp clients. In reality, this service is rarely used and can allow an attacker to download a copy of a routers Cisco IOS Software.</p>
<pre>no ip source-route</pre>
<p><strong>Explanation:</strong></p>
<p>Source routing is a feature of IP, whereby, individual packets can specify routes. This feature is used in several different network attacks.  The router should always control how traffic is routed as apposed to be told to trust a path that is provided from another source.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/general/general-cisco-security-best-practices/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Security Guides available from the DoD</title>
		<link>http://www.xpresslearn.com/security/security-guides-available-from-the-dod</link>
		<comments>http://www.xpresslearn.com/security/security-guides-available-from-the-dod#comments</comments>
		<pubDate>Wed, 12 Aug 2009 02:37:25 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=246</guid>
		<description><![CDATA[Using Department of Defense security material that is freely available to anyone in order to secure your networks and host platforms]]></description>
			<content:encoded><![CDATA[<p>In corporate environments, I.T. professionals are constantly trying to adhere to the latest guidelines that apply to the line of business they are a part of.&#160; Most organizations are guided by one or more of the following:&#160; HIPPA (Healthcare), PCI (Credit Card Industry), and SOX among others.&#160; These guidelines definitely overlap with each other in areas.&#160; If your privileged enough to have to satisfy more than one of these governing bodies, many times an issue addressed in one will also address the same issue in another.&#160; The overlap exists largely because all of these guidelines are based on &#8216;best practices&#8217;.&#160; When you have a list of these best practices available to audit against, it allows you to score yourself before the formal audits happen that are required by the various governing bodies.&#160; It is also wise to be aware of the best practices before implementing a new system, in order to prevent having to go back and revisit after the implementation.</p>
<p>The good news is there are resources available to anyone and are provided by Defense Information Systems Agency (DISA) which is a government agency that is part of the Department of Defense (DoD). These guides are separated into two different types: One set is called Security Technical Informational Guides (STIG) and the other is called Security Checklists.&#160; These guides are developed to provide guidance for people who build and manage DoD networks.&#160; They are also used in audits performed within Department of Defense networks.</p>
<p>None of the DoD offered materials has anything to do with HIPPA, PCI, SOX, etc. on the surface, but the thing they do have in common is they are focused on security best practices.&#160; In my experience dealing with HIPPA, PCI, SOX, and DoD networks, using these guides as a reference to secure a network or platform will cover 90+% of anything that would come up in a HIPPA, PCI, or SOX audit.</p>
<p> <span id="more-246"></span>
<p align="center"></p>
<p>These guides are available publicly to anyone and are considered unclassified material in their currently offered form.</p>
<p>Use the following link to browse the security checklists, find one that addresses your area of interest and download.&#160; All unpacked files are in .pdf format.</p>
<p><a href="http://iase.disa.mil/stigs/checklist/index.html">http://iase.disa.mil/stigs/checklist/index.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/security/security-guides-available-from-the-dod/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco TACACS server for Windows v2</title>
		<link>http://www.xpresslearn.com/tools/software-tools/cisco-tacacs-server-for-windows-v2</link>
		<comments>http://www.xpresslearn.com/tools/software-tools/cisco-tacacs-server-for-windows-v2#comments</comments>
		<pubDate>Sun, 12 Apr 2009 02:52:44 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Cisco ACS]]></category>
		<category><![CDATA[tacacs windows]]></category>
		<category><![CDATA[tacacs+]]></category>
		<category><![CDATA[tac_plus]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=223</guid>
		<description><![CDATA[Have you wanted to run a tacacs+ server on Windows, but didn't have the budget for Cisco ACS or another commercial TACACS+ server?  Cisco offers the source code to a freeware version of tacacs+.  However, the code has typically been compiled for Unix platforms and other related variants.  This is version 2 of a previous version posted on this site.]]></description>
			<content:encoded><![CDATA[<p>Finally, an update (well, sort of) to the Cisco TACACS server for Windows that was provided <a href="http://www.xpresslearn.com/tools/software-tools/cisco-tacacs-server-for-windows">here</a>.  The first version provided on this site was compiled from the original 4.0.4 Cisco version of tac_plus.</p>
<p>This version is actually based on 4.03, but has many added features that doesn&#8217;t exist in the 4.0.4 Cisco release.  The version given to this particular code distribution is F4.0.3.alpha-9a.</p>
<p>It runs just like the other version, (yes, with all the same qwerks as well) with additional options available to you.</p>
<p style="text-align: center;"></p>
<p style="text-align: left;"><span id="more-223"></span></p>
<p><a href="http://www.xpresslearn.com/wp-content/uploads/2009/04/tacacs.zip">Cisco tacacs+ server for Windows</a></p>
<p>Have fun, and if you successfully use any of the additional features &#8211; be sure to post a comment to let me and others know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/tools/software-tools/cisco-tacacs-server-for-windows-v2/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Network link redundancy using BVI</title>
		<link>http://www.xpresslearn.com/cisco/general/network-link-redundancy-using-bvi</link>
		<comments>http://www.xpresslearn.com/cisco/general/network-link-redundancy-using-bvi#comments</comments>
		<pubDate>Mon, 10 Nov 2008 03:53:01 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bvi]]></category>
		<category><![CDATA[redundant link]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=222</guid>
		<description><![CDATA[Cisco devices functioning as a gateway can have link redundancy without running routing protocols.  Configuring Integrated Routing and Bridging allows two interfaces to be bridged together along with an associated virtual interface that serves as the routed interface.]]></description>
			<content:encoded><![CDATA[<p>When designing a robust network, the requirement that should make the top of the list is redundancy.  Most of the time, this is pretty easy.  When linking switches together, connect multiple links.  When connecting servers to the network, using multiple network adapters with teaming is the norm.  Connecting more than one interface on a router for redundancy is usually a little different.  Most of the time, you would take two interfaces on a router and assign an IP network to each and use a routing protocol for interacting with other connected routers for link selection.  However, there are some devices that are router types that don&#8217;t perform routing functions. </p>
<p>IOS devices functioning as some type of gateway comes to mind as a type of device that won&#8217;t route traffic &#8211; however network redundancy to the device is still desired.  In this example, a Cisco VG224 is used in a network to provide dial tone to analog devices over an IP network.  The VG224 gateway has multiple interfaces and does have the ability to run a routing protocol for reachability, but would be considered a bloated solution just to provide redundant network connections to the device.</p>
<p>In this example, we will accomplish network link redundancy by using a feature called Integrated routing and bridging or IRB for short.  In an IRB configuration, multiple physical interfaces are assigned to a common bridge group.  The two interfaces then form a bridge what communicates with a bridge virtual interface.  The device IP address then gets assigned to the virtual interface.</p>
<p><span id="more-222"></span></p>
<p style="text-align: center;"></p>
<p>As with any bridge, loop detection is necessary to prevent problems in the network.  Spanning tree is configured on the specific bridge which will communicate with the connected access switches.  In this particular scenario, we would never want this bridge to become the root for the connected network.  Therefore it is important to specify a priority, even though it is optional, to influence the root bridge selection process.</p>
<p>To get started, specify a bridge number and spanning tree protocol used.  The ieee option is the only real valid choice here, which is the 802.1D standard spanning tree.</p>
<pre>GW-VG224-01(config)#bridge 1 protocol ?
  dec          DEC protocol
  ibm          IBM protocol
  ieee         IEEE 802.1 protocol
  vlan-bridge  vlan-bridge protocol

GW-VG224-01(config)#bridge 1 protocol ieee</pre>
<p>Every bridge that participates in a spanning-tree domain goes through the root bridge election process. Specify the highest bridge priority for influencing the election process to not select this device as a root bridge:</p>
<pre>GW-VG224-01(config)#bridge 1 priority ?
  &lt;0-65535&gt;  Priority (low priority more likely to be root)

GW-VG224-01(config)#bridge 1 priority 65535</pre>
<p>This device in this example has two Fast Ethernet interfaces.  Assign both of these physical interfaces to the bridge group number previously assigned:</p>
<pre>GW-VG224-01(config)#int fa0/0
GW-VG224-01(config-if)#bridge-group 1
GW-VG224-01(config-if)#int fa0/1
GW-VG224-01(config-if)#bridge-group 1</pre>
<p style="text-align: center;"></p>
<p>Specify the use of irb:</p>
<pre>GW-VG224-01(config)#bridge ?
  &lt;1-255&gt;            Bridge Group number for Bridging.
  crb                Concurrent routing and bridging
  irb                Integrated routing and bridging
  mac-address-table  MAC-address table configuration commands

GW-VG224-01(config)#bridge irb</pre>
<p>Enter interface configuration mode for the virtual interface that is created.  This interface is where the layer3 configuration goes:</p>
<pre>GW-VG224-01(config)#int bvI ?
  &lt;1-255&gt;  BVI interface number

GW-VG224-01(config)#int bvI 1
GW-VG224-01(config-if)#ip address 10.32.16.20 255.255.255.0</pre>
<p>Traffic will not be forwarded until the bridge is configured to route the IP traffic through this virtual bridge.</p>
<pre>GW-VG224-01(config)#bridge 1 route ?
  ip  IP
GW-VG224-01(config)#bridge 1 route ip</pre>
<p>Lastly, take the physical interfaces out of shutdown mode:</p>
<pre>GW-VG224-01(config-if)#int fa0/0
GW-VG224-01(config-if)#no shut
GW-VG224-01(config-if)#int fa0/1
GW-VG224-01(config-if)#no shut</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/general/network-link-redundancy-using-bvi/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upgrade to a modular IOS image</title>
		<link>http://www.xpresslearn.com/cisco/switching/upgrade-to-a-modular-ios-image</link>
		<comments>http://www.xpresslearn.com/cisco/switching/upgrade-to-a-modular-ios-image#comments</comments>
		<pubDate>Thu, 16 Oct 2008 02:52:55 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[Switching]]></category>
		<category><![CDATA[6500]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[Modular]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=200</guid>
		<description><![CDATA[Cisco IOS Software Modularity is available for the two newest Supervisor modules, the Sup720 and Sup32,  which go into the Cisco 6500 series platform.  Basically, by using the modular IOS, the switch runs more efficiently.  This is accomplished by splitting up major components inside the IOS into separate subsystems, which will run in different processes. [...]]]></description>
			<content:encoded><![CDATA[<p>Cisco IOS Software Modularity is available for the two newest Supervisor modules, the Sup720 and Sup32,  which go into the Cisco 6500 series platform.  Basically, by using the modular IOS, the switch runs more efficiently.  This is accomplished by splitting up major components inside the IOS into separate subsystems, which will run in different processes.  The modularity also allows the patching of portions of the IOS, without having to install an entirely new IOS.  Think about this: How many times have you installed a new IOS image to fix a specific bug, but the new software caused a problem in another area that was previously not broken?  Now, fixing issues by only patching the part of the software with a problem helps insure the rest of the device&#8217;s operation will continue to operate as it did in the past.</p>
<p>A new feature that comes along with the modular image is the inclusion of Cisco Embedded Event Manager (EEM).  This feature allows the EEM process to &#8216;catch&#8217; a defined event and then spawn an action from that raised event.  For example, the device can generate and send an email when the CPU goes over a certain percentage for a period that is longer than a defined threshold.  The engine behind this functionality is controlled using the Python scripting language.  Using Python to write these embedded event handlers provides some powerful capabilities at your fingertips.<br />
<span id="more-200"></span></p>
<p style="text-align: center;"></p>
<p>This article wasn&#8217;t really intended to help you decide on using the IOS modularity option, but to explain the upgrade/conversion process.  The first thing to do is obtain the proper image from CCO.  The modular version has the same feature sets and versions available just like the native IOS versions do.  Just pick the right modular image based on your hardware and services needed just like you would any other time.</p>
<p>Once you have downloaded the image, upload it to storage that is available on the (primary) supervisor.  Before the &#8216;installation&#8217; of the modular IOS, the supervisor has to boot from it first, like it would any other image.  In fact, the switch can load the modular IOS .bin file and run just like it was the non-modular version.  However, this would defeat the purpose, since patching is not available until the installation has been performed and the system rebooted.</p>
<p>Put a boot statement in the configuration pointing it to the .bin file that was just uploaded to storage and reload the switch.  Once the switch is back up running on the new image here is where it starts to get fun&#8230;</p>
<p>Let&#8217;s look at the output of the <strong>show version</strong> command after the switch has booted the new IOS image:</p>
<pre>6500switch#sh version
Cisco IOS Software, s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-VM),
Version 12.2(33)SXH3a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2008 by Cisco Systems, Inc.
Compiled Wed 24-Sep-08 14:37 by prod_rel_team

ROM: System Bootstrap, Version 12.2(17r)SX5, RELEASE SOFTWARE (fc1)

6500switch uptime is 14 hours, 53 minutes
Uptime for this control processor is 14 hours, 52 minutes
Time since 6500switch switched to active is 14 hours, 52 minutes
System returned to ROM by reload at 23:22:24 CDT Tue Oct 14 2008
 (SP by reload)
System image file is "disk0:s72033-advipservicesk9_wan-vz.122-33.SXH3a.bin"

cisco WS-C6506-E (R7000) processor (revision 1.1) with
516096K/8192K bytes of memory.
SR71000 CPU at 600Mhz, Implementation 1284, Rev 1.2, 512KB L2 Cache
Last reset from s/w reset
1 Virtual Ethernet interface
52 Gigabit Ethernet interfaces
1917K bytes of non-volatile configuration memory.

65536K bytes of Flash internal SIMM (Sector size 512K).
Configuration register is 0x2102

Patching is not available since the system is not running from an
installed image. To install please use the "install file" command</pre>
<p>Take a look at the last couple of lines of the output.  This output is telling you to run the &#8216;install file&#8217;  command in order to install the image.  The installation procedure creates a directory structure on the file system specified in the install command.  In this example, the image is running from flash installed in slot0:, which is known to the switch as disk0:.  We are going to install onto the sup-bootdisk0: flash, which is an compact flash module installed internally with a <a href="http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/hardware/Config_Notes/78_17277.html">compact flash adapter</a> that replaces the SP bootflash on the supervisor.  Cisco recommends the modular installation use internal storage, because it is too easy to eject the flash from the slots on the front of the supervisor &#8211; which would cause the switch to crash.<br />
<!--more--></p>
<p style="text-align: center;"></p>
<p>The command to start the process will be:  <strong>install file disk0:s72033-advipservicesk9_wan-vz.122-33.SXH3a.bin sup-bootdisk0:/sys</strong> .  The syntax is basically the source image to use then the destination.  Notice the /sys at the end of the destination, which is a required argument and is called the search root.  The search root is basically just a top level directory and valid entries are: sys|newsys|oldsys .  Below is a normal output during the installation:</p>
<pre>6500switch#install file disk0:s72033-advipservicesk
9_wan-vz.122-33.SXH3a.bin sup-bootdisk:/sys
Source filename [s72033-advipservicesk9_wan-vz.122-33.SXH3a.bin]?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Verifying checksums of extracted files

Verifying installation compatibility

Finalizing installation ...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Computing and verifying file checksums
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Writing installation meta-data.  Please wait ...

NOTE: The newly added base image is not yet active.
      To activate the new base image, perform an 'install bind' in
      config mode followed by a 'reload'.

[DONE]

6500switch#</pre>
<p>The last thing you see is a note on how to activate the new base image.  The correct command in this example is: 6509switch(config)#<strong>install bind sup-bootdisk:/sys</strong> .  Notice this command is done from configuration mode.  This command basically just adds a boot statement in the switch configuration pointing to the new modular image.  Here is the output from the install bind command:</p>
<pre>6500switch(config)#install bind sup-bootdisk:/sys
WARNING: This system is running in a redundant mode.  However, the specified
search root on the Standby does not contain installed software, or is unavailable.
Unless the proper software is installed on the Standby,
it will not boot from this binding</pre>
<p>The message we received above was due to the fact the example system was running dual supervisor modules.  If you have a single supervisor, this message will not display.  In order to get the installation onto the redundant supervisor, the process is a little simpler.  There is a copy command that will copy the existing installation on sup-bootflash0:/sys to the redundant supervisor&#8217;s file system.  The following is all that is required to insure the secondary supervisor can boot successfully:</p>
<pre>6500switch#install copy sup-bootdisk:/sys slavesup-bootdisk:/sys
Copying installed software at sup-bootdisk:/sys to slavesup-bootdisk:/sys
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[DONE]</pre>
<p>A look at the running configuration shows the following:</p>
<pre>6500switch#show run</pre>
<pre>boot-start-marker
boot system flash disk0:s72033-advipservicesk9_wan-vz.122-33.SXH3a.bin
boot system flash sup-bootdisk:
boot system sup-bootdisk:/sys/s72033/base/s72033-advipservicesk9_wan-vm
boot-end-marker</pre>
<p>As you can see, the install bind command will not remove any of the previous boot statements.  In all the upgrades I have performed so far, I have went ahead and removed all the old boot statements, just to make sure the supervisor boots correctly.</p>
<pre>6500switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
6500switch(config)#no boot system flash disk0:s72033-advipservicesk9_wan-vz.122-33.SXH3a.bin
6500switch(config)#no boot system flash sup-bootdisk:
6500switch(config)#end
6500switch#wr
Building configuration...
[OK]
6500switch#sh boot
BOOT variable = sup-bootdisk:/sys/s72033/base/s72033-advipservicesk9_wan-vm,12;
CONFIG_FILE variable =
BOOTLDR variable =
Configuration register is 0x2102

Standby is up
Standby has 524288K/8192K bytes of memory.

Standby BOOT variable = sup-bootdisk:/sys/s72033/base/s72033-advipservicesk9_wan-vm,12;
Standby CONFIG_FILE variable =
Standby BOOTLDR variable =
Standby Configuration register is 0x2102</pre>
<p>The last thing to do is reload the switch:</p>
<pre>6500switch#reload
Proceed with reload? [confirm]</pre>
<p>Once the switch is back up, the output of show version now looks like:</p>
<p><!--more--></p>
<p style="text-align: center;"></p>
<pre>6500switch# sh ver
Cisco IOS Software, s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-VM),
 Version 12.2(33)SXH3a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2008 by Cisco Systems, Inc.
Compiled Wed 24-Sep-08 14:37 by prod_rel_team

ROM: System Bootstrap, Version 12.2(17r)SX5, RELEASE SOFTWARE (fc1)

 6500switch uptime is 8 minutes
Uptime for this control processor is 7 minutes
Time since 6500switch switched to active is 7 minutes
System returned to ROM by reload at 15:07:48 CDT Wed Oct 15 2008 (SP by reload)
System image file is "sup-bootdisk:/sys/s72033/base/s72033-advipservicesk9_wan-vm"

cisco WS-C6506-E (R7000) processor (revision 1.1) with 516096K/8192K bytes of memory.
SR71000 CPU at 600Mhz, Implementation 1284, Rev 1.2, 512KB L2 Cache
Last reset from s/w reset
1 Virtual Ethernet interface
52 Gigabit Ethernet interfaces
1917K bytes of non-volatile configuration memory.

65536K bytes of Flash internal SIMM (Sector size 512K).
Configuration register is 0x2102

System is currently running from installed software
For further information use "show install running"</pre>
<p>To look at the actual software versions along with any patch information, issue the <strong>show install running</strong> command:</p>
<pre>6500switch#show install running

B/P C State     Filename
--- - --------  --------

Software running on card installed at location s72033_rp - Slot 6 :
 B    Active    slavesup-bootdisk:/sys/s72033_rp/base/DRACO2_MP

Software running on card installed at location s72033 - Slot 5 :
 B    Active    sup-bootdisk:/sys/s72033/base/s72033-advipservicesk9_wan-vm -
Version 12.2(33)SXH3a

Software running on card installed at location s72033_rp - Slot 5 :
 B    Active    sup-bootdisk:/sys/s72033_rp/base/DRACO2_MP

Software running on card installed at location c2_lc - Slot 1 :
 B    Active    sup-bootdisk:/sys/c2_lc/base/C2LC

Software running on card installed at location s72033 - Slot 6 :
 B    Active    slavesup-bootdisk:/sys/s72033/base/s72033-advipservicesk9_wan-vm -
Version 12.2(33)SXH3a

LEGEND:
-------:
B/P/MP - (B)ase image, (P)atch, or (M)aintenance (P)ack
'C' - (C)ommitted
Pruned - This file has been pruned from the system
Active - This file is active in the system
PendInst - This file is set to be made available to run on the
   system after next activation.
PendRoll - This file is set to be rolled back after next activation.
InstPRel - This file will run on the system after next reload
RollPRel - This file will be removed from the system after next reload
RPRPndIn - This file is both rolled back pending a reload, and pending
   installation.  On reload, this file will not run and will move to
   PendInst state.  If 'install activate' is done before reload, pending
   removal and install cancel each other and file simply remains active
IPRPndRo - This file is both installed pending a reload, and pending rollback.
   If the card reloads, it will be active on the system pending a rollback
   If 'install activate' is done before a reload, the pending install and
   removal with cancel each other and the file will simply be removed
Occluded - This file has been occluded from the system,
   a newer version of itself has superceded it.

6500switch#</pre>
<p>All things considered, this is a pretty easy upgrade &#8211; just take your time and make sure each step is followed carefully.  I would recommend allocating 1.5 hours for the first upgrade performed.  Once you&#8217;re familiar with the process, it can be done in half that time and even quicker if the image is transferred to a filesystem on the switch prior to performing the upgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/switching/upgrade-to-a-modular-ios-image/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Automate Cisco commands from Windows</title>
		<link>http://www.xpresslearn.com/cisco/general/automate-cisco-commands-from-windows</link>
		<comments>http://www.xpresslearn.com/cisco/general/automate-cisco-commands-from-windows#comments</comments>
		<pubDate>Tue, 07 Oct 2008 01:40:54 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[plink]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=150</guid>
		<description><![CDATA[In the previous article, Running commands on a Cisco device from the Windows command line , I wrote on how to run commands from the Windows command line against a Cisco device.  The article was based on using the Unix utility rsh aka Remote Shell.  The biggest downfall of using rsh is the security issues around [...]]]></description>
			<content:encoded><![CDATA[<p>In the previous article, <a title="Permanent Link to Running commands on a Cisco device from the Windows command line" rel="bookmark" href="http://www.xpresslearn.com/cisco/running-commands-on-a-cisco-device-from-the-windows-command-line">Running commands on a Cisco device from the Windows command line</a> , I wrote on how to run commands from the Windows command line against a Cisco device.  The article was based on using the Unix utility rsh aka Remote Shell.  The biggest downfall of using rsh is the security issues around the protocol.  How about another method of doing the same thing, but with using a more secure process?</p>
<p>Anyone who has worked around any network device knows about putty.  It is one of the greatest gifts given to a network/system administrator.  One of the biggest reasons behind the popularity of this program is the cost, which is *free*&#8230;  Add tons and tons of functionality on top of that and you have yourself a winner for one of the greatest proggies of all times!  Putty has a sister program that is called plink.  Like putty, plink is a standalone executable that is capable of accessing remote devices using telnet or ssh.  Plink is basically used in place of putty when you want the input/output of the program to use STDIN/STDOUT.  So, for example you can open a command prompt, invoke plink and connect to a device.  The interaction with the session will look just as if it would when using the telnet.exe from the XP/Vista command line.  One of the features of plink is that it can share the saved sessions created in Putty.  By default, putty will use the Windows registry to store saved connection information.  However, the configuration can be changed to store the sessions in the local file system.</p>
<p>In this initial example, lets configure a router to accept an incoming ssh connection with a locally defined username/password combination.  The basic IOS configuration to accomplish this task will look like the following:<br />
<span id="more-150"></span><br />
</p>
<pre>R1(config)#int fa0/0
R1(config-if)#ip address 10.1.100.1 255.255.255.0
<strong>! Define the hostname on the router - required for enabling ssh</strong>
Router(config)#hostname R1
<strong>! Define the domain name on the router - required for enabling ssh</strong>
R1(config)#ip domain-name xpresslearn.com
<strong>! Generate encryption keys for use with ssh</strong>
R1(config)#crypto key generate rsa general-keys
The name for the keys will be: R1.xpresslearn.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]:
% Generating 512 bit RSA keys, keys will be non-exportable...[OK]
<strong>! Use the latest version of ssh</strong>
R1(config)#ip ssh version 2
<strong>! Locally defined username on the router</strong>
R1(config)#username xpresslearn privilege 15 secret pa55w0rd
<strong>! Enable aaa</strong>
R1(config)#aaa new-model
<strong>! Set all logins by default to use the local username entries</strong>
R1(config)#aaa authentication login default local
<strong>! Use the priviledge level defined in the local username statement</strong>
R1(config)#aaa authorization exec default local</pre>
<p>Now, from the command line, let&#8217;s use the plink.exe program to show the interfaces of the Cisco device. But first, lets take a look at the options available from the plink executable:</p>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 457px"><a href="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-options.gif"><img class="size-full wp-image-161" title="Plink command options" src="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-options.gif" alt="Command line options for plink.exe" width="447" height="481" /></a><p class="wp-caption-text">Command line options for plink.exe</p></div>
<p>As you can see, one of the options is a -m to run remote commands from a file.  In order to automatically run commands without interaction, the commands you want to run need to be inserted into a text file.</p>
<div id="attachment_163" class="wp-caption aligncenter" style="width: 355px"><a href="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-commands.gif"><img class="size-full wp-image-163" title="Automating commands in Cisco IOS for use with Plink" src="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-commands.gif" alt="Text file to use with plink.exe" width="345" height="326" /></a><p class="wp-caption-text">Text file to use with plink.exe</p></div>
<p>Now, run the program with the proper command line options.  Which in the following example is:</p>
<p>- Use ssh to connect<br />
- Connect with the username xpresslearn<br />
- The IP address of the device we are connecting is 10.1.100.1<br />
- use the password pa55w0rd<br />
- run the commands contained in the file called plink-commands.txt that resides in the current directory.</p>
<div id="attachment_166" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-batch.gif"><img class="size-full wp-image-166" title="Running plink.exe in batch mode" src="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-batch.gif" alt="Running plink.exe in batch mode" width="500" height="195" /></a><p class="wp-caption-text">Running plink.exe in batch mode</p></div>
<p>As you can see, the output from the command is displayed as standard program output.  This output can just as easily be piped to a text file.  Next, let&#8217;s use this method to back up the configuration of the router.  First, we will put the proper commands in the text file for batch processing.</p>
<div id="attachment_168" class="wp-caption aligncenter" style="width: 358px"><a href="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-commands2.gif"><img class="size-full wp-image-168" title="Plink commands for configuration backup" src="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-commands2.gif" alt="Backup cisco configuration via plink.exe" width="348" height="330" /></a><p class="wp-caption-text">Backup cisco configuration via plink.exe</p></div>
<p>Now, run plink.exe with the same command line options and add the pipe to end:</p>
<div id="attachment_169" class="wp-caption aligncenter" style="width: 509px"><a href="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-batch2.gif"><img class="size-full wp-image-169" title="Router backup via Plink" src="http://www.xpresslearn.com/wp-content/uploads/2008/09/plink-batch2.gif" alt="Router backup using plink.exe" width="499" height="553" /></a><p class="wp-caption-text">Router backup using plink.exe</p></div>
<p>So we ran plink with the commands in the text file and piped them to a file called R1.txt.  In the above screen shot, you can see where we view the text file after the program has executed.  The text file contains the complete configuration of the device, which was displayed using the show run command.  FYI: the term length 0 command is used to prevent paging when showing the running configuration.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/general/automate-cisco-commands-from-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading Staging Hardware</title>
		<link>http://www.xpresslearn.com/cisco/general/upgrading-staging-hardware</link>
		<comments>http://www.xpresslearn.com/cisco/general/upgrading-staging-hardware#comments</comments>
		<pubDate>Thu, 04 Sep 2008 16:27:14 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[tftp server]]></category>
		<category><![CDATA[upgrade IOS]]></category>
		<category><![CDATA[usb drive]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=135</guid>
		<description><![CDATA[This article explains how to use a router and USB flash drive instead of a PC in staging areas where you need to upgrade software on other network devices before deployment.]]></description>
			<content:encoded><![CDATA[<p>With the addition of USB ports on the newer Cisco routers, it has made it much easier to load IOS upgrades in staging areas &#8211; where equipment is being configured prior to being installed.  In the past, having a PC either directly connected to the staging equipment or plugged into the same network as the device was the way to upgrade the IOS using tftp.  Sometimes that staging area is a cubicle and causes a hassle if there isn&#8217;t a dedicated PC available for upgrades, because it means unhooking your primary pc from the network (which is the same pc needed to download all the software upgrades from cisco.com).</p>
<p>I have one USB thumb drive that is used strictly for Cisco gear.  First I started with a 256Mb freebie that come from a vendor and inserted it into a 2811 router that was up and running.  The flash was then formatted from the router to insure there would be no issues with the filesystem when using it in future Cisco devices.</p>
<pre>Router#format usbflash1:
Format operation may take a while. Continue? [confirm]
Format operation will destroy all data in "usbflash1:".  Continue? [confirm]
Format: Drive communication &amp; 1st Sector Write OK...

Format: All system sectors written. OK...

Format: Total data sectors in formatted partition: 511435
Format: Total data bytes in formatted partition: 261854720
Format: Operation completed successfully.

Format of usbflash1 complete
Router#</pre>
<p style="text-align: center;"></p>
<p><span id="more-135"></span><br />
Next the thumb drive was inserted into the pc and the IOS image copied to it.  In this scenario, a Catalyst 3560 switch is being upgraded which is connected directly to a 2811 router that will serve as the tftp server.</p>
<p>The router&#8217;s FastEthernet0/0 interface is connected to the switch, which is in the same vlan as the management interface (Vlan1) of the switch.</p>
<pre>Router#show ip int brief | exc unassigned
Interface               IP-Address      OK? Method  Status     Protocol
FastEthernet0/0         10.1.2.1        YES manual  up         up
Serial0/0/0             192.168.40.214  YES manual  down       down
Loopback1               10.254.1.18     YES manual  up         up
Router#</pre>
<p>Connectivity to the access switch is then verified using ping:</p>
<pre>Router#ping 10.1.2.5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Router#</pre>
<p>The thumb drive is then put back in the router and the contents of the usb drive is verified.</p>
<pre>Router#dir usbflash1:
Directory of usbflash1:/

    1  -rw-     8811199  Sep 04 2008 10:18:38 +00:00  c3560-ipbasek9-mz.122-46.SE.bin

261853184 bytes total (252272640 bytes free)
Router#</pre>
<p><br />
Next, configure the tftp server on the router:</p>
<pre>Router(config)#tftp-server usbflash1:c3560-ipbasek9-mz.122-46.SE.bin</pre>
<p>From the switch console, we should now be able to perform an IOS upgrade using the connected router as the tftp source:</p>
<pre>Switch#copy tftp://10.1.2.1/c3560-ipbasek9-mz.122-46.SE.bin flash:
Destination filename [c3560-ipbasek9-mz.122-46.SE.bin]?
Accessing tftp://10.1.2.1/c3560-ipbasek9-mz.122-46.SE.bin...
Loading c3560-ipbasek9-mz.122-46.SE.bin from 10.1.2.1 (via Vlan1): !!!!!!!!!!!!!!!&lt;truncated&gt;
[OK - 8811199 bytes]

8811199 bytes copied in 151.591 secs (58125 bytes/sec)
Switch#</pre>
<p>Using the router as a tftp server along with the removable storage proves to be a convinient method for upgrading other IOS devices in situations where a spare pc is not readily available.  Don&#8217;t forget to clean up the router after your finished by removing the tftp-server command.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/general/upgrading-staging-hardware/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynagen Configuration using Etherchannel</title>
		<link>http://www.xpresslearn.com/tools/dynamips/dynagen-configuration-using-etherchannel</link>
		<comments>http://www.xpresslearn.com/tools/dynamips/dynagen-configuration-using-etherchannel#comments</comments>
		<pubDate>Thu, 10 Jul 2008 20:43:47 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[Dynamips]]></category>
		<category><![CDATA[Etherchannel]]></category>
		<category><![CDATA[GNS3]]></category>
		<category><![CDATA[Router Subinterface]]></category>
		<category><![CDATA[Vlan Trunking]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=123</guid>
		<description><![CDATA[This is a configuration file to use with Dynagen and Dynamips. It’s purpose is to allow a particular router combination to be emulated, saving the time in having to craft the Dynagen file yourself. This network consists of one 7200 router and another 3640 router serving the function of a switch.]]></description>
			<content:encoded><![CDATA[<p><strong>Network Drawing:</strong></p>
<p style="text-align: center;"><img class="size-full wp-image-125" title="Dynagen Network using Etherchannel" src="http://www.xpresslearn.com/wp-content/uploads/2008/07/etherchannel.png" alt="Dynagen Network Drawing" width="500" height="131" /></p>
<p><strong>Router Platform(s):</strong> 7200, 3600<br />
<strong>IOS Version:</strong> 12.4(11)T1, 12.4(18)<br />
<strong>IOS Feature Set:</strong> Service Provider, Enterprise<br />
<strong> IOS File Name:</strong> c7200-spservicesk9-mz.124-11.T1.bin, c3640-js-mz.124-18.uncompressed.bin<br />
<strong>idlepc</strong>: 0&#215;61280c1c, 0&#215;60428c4c<br />
<strong>IOS Image Uncompressed before use:</strong> Yes , Yes<br />
<strong>IOS Memory Requirements:</strong> 256Mb, 128Mb<br />
<strong>Average Dynamips.exe CPU Utilization:</strong> 30%</p>
<p><span id="more-123"></span></p>
<p style="text-align: center;"></p>
<p><strong>Comments:</strong></p>
<p>The configuration in this article contains two devices, one 7200 serving as the router and one 3600 used as a network switch.  The point of this lab is to demonstrate the use of Etherchannel and also Vlan Trunking in an Etherchannel configuration (2 separate scenarios).  There are two .net configuration files included.  One file contains the 7200 setup with etherchannel and the 3640 acting as the switch has the etherchannel interfaces in access mode (assigned to vlan 10).  The other .net file is basically the same scenario, with Vlan Trunking added.</p>
<p><strong>Other Notes:</strong></p>
<p>You will need to create vlan 10 on the 3640 after it boots.  You can do this by getting to an enable prompt and typing:</p>
<pre>vlan database
vlan 10
exit</pre>
<p>Failure to do this will prevent you from pinging the layer3 interface configured on the 3640 from the 7200 router.</p>
<p><strong>Link to configuration files:</strong></p>
<p><a href="http://www.xpresslearn.com/wp-content/uploads/2008/07/etherchannel-trunk.zip">Dynagen GNS3 configuration files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/tools/dynamips/dynagen-configuration-using-etherchannel/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Etherchannel Router Interfaces</title>
		<link>http://www.xpresslearn.com/cisco/general/etherchannel-router-interfaces</link>
		<comments>http://www.xpresslearn.com/cisco/general/etherchannel-router-interfaces#comments</comments>
		<pubDate>Fri, 27 Jun 2008 03:54:18 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Etherchannel]]></category>
		<category><![CDATA[Port Channel]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=117</guid>
		<description><![CDATA[To increase bandwidth on a given Cisco network device, typically etherchannel technology is used to accomplish this task. In most scenarios, etherchannel is used between two switches to provide additional bandwidth to the uplink connections. In less common instances, Network cards in servers that have drivers supporting the proprietary technology will be configured for etherchannel. [...]]]></description>
			<content:encoded><![CDATA[<p>To increase bandwidth on a given Cisco network device, typically etherchannel technology is used to accomplish this task. In most scenarios, etherchannel is used between two switches to provide additional bandwidth to the uplink connections. In less common instances, Network cards in servers that have drivers supporting the proprietary technology will be configured for etherchannel. The requirement is usually to increase bandwidth available on a link between two devices.</p>
<p>Etherchannel has not been used nearly as much for such requirements as redundancy, because there is a limitation on all the interfaces that belongs to an etherchannel group, each interface has to be plugged into the same switch. The stackable 3750 switches have allowed a little more redundant ability, in the sense that you can have two switches stacked via the stackwise ports in the back of the switch, which basically extends the backplane. By doing this, you are allowed to have an Etherchannel interface plugged into two different switches (as long as they are stacked). Let&#8217;s take a look at an example diagram for clarification:</p>
<p style="text-align: center;"><img class="aligncenter" title="Router with two Interfaces in Etherchannel configuration" src="http://www.xpresslearn.com/wp-content/uploads/2008/06/routeretherchannel.gif" alt="" /></p>
<p>Let&#8217;s take a look at the router configuration to accomplish the task of adding bandwidth.</p>
<p><span id="more-117"></span></p>
<p style="text-align: center;"></p>
<pre>interface Port-channel1
ip address 192.168.50.1 255.255.255.0
!
interface FastEthernet0/0
duplex full
speed 100
channel-group 1
!
interface FastEthernet0/1
duplex full
speed 100
channel-group 1</pre>
<p>Next, the switch configuration:</p>
<pre>interface Port-Channel1
switchport
switchport access vlan 10
switchport mode access
!
interface FastEthernet0/1
switchport
switchport access vlan 10
switchport mode access
channel-group 1 mode on
!
interface FastEthernet0/2
switchport
switchport access vlan 10
switchport mode access
channel-group 1 mode on</pre>
<p>This example is configured for etherchannel without also being configured as a trunk (which means the aggregated interfaces are in access mode).</p>
<p>Another common configuration that goes along with etherchannel interfaces is Vlan Trunking. The term &#8216;trunking&#8217; is often misused when referring to etherchannel use. When discussing a trunk, the meaning is an interface that carries multiple vlans across it. The terms trunking and etherchannel do not automatically go with each other.</p>
<p>The following example shows the same Etherchannel configuration as above, only this time the interfaces will also be configured as trunks in order to carry multiple vlans across the link(in this example &#8211; vlan 2,3,4,5,6, and 999).</p>
<p>First, the router configuration:</p>
<pre>interface Port-channel1
 no ip address
!
interface Port-channel1.2
 encapsulation dot1Q 2
 ip address 192.168.2.1 255.255.255.0
!
interface Port-channel1.3
 encapsulation dot1Q 3
 ip address 192.168.3.1 255.255.255.0
!
interface Port-channel1.4
 encapsulation dot1Q 4
 ip address 192.168.4.1 255.255.255.0
!
interface Port-channel1.5
 encapsulation dot1Q 5
 ip address 192.168.5.1 255.255.255.0
!
interface Port-channel1.6
 encapsulation dot1Q 6
 ip address 192.168.6.1 255.255.255.0
!
interface Port-channel1.999
 encapsulation dot1Q 999 native
!
interface FastEthernet0/0
duplex full
speed 100
channel-group 1
!
interface FastEthernet0/1
duplex full
speed 100
channel-group 1</pre>
<p>Here is the switch configuration:</p>
<pre>interface Port-Channel1
switchport
switchport trunk allowed vlan 2,3,4,5,6,999
switchport mode trunk
!
interface FastEthernet0/1
switchport
switchport trunk allowed vlan 2,3,4,5,6,999
switchport mode trunk
channel-group 1 mode on
!
interface FastEthernet0/2
switchport
switchport trunk allowed vlan 2,3,4,5,6,999
switchport mode trunk
channel-group 1 mode on</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/general/etherchannel-router-interfaces/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Policy Based Routing</title>
		<link>http://www.xpresslearn.com/cisco/routing/policy-based-routing</link>
		<comments>http://www.xpresslearn.com/cisco/routing/policy-based-routing#comments</comments>
		<pubDate>Fri, 27 Jun 2008 00:00:27 +0000</pubDate>
		<dc:creator>Scott Pilkinton</dc:creator>
				<category><![CDATA[Routing]]></category>
		<category><![CDATA[Policy based routing]]></category>
		<category><![CDATA[route-map]]></category>

		<guid isPermaLink="false">http://www.xpresslearn.com/?p=119</guid>
		<description><![CDATA[There are scenarios where it would be desirable for a host or group of hosts to take a different route through the network than what is considered the normal path.  Consider this as creating a detour of sorts, forcing an alternate route to the destination.  This can be accomplished on a selective basis, by picking [...]]]></description>
			<content:encoded><![CDATA[<p>There are scenarios where it would be desirable for a host or group of hosts to take a different route through the network than what is considered the normal path.  Consider this as creating a detour of sorts, forcing an alternate route to the destination.  This can be accomplished on a selective basis, by picking out certain hosts to apply the detour to without changing the course of other hosts on the same network.</p>
<p>The solution in this scenario is to use something called policy based routing:</p>
<p><span id="more-119"></span></p>
<p style="text-align: center;"></p>
<p>Policy-based routing provides a tool for forwarding and routing data packets based on policies defined by network administrators. In effect, it is a way to have the policy override routing protocol decisions. Policy-based routing includes a mechanism for selectively applying policies based on access list, packet size or other criteria. The actions taken can include routing  packets on user-defined routes, setting the precedence, type of service bits, etc.</p>
<p>Consider the following diagram:</p>
<p style="text-align: center;"><a href="http://www.xpresslearn.com/wp-content/uploads/2008/06/policyrouting.jpg"><img class="size-full wp-image-122 aligncenter" title="Policy Based Networking Example" src="http://www.xpresslearn.com/wp-content/uploads/2008/06/policyrouting.jpg" alt="Diagram used to illustrate Policy Based Routing" width="500" height="118" /></a></p>
<p>Host 1 and 2 both have a default gatway of the defaultRouter, which has the address of 192.168.1.1.  The default route/next hop address in defaultRouter for all traffic is 192.168.2.1, which is named LanRouter.  When Host1 pings Host3 the full path looks like:</p>
<p>Host1 &#8211;&gt; defaultRouter &#8211;&gt; LanRouter &#8211;&gt; Host3</p>
<pre>Host1#<strong>traceroute 192.168.3.100</strong>

Type escape sequence to abort.
Tracing the route to 192.168.3.100

  1 192.168.1.1 152 msec 168 msec 144 msec
  2 192.168.2.1 288 msec 256 msec 172 msec
  3 192.168.3.100 264 msec 260 msec 255 msec
Host1#</pre>
<p>Let&#8217;s say we want Host1 to take an alternate path in the network, but leave Host2 alone and allow it to continue through the original route.  A policy route will be configured on defaultRouter to look for the source address of Host1 and re-route that traffic over altLanRouter.  Any traffic sourced from Host2 will remain going through the original path via LanRouter.</p>
<p>First thing to configure is the access list that will be used to match the desired source address.</p>
<pre>defaultRouter(config)#<strong>ip access-list extended hosts-to-redirect</strong>
defaultRouter(config-ext-nacl)#<strong>permit ip</strong> ?
A.B.C.D  Source address
any      Any source host
host     A single source host

defaultRouter(config-ext-nacl)#<strong>permit ip 192.168.1.100</strong> ?
A.B.C.D  Source wildcard bits

defaultRouter(config-ext-nacl)#<strong>permit ip 192.168.1.100 0.0.0.0</strong> ?
A.B.C.D  Destination address
any      Any destination host
host     A single destination host

defaultRouter(config-ext-nacl)#<strong>permit ip 192.168.1.100 0.0.0.0 any</strong></pre>
<p>Next, create the route map and configure what to use for matching traffic, which is the access list that was previously created.  Also, configure what action to take on the traffic that is matched.</p>
<pre>defaultRouter(config-route-map)#<strong>match ip address</strong> ?
  &lt;1-199&gt;      IP access-list number
  &lt;1300-2699&gt;  IP access-list number (expanded range)
  WORD         IP access-list name
  prefix-list  Match entries of prefix-lists

defaultRouter(config-route-map)#<strong>match ip address hosts-to-redirect</strong>
defaultRouter(config-route-map)#<strong>set</strong> ?
  as-path           Prepend string for a BGP AS-path attribute
  automatic-tag     Automatically compute TAG value
  clns              OSI summary address
  comm-list         set BGP community list (for deletion)
  community         BGP community attribute
  dampening         Set BGP route flap dampening parameters
  default           Set default information
  extcommunity      BGP extended community attribute
  interface         Output interface
  ip                IP specific information
  ipv6              IPv6 specific information
  level             Where to import route
  local-preference  BGP local preference path attribute
  metric            Metric value for destination routing protocol
  metric-type       Type of metric for destination routing protocol
  mpls-label        Set MPLS label for prefix
  nlri              BGP NLRI type
  origin            BGP origin code
  tag               Tag value for destination routing protocol
  traffic-index     BGP traffic classification number for accounting
  vrf               Define VRF name
  weight            BGP weight for routing table
defaultRouter(config-route-map)#<strong>set ip</strong> ?
  address     Specify IP address
  default     Set default information
  df          Set DF bit
  next-hop    Next hop address
  precedence  Set precedence field
  qos-group   Set QOS Group ID
  tos         Set type of service field
defaultRouter(config-route-map)#<strong>set ip next-hop 192.168.2.2</strong></pre>
<p style="text-align: center;"></p>
<p>Once the route map is configured the only thing left is to apply it to the interface where the traffic comes into the router, which is FastEthernet1/0.</p>
<pre>defaultRouter(config)#<strong>int fa1/0</strong>
defaultRouter(config-if)#<strong>ip policy</strong> ?
  route-map  Policy route map

defaultRouter(config-if)#<strong>ip policy route-map</strong> ?
  WORD  Route map name

defaultRouter(config-if)#<strong>ip policy route-map altRouterRedirect</strong></pre>
<p>Now let&#8217;s take a look at the path Host1 takes to connect to Host3:</p>
<pre>Host1#<strong>traceroute 192.168.3.100</strong>

Type escape sequence to abort.
Tracing the route to 192.168.3.100

  1 192.168.1.1 112 msec 168 msec 72 msec
  2 192.168.2.2 192 msec 312 msec 336 msec
  3 192.168.3.100 288 msec 288 msec 288 msec
Host1#</pre>
<p>Now, verify that host 2 still takes the original path via LanRouter:</p>
<pre>Host2#<strong>traceroute 192.168.3.100</strong>

Type escape sequence to abort.
Tracing the route to 192.168.3.100

  1 192.168.1.1 140 msec 144 msec 144 msec
  2 192.168.2.1 192 msec 212 msec 172 msec
  3 192.168.3.100 432 msec 384 msec 360 msec
Host2#</pre>
<p>This configuration has successfully changed the path in the network of Host 1 and left the traffic sourced from Host 2 untouched.  Keep in mind that the reply traffic from R3 is going back across defaultRouter in both scenarios, this is because Host3 has a default gateway of 192.168.3.1, which is assigned to defaultRouter.  If we wanted the reply traffic from Host 3 destined to host 1 sent via altLanRouter, a policy map would need to be applied to match the destination ip address of Host 1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpresslearn.com/cisco/routing/policy-based-routing/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
