<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>packetmischief.ca</title>
	
	<link>http://www.packetmischief.ca</link>
	<description>IP Networks. Datacenter. Security. Open Source. My Blog.</description>
	<lastBuildDate>Sun, 19 Feb 2012 05:08:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/packetmischief" /><feedburner:info uri="packetmischief" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/packetmischief" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fpacketmischief" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Cisco ISE and ip http server</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/dzvXMO_qll8/</link>
		<comments>http://www.packetmischief.ca/2012/02/09/cisco-ise-and-ip-http-server/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 04:50:13 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IP and Ethernet]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[ise]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1216</guid>
		<description><![CDATA[We&#8217;re all hardcore network engineers here right? We all sling packets using nothing but the CLI on our gear? We&#8217;ve all got the &#8220;CLI OR [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re all hardcore network engineers here right? We all sling packets using nothing but the CLI on our gear? We&#8217;ve all got the &#8220;CLI OR DIE&#8221; bumper sticker? OK. We&#8217;re all on the same page then. So, when you&#8217;re configuring Cisco Identity Services Engine (ICE) and the documentation says it&#8217;s mandatory to enable &#8220;ip http server&#8221; on your switches in order to do central web authentication (CWA) (ie, the captive portal for authenticating users on guest devices) that probably makes you uncomfortable right?</p>
<p>Fear not. It&#8217;s not as bad as it sounds. I&#8217;ll explain why.</p>
<p><span id="more-1216"></span>First off, yes, the docs are correct, you do have to enable the http and https services on your access switches. CWA does not work if those commands are not present. I found the <a href="http://www.cisco.com/en/US/docs/security/ise/1.0.4/user_guide/ise10_guest_pol.html#wp1112855">admin guide</a> was weak in explaining the need for the http server when doing CWA. It&#8217;s clear that if you&#8217;re doing local web auth, where the switch is serving up the portal pages, that you need the http server turned on but it&#8217;s not totally clear you need that for CWA. The <a href="http://www.cisco.com/en/US/docs/security/ise/1.0.4/user_guide/ise10_sw_cnfg.html#wp1062904">Switch Configuration Required to Support Cisco ISE Functions </a>document does a bit better job.</p>
<p>So that&#8217;s the bad news. Here&#8217;s the good news: the users don&#8217;t actually establish an IP layer connection to the http service on the switch.</p>
<p>CWA works by redirecting the user&#8217;s browser to the web auth portal running on the ISE Policy Service Node when the user first tries to hit the web. In order for this redirection to happen transparently, the switch needs some help from the http server service. Think of enabling the http server kind of like enabling a feature that allows the switch to do Layer 7 inspection of tcp/80 and tcp/443 packets.</p>
<p>Ok, so the guest users don&#8217;t hit the http server but the service is still running which means your switches now have two extra tcp ports open on the management plane that they otherwise wouldn&#8217;t. Well, we can&#8217;t close the ports, but we can put up an ACL on the management interface which blocks incoming connections to port 80 and 443.</p>
<p><code>ip access-list extended SWITCH_MGMT<br />
deny tcp any any eq 80<br />
deny tcp any any eq 443<br />
permit ip any any</code></p>
<p>If you don&#8217;t care about the ports being open and only want to prevent management of the switch via the web UI, you can turn off the management web pages without turning off the entire http service using these commands:</p>
<p><code>ip http secure-active-session-modules none<br />
ip http active-session-modules none</code></p>
<p>So there you go. In this case, you can have your cake and eat it too.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=dzvXMO_qll8:98qss2UU4aU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=dzvXMO_qll8:98qss2UU4aU:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=dzvXMO_qll8:98qss2UU4aU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/dzvXMO_qll8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2012/02/09/cisco-ise-and-ip-http-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2012/02/09/cisco-ise-and-ip-http-server/</feedburner:origLink></item>
		<item>
		<title>VRFs and Shared Services Cheating with Junos</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/xDiaqOc7p5E/</link>
		<comments>http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 05:05:02 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IP and Ethernet]]></category>
		<category><![CDATA[campus]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[juniper]]></category>
		<category><![CDATA[vrf]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1071</guid>
		<description><![CDATA[The shared services area of the network is meant to provide common services &#8212; such as DNS, DHCP, and Internet access &#8212; to multiple logical [...]]]></description>
			<content:encoded><![CDATA[<p>The shared services area of the network is meant to provide common services &#8212; such as DNS, DHCP, and Internet access &#8212; to multiple logical networks/VRFs/customers. Cisco publishes a <a href="http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/ServEdge.html">validated design for shared services</a> that describes the use of multiple virtual firewalls and routers to provide connectivity between the shared services module and the VRFs in the network. I&#8217;m going to describe a method of collapsing the shared services firewalls and virtual routers into a single instance running on a single box using some of the features found in Juniper&#8217;s Junos platform.</p>
<p><span id="more-1071"></span>This is the third post in my series on virtual routing. Other articles in the series are</p>
<ul>
<li><a title="An Introduction to Layer 3 Traffic Isolation" href="http://www.packetmischief.ca/2011/11/29/an-introduction-to-layer-3-traffic-isolation/">An Introduction to Layer 3 Traffic Isolation</a></li>
<li><a title="Configuring VRF-Lite on IOS and Junos" href="http://www.packetmischief.ca/2012/01/05/configuring-vrf-lite-on-ios-and-junos/">Configuring VRFs on IOS and Junos</a></li>
</ul>
<h3>Shared Services Objectives</h3>
<p>The shared services module has 3 main objectives:</p>
<ol>
<li>Provide shared network services to multiple VRFs by way of common infrastructure</li>
<li>Permit select traffic exchange between VRFs and shared services resources</li>
<li>Prevent traffic exchange between VRFs</li>
</ol>
<p>The last one isn&#8217;t a reason for setting up a shared services module (ie, you don&#8217;t setup shared services in order to try and keep traffic from passing between VRFs) but instead is a very important design objective. Since the shared services module has connections into multiple VRFs and is exchanging routes with them, due care is needed to prevent the shared services area from becoming a transit path between VRFs.</p>
<p>Now, you might think that since you&#8217;re connecting your VRFs together via a common area that you&#8217;re increasing your risk of traffic crossing between VRFs (ie, guests being able to access your corporate network resources). The natural reaction is to stuff some firewalls in the mix. Filter everything in and out of the VRFs! Firewalls will keep us safe! Keep in mind though that each VRF only forwards traffic toward a destination if it has a route for that destination. As long as routes are being filtered properly in the shared services area, VRF A will not contain routes for networks in VRF B (and vice-versa). If a user sends a packet into VRF A with a destination address belonging to a network in VRF B, the worst case is that the packet will follow the default route in VRF A (which probably leads towards the Internet exit point in that VRF) and best case it will just be dropped because there is no matching route. Either way, even without a firewall, traffic does not cross from A to B.</p>
<p class="exclaim">Remember: Traffic will not be directed towards (or through) the shared services area unless there is a matching route present in a VRF&#8217;s routing table that points towards the shared services area.</p>
<p>Having said that, we can&#8217;t throw the firewall out the window. Objective #2 is to provide selective traffic exchange between VRFs and the shared services and that&#8217;s where the firewalls come in. They will be used to permit only the traffic that corresponds to the specific services that are being provided. For example, if one of the shared services is DNS, only allowing port 53 traffic into the shared services area.</p>
<h3>Cheating</h3>
<p>The basic topology for this shared services module is shown here:</p>
<p><a href="http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/vrf-ss-junos-topology/" rel="attachment wp-att-1078"><img class="aligncenter size-full wp-image-1078" title="Shared Services Topology" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/12/vrf-ss-junos-topology.png" alt="" width="403" height="470" /></a></p>
<p>The consolidated router in this topology is actually a Juniper SRX firewall running Junos and will be performing route exchange, route filtering, and firewall duties all in the same physical box and in a single firewall instance.</p>
<p>The consolidated router is configured with one routing instance for each VRF in the network. Each instance is of type &#8220;virtual-router&#8221; and is used to exchange routes with the VRFs in the network as well as containerize those routes.</p>
<p><a href="http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/vrf-ss-junos-route-exchange/" rel="attachment wp-att-1079"><img class="aligncenter size-full wp-image-1079" title="Shared Services with Junos Route Filtering" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/12/vrf-ss-junos-route-exchange.png" alt="" width="561" height="485" /></a></p>
<p>By importing explicit prefixes between each routing instance and the global, aka &#8220;master&#8221; routing instance, route filtering is achieved. The OSPF process running within each routing instance is then directed to pick up these imported prefixes and advertise them to its neighbors (which are OSPF processes running in the VRFs on the edge routers).</p>
<p><a href="http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/vrf-ss-junos-route-filter/" rel="attachment wp-att-1086"><img class="aligncenter size-full wp-image-1086" title="Shared Services Route Filtering" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/12/vrf-ss-junos-route-filter.png" alt="" width="523" height="654" /></a></p>
<p class="exclaim">OSPF has no ability to filter outgoing route updates. The edge routers could be configured with distribute lists to prevent incoming route updates from entering their routing tables however this would not prevent the prefixes from being present in the OSPF link state database. More importantly, this method creates two points of management for route filtering vs. a single point on the consolidated router.</p>
<p class="exclaim">BGP may be a better protocol to use between the consolidated router and the edge routers as it would more easily allow filtering of sent and received prefixes. It would probably remove the need for routing instances at all (thus making the design more in line with Cisco&#8217;s validated design of having a single routing table in the shared services area). However I&#8217;m basing this post on a real life deployment which actually used OSPF.</p>
<p> By employing routing instances on the consolidated router it&#8217;s possible to:</p>
<ul>
<li>Accurately filter routes in and out of the shared services area</li>
<li>Extend and reuse the concepts of virtualized routing tables which are already being used in the core of the network (and therefore something we&#8217;re already familiar with)</li>
<li>Avoid the need to manage route filtering in more than one location; everything is done on the consolidated router</li>
</ul>
<p>On top of this, a firewall policy will be deployed that permits only specific traffic based on typical 5-tuple information. So even though a VRF has full routes for the shared services area, the firewall policy will control exactly what traffic is allowed into (and out of) the area.</p>
<h3>The Configuration</h3>
<p>For brevity, I&#8217;m only going to show the configuration related to the blue VRF/routing instance. I&#8217;m also not going to show the firewall security policy as this post is meant to focus on the routing configuration.</p>
<p>First, configure the instance.</p>
<pre class="code">routing-instances {
    blue {
        instance-type virtual-router;
        interface ge-2/0/1.0;
        interface ge-3/0/1.0;
        protocols {
            ospf {
                area 0.0.0.0 {
                    interface ge-2/0/1.0;
                    interface ge-3/0/1.0;
                }
            }
        }
    }
}</pre>
<p>This gives us a basic virtual-router instance with two interfaces bound to it and OSPF running within it. The edge routers should be configured similarly with with their respective interfaces bound to the blue VRF and OSPF enabled.</p>
<p>The two interfaces ge-2/0/1.0 and ge-3/0/1.0 face the edge routers and are configured as regular point-to-point /30 interfaces.</p>
<pre class="code">interfaces {
    ge-2/0/1 {
        description "Connects to Edge Router #1";
        unit 0 {
            family inet {
                address 10.2.0.1/30;
            }
        }
    }
}</pre>
<p>At this point the blue routing instance should contain all of the routes from the blue VRF.</p>
<p>The interface facing the shared services area is a regular interface with no associated routing instance; it&#8217;s part of the default instance (named &#8220;master&#8221; on the SRX platform).</p>
<pre class="code">interfaces {
    ge-2/0/0 {
        description "Connects to shared services switch";
        unit 0 {
            family inet {
                address 10.10.0.1/24;
            }
        }
    }
}</pre>
<p>At this point the &#8220;master&#8221; routing instance only contains the &#8220;direct&#8221; route for the /24 network configured on ge-2/0/0.0.</p>
<p>Now, to import routes into &#8220;master&#8221; from &#8220;blue&#8221;, configure an appropriate policy statement that selects routes in &#8220;blue&#8221; and apply that statement as an import policy on the &#8220;master&#8221; routing instance.</p>
<pre class="code">policy-options {
    policy-statement routes_from_vrfs_to_master {
        term from_blue {
            from {
                instance blue;
            }
            then accept;
        }
        term default_deny {
            then reject;
        }
    }
}
routing-options {
     instance-import routes_from_vrfs_to_master;
}</pre>
<p>This config will suck all the routes from the &#8220;blue&#8221; routing instance into the &#8220;master&#8221; instance. To be a little more granular, a prefix-list could be used in the &#8220;from&#8221; stanza of the policy-statement to only permit specific prefixes but that would limit reachability to only a portion of the blue network. The default_deny term is important; you&#8217;ll want to make sure that&#8217;s the last term in the policy-statement.</p>
<p>Now to do the reverse and import routes into blue from master. This is where the filtering becomes relevant.</p>
<pre class="code">policy-options {
    prefix-list ss_prefixes {
        10.10.0.1/24;
    }
}</pre>
<p>This prefix-list specifies the network(s) that belong to the shared services area and is used to filter the list of routes imported into blue.</p>
<pre class="code">policy-options {
    policy-statement routes_from_ss_to_vrfs {
        term 1 {
            from {
                instance master;
                prefix-list ss_prefixes;
            }
            then accept;
        }
        term default_deny {
            then reject;
        }
    }
}</pre>
<p>The above chunk selects prefixes in the master table that match the prefix-list.</p>
<pre class="code">routing-instances {
    blue {
        routing-options {
            instance-import routes_from_ss_to_vrfs;
         }
        protocols {
            ospf {
                export routes_from_ss_to_vrfs;
            }
        }
    }
}</pre>
<p>And this chunk applies the policy in order to:</p>
<ul>
<li>Import the routes into blue from master</li>
<li>Export the routes out of blue to OSPF so that the prefixes are advertised to the edge routers</li>
</ul>
<p>At this point traffic should flow bidirectionally between shared services and the &#8220;blue&#8221; VRF while at the same time preventing traffic flow between &#8220;blue&#8221; and any other VRF.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=xDiaqOc7p5E:7PANiOm2LJM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=xDiaqOc7p5E:7PANiOm2LJM:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=xDiaqOc7p5E:7PANiOm2LJM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/xDiaqOc7p5E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/</feedburner:origLink></item>
		<item>
		<title>Blogging the Cloud Track at Cisco Plus 2011</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/Isn3saByoso/</link>
		<comments>http://www.packetmischief.ca/2012/01/18/blogging-the-cloud-track-at-cisco-plus-2011/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 05:12:53 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IP and Ethernet]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[UCS]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1158</guid>
		<description><![CDATA[I attended the Cisco Plus Canada Roadshow in Calgary recently and sat in on a day of presentations related to Cisco&#8217;s data center/cloud offerings. The [...]]]></description>
			<content:encoded><![CDATA[<p>I attended the <a href="http://www.cisco.com/web/CA/events/ciscoplus/roadshow/index.html">Cisco Plus Canada Roadshow</a> in Calgary recently and sat in on a day of presentations related to Cisco&#8217;s data center/cloud offerings. The sessions where quite good and I ended up taking quite a few notes. I thought I&#8217;d blog my notes in order to share what was presented.</p>
<p>The four sessions were:</p>
<ul>
<li><a href="#journey">Journey to the Cloud</a></li>
<li><a href="#ucs">Cisco UCS</a></li>
<li><a href="#networking">Data Center Networking</a></li>
<li><a href="#powering">Powering the Cloud</a></li>
</ul>
<p><span id="more-1158"></span></p>
<h2><a name="journey"></a>Journey to the Cloud</h2>
<p><em>Presented by Ronnie Scott (Cisco)</em></p>
<p>According to Cisco&#8217;s own measurements:</p>
<ul>
<li>77% of IT time spent keeping lights on (opex spend)</li>
<li>23% spent delivering new capabilities (capex spend)</li>
</ul>
<p>Drivers for adopting cloud:</p>
<ul>
<li>Reduce IT cost</li>
<li>Simplify IT operations</li>
<li>Improve pace of delivery</li>
<li>Better align IT resources to business needs</li>
</ul>
<p>Many keywords used when describing &#8220;cloud&#8221;: ubiquitous, convenient, on-demand, shared pool, rapidly provisioned, minimal management.</p>
<ul>
<li>This is taken from the NIST definition of cloud (<a href="http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf">A NIST definition of cloud computing</a> (PDF))</li>
<li>If you&#8217;re only running big servers with vSphere, you&#8217;re not operating a cloud. You&#8217;re operating a virtualized environment.</li>
<ul>
<li>Virtualization is a stepping stone to cloud</li>
</ul>
<li>To be a cloud, the environment must:</li>
<ul>
<li>Be provisioned on-demand using self service</li>
<li>Have broad network access</li>
<li>Have pooled resources</li>
<li>Be able to rapidly expand</li>
<li>Be measurable</li>
</ul>
</ul>
<p>Virtualization is a stepping stone towards a cloud architecture. However the level of virtualization must be broad and complete. Everything must be virtualized:</p>
<ul>
<li>Server/compute</li>
<li>Network</li>
<li>Storage</li>
</ul>
<p>To run a real cloud, enterprises need to move to a capacity planning model and away from a per project spend/resource allocation model. Set high watermarks on the pool of resources and buy more/plan for more when the HWM is hit.</p>
<ul>
<li>New applications/services being introduced as part of a project should consume resources from the existing pool of compute/storage/network. No (or minimal) need to purchase equipment that will only run this new app/service.</li>
<li>IT budgeting and spending models need to change. With a cloud architecture, capital outlay is necessary when capacity planning says so, not when project plan for a new app says so.</li>
</ul>
<p>Cloud delivery models:</p>
<ul>
<li>SaaS/Application &#8211; Aimed at end users; provides applications at scale</li>
<li>PaaS/Platform &#8211; Aimed at developers; provides execution platform at scale</li>
<li>IaaS/Infrastructure &#8211; Aimed at system administrators; provides infrastructure at scale</li>
</ul>
<p>IaaS/PaaS &#8211; Targeted at running applications with variable resource demand (VDI, DR, application test/dev).</p>
<p>SaaS &#8211; Delivers functional apps with low per user/transaction cost (Email, UC, web hosting)</p>
<p>Cisco has a new cloud model: virtual private cloud</p>
<ul>
<li>Cloud services that simulate private cloud in public cloud infrastructure</li>
</ul>
<p>Cisco sees a model for the future where cloud environments utilize a brokerage service with intelligence to move workloads between public/private/community clouds. Applications would be tagged with certain criteria that specifies the level of service it requires. The broker would use this information to dynamically place the workload into a certain cloud environment based on configured policy.</p>
<p>Cisco&#8217;s cloud strategy:</p>
<ul>
<li>Build the base</li>
<ul>
<li>Core, &#8220;crown jewel&#8221; apps run in-house on enterprise private cloud</li>
</ul>
<li>Rent the spike</li>
<ul>
<li>Workload spikes satisfied with public/community clouds</li>
</ul>
</ul>
<p>Elements of a private cloud</p>
<ul>
<li>Self service portal</li>
<ul>
<li>Users order services</li>
</ul>
<li>Service delivery automation</li>
<ul>
<li>Delivery of those ordered services is automated</li>
</ul>
<li>Resource management</li>
<ul>
<li>Resource allocation to the ordered services is managed</li>
</ul>
<li>Operations management</li>
<ul>
<li>Integration of the service with operations tools, help desk tools, SLA monitoring, etc</li>
</ul>
<li>Life cycle management</li>
<ul>
<li>Cradle to grave: the ordered services need to be deprovisioned at some point in their lifetime too.</li>
</ul>
</ul>
<p>Architecture for private cloud</p>
<ul>
<li>Resources (compute, storage, bandwidth)</li>
<li>Resource management (vCenter, UCS Manager UCSM, BMC, etc)</li>
<li>Service management (vCloud Director, BMC)</li>
<li>Customer access, self provisioning tools (BMC, Cisco Intelligent Automation for Cloud CIAC)</li>
</ul>
<p>The service management layer needs to talk to the resource management layer in order to provision the physical resources from the pool. The elements in the resource management layer need APIs to make this possible. Cisco products like UCS and the Nexus line all have rich, complete APIs which make this automation possible.</p>
<p>Steps for moving to private cloud:</p>
<ul>
<li>Consolidate</li>
<li>Virtualize</li>
<li>Automate</li>
<li>Self service provisioning</li>
</ul>
<h2><a name="ucs"></a>Cisco UCS</h2>
<p><em>Presented by Willem van Schaik (Cisco)</em></p>
<p>Cisco UCS</p>
<ul>
<li>Fastest growing business ever at Cisco</li>
<li>$1bn dollar business</li>
<li>2nd in blade server market in North America</li>
<ul>
<li><a href="http://www.datacenterknowledge.com/archives/2012/01/18/cisco-reaches-10000-ucs-customers/">Cisco Reaches 10,000 UCS Customers</a></li>
</ul>
</ul>
<p>Nexus 5000 virtual chassis</p>
<ul>
<li>Nexus 5k acts like a supervisor</li>
<li>Nexus 2k fabric extender (FEX) acts like remote line card</li>
<li>Nexus 5k + 2k model was extended to Cisco UCS</li>
<ul>
<li>FEX is only network piece installed in the chassis</li>
<li>Management of the system is done via the Fabric Interconnect (fancy Nexus 5000s running UCS Manager software on top of NX-OS)</li>
</ul>
</ul>
<p>10Gbe benefits</p>
<ul>
<li>More bandwidth is nice, but not the biggest win</li>
<li>Low latency is nice, but not the biggest win</li>
<li>Biggest win is consolidating multiple networks and traffic onto one cable</li>
<ul>
<li>Builds on &#8220;virtualize everything&#8221; concept (virtualizing the network)</li>
<li>Wire once, use many</li>
<li>Or as Cisco says, wire for bandwidth not connectivity</li>
</ul>
</ul>
<p>Generic rackmount servers vs. generic blade servers:</p>
<ul>
<li>Most rack server components (NICs ports, storage ports, etc) duplicated 1:1 on a blade</li>
<li>Same number of ports and connections to manage in a 16x blade enclosure as with 16 rackmount servers</li>
<li>Additionally, every blade enclosure is (at best) its own point of management (worst case, every single blade is its own point of management)</li>
<li>No opex savings with blades</li>
</ul>
<p>With UCS:</p>
<ul>
<li>All points of management moved to single spot: top of rack in the Fabric Interconnect</li>
<li>No mgmt point in back of the blade enclosure (only thing in the back is a dumb fabric extender/FEX)</li>
<li>UCS chassis are like a storage disk shelf. Plug and use, nothing to configure, no management points on the shelf/chassis</li>
<li>One point of management for N chassis/blades</li>
</ul>
<p>UCS Manager (UCSM)</p>
<ul>
<li>Management software for entire UCS environment</li>
<li>Runs on Fabric Interconnects</li>
<li>RBAC (Storage, server, network teams all use same console)</li>
<li>Full API for integrating with other tools. UCSM GUI written on top of the XML API</li>
<li>Other tools can use the API to do the same tasks as UCSM (eg, <a href="http://community.ca.com/blogs/automation/archive/2010/05/18/ca-unveils-cisco-ucs-support-as-well-as-a-new-portfolio-of-virtualization-management-products.aspx">software from CA</a>)</li>
<li>API allows management from any platform. Apps exist for <a href="http://blogs.cisco.com/datacenter/managing_your_cisco_ucs_from_an_iphone_or_ipad/">iPhone/iPad</a>, <a href="https://market.android.com/details?id=net.ecliptic.ucshow">Android</a> and Playbook</li>
<li>Central firmware mgmt for all components</li>
<ul>
<li>Fabric Interconnect, Converged Network Adapters, FEX, etc</li>
<li>Firmware can be staged (redundant firmware banks) in hours and applied on a scheduled or off hours basis</li>
</ul>
</ul>
<p>Service profile</p>
<ul>
<li>Wraps all the server parameters and policies into a template</li>
<li>Lives in UCSM not on the blade</li>
<li>Creates the personality of the server</li>
</ul>
<p>The new 6200 series Fabric Interconnect</p>
<ul>
<li>Unified ports</li>
<ul>
<li>Port can be configured for data center bridging or fiber channel</li>
</ul>
<li>6248 based on Nexus 5548</li>
<li>Expect to see 6296 based on Nexus 5596</li>
</ul>
<p>UCS 2.0 increases bandwidth to blades</p>
<ul>
<li>8 port FEX (up from 4 ports in first version)</li>
<li>Port channel can now be created between the FEX and the upstream Fabric Interconnect</li>
<ul>
<li>No more pinning a blade to a specific upstream port on the FEX</li>
<li>1 blade can use up to 40Gb of bandwidth out of the chassis (limited by the bandwidth from the FEX to the blade; see the bullet point right below)</li>
</ul>
<li>From FEX down to blade, increased lanes on the highway from 1x to 4x 10Gb lanes</li>
<ul>
<li>Also in a port channel</li>
<li>40Gb per port per blade</li>
</ul>
</ul>
<p>VM-FEX: virtual NICs on the Palo card become remote ports on the Fabric Interconnect</p>
<ul>
<li>FEX idea cascades from Fabric Interconnect to FEX and from FEX to Virtual Interface Card (Palo) on the blade</li>
<li>802.1Qbh/VN-Tag (pre-standard) used to identify traffic to and from individual VMs</li>
<li>Fabric Interconnect creates a logical interface for each VM (based on the VN-Tag). Other end of that logical interface is the virtual NIC created on the Palo card.</li>
<li>All switching done in the FI, ALWAYS. Even traffic between two VMs on the same vSphere host must flow up to the FI and then back down</li>
<ul>
<li>Allows policy, control and monitoring of all traffic</li>
</ul>
<li>VMDirectPath mode gives best performance</li>
<ul>
<li>Switching all done in ASICs</li>
<li>In this mode, Vmotion is supported under ESXi 5</li>
</ul>
</ul>
<h2><a name="networking"></a>Data Center Networking</h2>
<p><em>Presented by Ronnie Scott (Cisco)</em></p>
<p>Fiber Channel over Ethernet is standardized. Period. Competitors are spreading FUD if they say otherwise.</p>
<p>Fiber channel encoding is inefficient</p>
<ul>
<li>FC uses <a href="http://en.wikipedia.org/wiki/8B10B">8b/10b</a> encoding</li>
<li>4Gb FC != 4Gb throughput</li>
<li>10Gb Ethernet uses more efficient encoding scheme. 4Gb FCoE is more efficient on the wire than native 4G FC</li>
<li>16G FC will have more than double the real throughput of 8G FC because it adopts the same encoding used with 10GbE.</li>
<li><a href="http://blogs.cisco.com/datacenter/3-for-2-the-fcoe-bandwidth-bonus/">3-for-2: The FCoE Bandwidth Bonus</a> (blogs.cisco.com)</li>
</ul>
<p>Spanning Tree vs. Virtual Port Channel</p>
<ul>
<li>50% of network bandwidth is wasted in an STP network</li>
<li>STP is absolutely necessary through to eliminate loops</li>
<li>VPC allows all links to be forwarding</li>
<ul>
<li>Two upstream switches &#8220;collude and lie&#8221; to southbound switch (VPC == &#8220;lies and deceit protocol&#8221;)</li>
</ul>
</ul>
<p>FabricPath</p>
<ul>
<li>New method of transporting frames in the data center</li>
<ul>
<li>No STP</li>
<li>All links active</li>
<li>Layer 2 adjacency between end devices over a routed, Layer 3 fabric</li>
<li>Spine and leaf design</li>
<li>High bisectional bandwidth</li>
</ul>
<li>FP based on <a href="http://tools.ietf.org/html/rfc5556">TRILL</a> which was standardized before anyone had an implementation</li>
<ul>
<li>TRILL has some things that need changing to add things that weren&#8217;t in the standard</li>
<li> and should be (according to Cisco)</li>
<li>Likely to see a TRILL v2 at some point</li>
<li>Work already underway on next version of TRILL</li>
</ul>
<li>FabricPath enabled with one command per interface. No configuration needed.</li>
<ul>
<li>Don&#8217;t be surprised if FabricPath is the default interface mode in the data center one day</li>
</ul>
</ul>
<p>Overlay Transport Virtualization &#8211; OTV</p>
<ul>
<li>Layer 2 adjacency between end devices in different data centers across a Layer 3 data center interconnect</li>
<ul>
<li>Manages traffic tromboning of FHRP VIP (FHRP becomes active in both DCs)</li>
<li>Prevents STP BPDUs from crossing the DC interconnect</li>
</ul>
<li>Enables Vmotion between data centers</li>
<ul>
<li>Vmotion between data centers has distance/latency limits!</li>
<li><em>Kudos to Ronnie for actually bringing this up. Most discussions on OTV throw around the idea of long distance vmotion as a cure-all to any DR problems you might have.<br />
</em></li>
</ul>
</ul>
<p>Location/ID Separation Protocol &#8211; LISP</p>
<ul>
<li>Decouple location from device identification</li>
<ul>
<li>IP addresses today do both: they define the network (location) of a device and its identification (how do I talk to that device)</li>
</ul>
<li>By decoupling the two, a device can have its location changed without changing its ID (ie, without changing how clients identify and connect to the device)</li>
<li>Allows you to move workloads around in the cloud and make sure those services and devices can be reached no matter where they are</li>
<li>No load balancing, no DNS changes, no client side changes. Works all in the network.</li>
<li><a href="http://blogs.cisco.com/datacenter/lisp-finding-the-optimized-path-for-your-workload/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=lisp-finding-the-optimized-path-for-your-workload">LISP – Finding the Optimized Path for your Workload</a> (blogs.cisco.com)</li>
</ul>
<h2><a name="powering"></a>Powering the Cloud</h2>
<p><em>Presented by Willem van Schaik (Cisco)</em></p>
<p>From above: one of the elements of cloud is automation. In order to build automation:</p>
<ul>
<li>You must understand all processes needed to provision a server/app today</li>
<li>The provisioning involves people from all teams (network, server, storage, application support). Everyone must be involved in setting the automation rules and workflows.</li>
</ul>
<p>Cisco tools:</p>
<ul>
<li>newScale catalog: self service portal</li>
<li>Cisco Tidal orchestrator: automation piece</li>
</ul>
<p>Cisco bought newScale and Tidal to get best of breed self service and orchestration tools.</p>
<p>Orchestration must be full life cycle. You need to deprovision the stuff too at some point! Don&#8217;t forget.</p>
<p>Amazon cloud is cheap when compared to in house infrastructure that is not being fully utilized (as is the case the majority of the time). Your private cloud is cheaper than Amazon if you&#8217;re running at a very high level of utilization. If running at high utilization though, how do you handle spikes in load? Burst your spikes into the public cloud (ties back to &#8220;rent the peak&#8221; above). This requires rules though for which workloads can/should be moved into public cloud.</p>
<p>Using Cisco&#8217;s own measurements, they flipped the 77% opex/33% capex ratio to 40% opex (keeping the lights on) and 60% capex (introducing new services) by moving to a full cloud architecture.</p>
<p>Buying a Vblock is like buying a car, there&#8217;s limited options to choose from on the order sheet. You have to pick from the options the manufacturer has made available.</p>
<p>Flexpod is a set of reference designs (for Exchange, for Oracle, etc). You order all the parts yourself, which means you can customize the order, and you integrate the pieces on your own. Flexpod also contains benchmark information to help you with capacity planning.</p>
<p>Final thoughts: This stuff is not easy. Start small. Seek help from Cisco on the really hairy parts. If you can realize full cloud, the benefits are big in cost and time savings.</p>
<p>&nbsp;</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=Isn3saByoso:kjnGSH6h5dQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=Isn3saByoso:kjnGSH6h5dQ:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=Isn3saByoso:kjnGSH6h5dQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/Isn3saByoso" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2012/01/18/blogging-the-cloud-track-at-cisco-plus-2011/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2012/01/18/blogging-the-cloud-track-at-cisco-plus-2011/</feedburner:origLink></item>
		<item>
		<title>Resetting Admin Password on a Cisco ISE Appliance</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/hiPiRjjLtl8/</link>
		<comments>http://www.packetmischief.ca/2012/01/16/resetting-admin-password-on-a-cisco-ise-appliance/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 14:13:29 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IP and Ethernet]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ise]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1128</guid>
		<description><![CDATA[A great little &#8220;feature&#8221; of Cisco&#8217;s Identity Services Engine is that out of the box, the administrator account expires after 45 days if the password [...]]]></description>
			<content:encoded><![CDATA[<p>A great little &#8220;feature&#8221; of Cisco&#8217;s <a href="http://www.cisco.com/en/US/products/ps11640/index.html">Identity Services Engine</a> is that out of the box, the administrator account expires after 45 days if the password is not changed during that time. The <a href="http://www.cisco.com/en/US/docs/security/ise/1.0/user_guide/ise10_admin.html#wp1057933">documentation</a> says that if you have trouble logging in you should click the &#8220;Problem logging in?&#8221; link and use the default administrative user/pass. This is of course ridiculous and does not work.</p>
<p>Below are the steps for properly resetting an admin password and for changing the security policy so the lockout doesn&#8217;t happen again.</p>
<p><span id="more-1128"></span></p>
<h2>Unlock the Admin</h2>
<p>The unlock process is really a password recovery and works a lot like password recovery on an IOS device. You need console access to the appliance and the ISE software DVD/ISO. A reboot is required.</p>
<p>ISE systems can be installed on dedicated server hardware or as virtual appliances under VMware vSphere. The box in my lab was a virtual appliance so these steps are going to reflect console access and rebooting of a VM.</p>
<h3>#1 &#8211; Reboot from ISE DVD/ISO</h3>
<p>To get to the recovery console, the appliance needs to be booted from the ISE installation media. I had the ISO image handy so I used that. Now under vSphere, when the VM reboots, any media that was attached prior to the reboot is disconnected. The trick is to have the console window for the VM open in vSphere Client and hit the &lt;F2&gt; key when you see the VMware BIOS screen. With the machine sitting in the BIOS, it gives you time to reattach the ISE ISO to the DVD drive before the OS starts to load up.</p>
<div id="attachment_1136" class="wp-caption aligncenter" style="width: 565px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/Connect-to-ISO-image-on-local-disk.png"><img class=" wp-image-1136 " title="Connect to ISO image on local disk" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/Connect-to-ISO-image-on-local-disk.png" alt="" width="555" height="146" /></a><p class="wp-caption-text">Connect to ISO image on local disk</p></div>
<p>Also while in the BIOS, adjust the boot device order so it hits the CD-ROM drive before the hard drive.</p>
<div id="attachment_1137" class="wp-caption aligncenter" style="width: 441px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/BIOS-Boot-Device-Order.png"><img class="size-full wp-image-1137" title="BIOS Boot Device Order" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/BIOS-Boot-Device-Order.png" alt="" width="431" height="171" /></a><p class="wp-caption-text">CD-ROM before Hard Drive</p></div>
<p>If you&#8217;re doing a recovery on a physical appliance, you&#8217;ll probably still want to check your boot device order and also set it to boot from CD/DVD drive first.</p>
<p>Save your BIOS changes and boot the machine.</p>
<h3>#2 &#8211; Reset Admin CLI Password</h3>
<p>When the machine boots from the ISE DVD it will display a number of boot options.</p>
<div id="attachment_1138" class="wp-caption aligncenter" style="width: 579px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ISE-Boot-Menu.png"><img class="size-full wp-image-1138" title="ISE Boot Menu" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ISE-Boot-Menu.png" alt="" width="569" height="257" /></a><p class="wp-caption-text">ISE Boot Menu</p></div>
<p>If the appliance is a VM or is a physical appliance with a keyboard/mouse attached, choose #3. If the appliance is accessed via a serial console, choose #4.</p>
<p>The recovery menu now appears and asks which admin account to recover.</p>
<div id="attachment_1139" class="wp-caption aligncenter" style="width: 549px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ISE-Password-Recovery-Screen.png"><img class=" wp-image-1139 " title="ISE Password Recovery Screen" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ISE-Password-Recovery-Screen.png" alt="" width="539" height="202" /></a><p class="wp-caption-text">ISE Password Recovery Screen</p></div>
<p>Choose the account and enter a new password. This password will be used to log in on the appliance&#8217;s console. It does not work on the web UI.</p>
<p>Reboot the appliance now, making sure to eject/disconnect the DVD/ISO image so that it boots normally.</p>
<h3>#3 &#8211; Reset the ISE GUI Admin Password</h3>
<p>With the appliance booted normally, log in on the console using the password that was set in step #2. Remember: the console admin account is different than the web UI admin account. They have the same username but can have different passwords. Use the command &#8220;application reset-passwd ise admin&#8221; to set a new web UI admin password.</p>
<div id="attachment_1140" class="wp-caption aligncenter" style="width: 504px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ise-application-reset-passwd.png"><img class=" wp-image-1140 " title="Reset ISE Web UI Password" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ise-application-reset-passwd.png" alt="" width="494" height="232" /></a><p class="wp-caption-text">Reset ISE Web UI Password</p></div>
<p>The screenshot above shows other options that can be used with the &#8220;application&#8221; command.</p>
<p>The web UI should now be accessible using the password that was just set.</p>
<h2>Change the Password Lockout Policy</h2>
<p>The default password policy says that admin accounts will be locked out if their passwords are not changed once every 45 days.</p>
<div id="attachment_1143" class="wp-caption aligncenter" style="width: 519px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ise-admin-lockout-policy.png"><img class="size-full wp-image-1143" title="ISE Admin Lockout Policy" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ise-admin-lockout-policy.png" alt="" width="509" height="82" /></a><p class="wp-caption-text">ISE Admin Lockout Policy</p></div>
<p>This can be adjusted in Administration, System, Admin Access. Expand the Settings folder and highlight Password Policy.</p>
<div id="attachment_1144" class="wp-caption aligncenter" style="width: 460px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ise-password-policy-screen.png"><img class=" wp-image-1144 " title="ISE Password Policy Screen" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2012/01/ise-password-policy-screen.png" alt="" width="450" height="306" /></a><p class="wp-caption-text">ISE Password Policy Screen</p></div>
<h2>Did I Need to Reset the CLI Admin or Am I Just Forgetful?</h2>
<p>I confess, I&#8217;m not 100% sure that I needed to reset the CLI admin password. None of the passwords in my password safe were working on the CLI so it was either expired or I forgot to store the CLI password in the safe. If your web UI password doesn&#8217;t work, try starting from step #3 to see if you can avoid rebooting the appliance. Best case it works, worst case you start from step #1 and reset all the passwords.</p>
<p>Can anyone comment on whether the password policy configured in the web UI also applies to the console admin user?</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=hiPiRjjLtl8:avlad3LIXkc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=hiPiRjjLtl8:avlad3LIXkc:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=hiPiRjjLtl8:avlad3LIXkc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/hiPiRjjLtl8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2012/01/16/resetting-admin-password-on-a-cisco-ise-appliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2012/01/16/resetting-admin-password-on-a-cisco-ise-appliance/</feedburner:origLink></item>
		<item>
		<title>Getting the WordPress TMAC and GASP Plugins to Play Nice</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/ZEWwe_tbXZA/</link>
		<comments>http://www.packetmischief.ca/2012/01/07/getting-the-wordpress-tmac-and-gasp-plugins-to-play-nice/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 19:49:41 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1111</guid>
		<description><![CDATA[Two of the WordPress plugins I use on this site are Twitter Mentions as Comments and Growmap Anti Spambot Plugin. The first, TMAC, watches Twitter [...]]]></description>
			<content:encoded><![CDATA[<p>Two of the WordPress plugins I use on this site are <a href="http://wordpress.org/extend/plugins/twitter-mentions-as-comments/">Twitter Mentions as Comments</a> and <a href="http://wordpress.org/extend/plugins/growmap-anti-spambot-plugin/">Growmap Anti Spambot Plugin</a>. The first, TMAC, watches Twitter for any tweets that link to a post somewhere on this blog and submits those tweets as new comments on that particular post. GASP&#8217;s job is to keep spammers from submitting spammy comments by placing a Javascript-driven checkbox in the comment form. A user must check the box to confirm they are not a spambot before submitting their comment (you can see this in action if you <a href="#comments">leave a comment</a>).</p>
<p>Both of these plugins are great and work really well on their own.</p>
<p>However, when both plugins are in use and TMAC submits a comment, GASP inspects the comment to see if the checkbox has been marked, finds that it hasn&#8217;t been, and silently rejects the comment. (Aside: the exception to this is if you are a logged-in user and you initiate a manual TMAC check, any new tweets will successfully pass through GASP).<span id="more-1111"></span></p>
<p>Since GASP is just checking the HTTP POST variables to see if the box was marked, we can have TMAC tweak the POST variables in its favor when submiting a new comment. Ideally GASP would have filters/hooks throughout the code which would allow us to do this all within GASP but unfortunately there are no filters present.</p>
<p>I&#8217;m modifying the POST variables in my theme&#8217;s functions.php like so:</p>
<pre class="code">function tmac_gasp_workaround($posts)
{
    $_POST['gasp_checkbox'] = 'tmac_workaround';

    /* return $posts untouched */
    return $posts;
}
add_filter('tmac_mentions_check_posts', 'tmac_gasp_workaround');</pre>
<p>The $posts argument is what the tmac_mentions_check_posts filter passes in. We return it unchanged. By creating the gasp_checkbox POST variable and setting it to an arbitrary value, GASP will now believe that a user marked the checkbox and the Twitter comments will be successfully posted.</p>
<p>I don&#8217;t believe this fix opens any sort of window for a spammer to get through GASP&#8217;s checks. The function above is only called during TMAC&#8217;s scheduled check for new tweets and that check is spawned by an asynchronous HTTP POST request that WordPress initiates to itself as users are browsing the site. The POST variable that&#8217;s being influenced above belongs to that async HTTP request and not any HTTP requests initiated by users (or spambots) so users must still mark the box for their comments to be posted.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=ZEWwe_tbXZA:xLiU3oXPwSM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=ZEWwe_tbXZA:xLiU3oXPwSM:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=ZEWwe_tbXZA:xLiU3oXPwSM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/ZEWwe_tbXZA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2012/01/07/getting-the-wordpress-tmac-and-gasp-plugins-to-play-nice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2012/01/07/getting-the-wordpress-tmac-and-gasp-plugins-to-play-nice/</feedburner:origLink></item>
		<item>
		<title>Configuring VRF-Lite on IOS and Junos</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/w-8oFtIYBXc/</link>
		<comments>http://www.packetmischief.ca/2012/01/05/configuring-vrf-lite-on-ios-and-junos/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 04:08:00 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IP and Ethernet]]></category>
		<category><![CDATA[campus]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[juniper]]></category>
		<category><![CDATA[vrf]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1014</guid>
		<description><![CDATA[This post is going to provide a very basic introduction to configuring VRFs on Cisco IOS and Juniper&#8217;s Junos. There&#8217;s so many configuration combinations and [...]]]></description>
			<content:encoded><![CDATA[<p>This post is going to provide a very basic introduction to configuring VRFs on Cisco IOS and Juniper&#8217;s Junos. There&#8217;s so many configuration combinations and options for virtual routing that it would be impossible to go through everything in great detail. At the end of the post I&#8217;ll provide links to documentation where you can get detail if you want it.</p>
<p><span id="more-1014"></span>This post is the second in my series on virtual routing. The others are:</p>
<ul>
<li><a title="An Introduction to Layer 3 Traffic Isolation" href="http://www.packetmischief.ca/2011/11/29/an-introduction-to-layer-3-traffic-isolation/">An Introduction to Layer 3 Traffic Isolation</a></li>
<li><a title="VRFs and Shared Services Cheating with Junos" href="http://www.packetmischief.ca/2012/02/06/vrfs-and-shared-services-cheating-with-junos/">VRFs and Shared Services Cheating with Junos</a></li>
</ul>
<h2>IOS</h2>
<p>IOS is rather straightforward when it comes to configuring a VRF. Give the VRF a name, bind some interfaces to it, install some routes, and you&#8217;ve got a basic setup ready to go.</p>
<p><code>switch(config)# ip vrf guest_inet<br />
switch(config-vrf)# description This is the VRF for guest Internet</code></p>
<p>The &#8220;ip vrf&#8221; command creates the VRF. This is the minimum configuration required when using VRF lite.</p>
<p><code>switch(config-vrf)# interface vlan200<br />
switch(config-if)# ip vrf forwarding guest_inet<br />
switch(config-if)# int tunnel5<br />
switch(config-if)# ip vrf forwarding guest_inet</code></p>
<p>Interfaces are bound to a VRF using the &#8220;ip vrf forwarding&#8221; command. With the command applied, all packets traversing the interface will be forwarded according to the routes present in the named VRF&#8217;s routing table.</p>
<p>The commands above would be suitable for the middle switch in this little network:</p>
<p><a href="http://www.packetmischief.ca/2012/01/05/configuring-vrf-lite-on-ios-and-junos/vrf-ios-example/" rel="attachment wp-att-1015"><img class="aligncenter size-full wp-image-1015" title="Example VRF in IOS" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/12/vrf-ios-example.png" alt="" width="531" height="200" /></a></p>
<p>We still don&#8217;t have two-way traffic flow though. The network where the guest users are sitting will be present in the guest_inet routing table because the connected route for the vlan200 interface was installed as soon as the interface was bound to the VRF. However there is no route present which directs traffic through the tunnel interface towards the Internet. Although it&#8217;s possible to run dynamic routing protocols in a VRF, that&#8217;s a little more complicated than I plan to get in this post. Instead, I&#8217;ll just show how to add a static default route.</p>
<p><code>switch(config)# ip route 0.0.0.0 0.0.0.0 10.10.10.201 vrf guest_inet</code></p>
<p>The command is just a default route pointing to the far end of the tunnel with the addition of the &#8220;vrf&#8221; keyword at the end. This route is now present in the guest_inet routing table.</p>
<p>To do some reachability tests inside the VRF, use the ping and traceroute commands also with the &#8220;vrf&#8221; keyword.</p>
<p><code>switch&gt; ping 10.10.10.201 vrf guest_inet</code></p>
<p><code>switch&gt; traceroute 10.10.10.201 vrf guest_inet</code></p>
<p>One of the easiest ways to trip yourself up is to accidentally do pings and traceroutes from the global table. If you&#8217;re not careful you can end up wasting a lot of time troubleshooting why your ping isn&#8217;t working. Also remember when looking at the routing table to specify the VRF.</p>
<p><code>switch&gt; show ip route vrf guest_inet</code></p>
<p>Lastly, to see a list of configured VRFs along with their interfaces, use the &#8220;show ip vrf&#8221; command.</p>
<pre class="code">switch&gt; show ip vrf interface
 Interface         IP-Address          VRF           Protocol
 Tu5               10.10.10.200        guest_inet    up
 Vl200             10.200.200.1        guest_inet    up</pre>
<h3>Junos</h3>
<p>Junos has the concept of routing instances which are used to setup separate instances of OSPF, ISIS, BGP, etc, as well as static routes. Interfaces are bound to routing instances and each instance has at least one routing table and a single forwarding table. The first contrast with IOS is that Junos has different types of routing instances. There are types for Layer 2 VPNs, for Layer 3 VPNs, and for basic virtual routing. The &#8220;VRF&#8221; instance type is actually for use with MPLS Layer 3 VPNs. For setting up VRF lite, the &#8220;virtual-router&#8221; type is the most appropriate.</p>
<pre class="code">routing-instances {
  guest_inet {
    instance-type virtual-router;
    interface ge-2/0/0.200;
    interface ge-2/0/2.0;
  }
}</pre>
<p>This bit of the configuration creates the guest_inet routing instance and binds two interfaces to it. There&#8217;s no additional configuration needed on the actual interfaces themselves.</p>
<p><a href="http://www.packetmischief.ca/2012/01/05/configuring-vrf-lite-on-ios-and-junos/vrf-junos-example/" rel="attachment wp-att-1018"><img class="aligncenter" title="VRF Example on Junos" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/12/vrf-junos-example.png" alt="" width="482" height="196" /></a></p>
<p>When this routing instance is created, there is a corresponding routing table created named guest_inet.inet.0. This table will receive the &#8220;direct&#8221; routes from the two interfaces that were added to the routing instance.</p>
<pre class="code">root@router&gt; show route table guest_inet.inet.0

guest_inet.inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.200.200.0/24    *[Direct/0] 00:01:55
                    &gt; via ge-2/0/1.200
10.10.10.200/30    *[Direct/0] 00:01:55
                    &gt; via ge-2/0/2.0</pre>
<p>Like the IOS example above, we need a default route to send traffic towards the Internet. Protocols such as OSPF, BGP, and ISIS are configured in a routing instance at the [routing-instances guest_inet protocols] level and static routes are configured at [routing-instances guest_inet routing-options].</p>
<pre class="code">root@router&gt; show configuration routing-instances guest_inet routing-options
static {
  route 0.0.0.0/0 next-hop 10.10.10.201;
}</pre>
<p>When doing reachability tests, use the &#8220;routing-instance&#8221; keyword to specify which instance to use.</p>
<p><code>root@router&gt; ping www.google.com routing-instance guest_inet</code></p>
<p><code>root@router&gt; traceroute www.google.com routing-instance guest_inet</code></p>
<p>To see the status of a routing instance use &#8220;show route instance&#8221;</p>
<pre class="code">root@router&gt; show route instance guest_inet detail
guest_inet:
  Router ID: 10.200.200.1
  Type: virtual-router State: Active
  Interfaces:
    ge-2/0/1.200
    ge-2/0/2.0
  Tables:
    guest_inet.inet.0 : 3 routes (3 active, 0 holddown, 0 hidden)</pre>
<h3>Further Reading</h3>
<p>Cisco:</p>
<p style="padding-left: 30px;"><a href="http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/PathIsol.html#wp80366">Path Isolation Deploying VRF-Lite and GRE</a>  &#8211; This particular section of the Path Isolation Design Guide gives a nice example of using GRE with VRF lite. It includes the commands needed to make VRF lite work in an example network. It even goes much farther and talks about virtualizing routing protocols and then gets into using full MPLS.</p>
<p>Juniper:</p>
<p style="padding-left: 30px;"><a href="http://www.juniper.net/techpubs/en_US/junos10.4/topics/concept/routing-instances-overview.html">Routing Instances Overview</a>  &#8211; An overview of what routing instances are and the different types.</p>
<p style="padding-left: 30px;"><a href="http://www.juniper.net/techpubs/en_US/junos10.4/topics/usage-guidelines/routing-configuring-routing-instances.html">Configuring Routing Instances</a>  &#8211; A really quick introduction on how to configure routing instances. Sadly it only shows syntax for dynamic routing and doesn&#8217;t include the command syntax for static routes.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=w-8oFtIYBXc:jUDG_j8VfVM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=w-8oFtIYBXc:jUDG_j8VfVM:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=w-8oFtIYBXc:jUDG_j8VfVM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/w-8oFtIYBXc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2012/01/05/configuring-vrf-lite-on-ios-and-junos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2012/01/05/configuring-vrf-lite-on-ios-and-junos/</feedburner:origLink></item>
		<item>
		<title>Packets of Interest (2011-12-12)</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/spubJJb41-E/</link>
		<comments>http://www.packetmischief.ca/2011/12/12/packets-of-interest-2011-12-12/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 18:08:28 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[Packets of Interest]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[juniper]]></category>
		<category><![CDATA[poi]]></category>
		<category><![CDATA[riverbed]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=1003</guid>
		<description><![CDATA[Here&#8217;s a summary of interesting articles/posts that I&#8217;ve come across in the last couple of weeks. We&#8217;ve been talking a lot at work recently about [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a summary of interesting articles/posts that I&#8217;ve come across in the last couple of weeks.</p>
<p><span id="more-1003"></span>We&#8217;ve been talking a lot at work recently about virtualizing our big workloads. One of the first points of discussion is usually storage performance and someone inevitably brings up RDMs. This VMware blog post reminds us that a) RDM and VMDK performance is pretty much on par these days and b) that the storage method should be chosen based on a combination of business and technical requirements, not on assumptions or outdated information. Thanks to Paul Gifford (<a href="https://twitter.com/paulgifford">@paulgifford</a>) for the link.</p>
<blockquote><p>Virtualized Exchange Storage: VMDK or RDM or…?<br />
<a href="http://blogs.vmware.com/apps/2011/11/virtualized-exchange-storage-vmdk-or-rdm-or.html">http://blogs.vmware.com/apps/2011/11/virtualized-exchange-storage-vmdk-or-rdm-or.html</a></p>
<p>In early versions of ESX the virtualization overhead associated with deploying virtual disks (VMDK files) was much higher than it is today and why it was considered a best practice to place Exchange data files on physical mode raw-device mappings (RDM). As ESX and vSphere have evolved the performance difference between RDMs and virtual disks has become almost nonexistent.</p></blockquote>
<p>Earlier this month Riverbed announced version 7 of its RiOS software which runs its Steelhead WAN acceleration appliances. There&#8217;s a couple of new features which are interesting, including support for IPv6 traffic, UDP traffic, and video optimization. The release describes video optimization as &#8220;application layer multicasting [which] allows a single video stream to serve a large number of viewers in a particular location.&#8221; With the accelerated adoption of video in the enterprise this sounds pretty good but the article does not mention what types of video codecs and formats it works with.</p>
<blockquote><p>Riverbed RiOS 7<br />
<a href="http://www.datacenterknowledge.com/archives/2011/12/06/riverbed-accelerates-rios-wan-optimization/?utm-source=feedburner&amp;utm-medium=feed&amp;utm-campaign=Feed%3A+DataCenterKnowledge+%28Data+Center+Knowledge%29">http://www.datacenterknowledge.com/archives/2011/12/06/riverbed-accelerates-rios-wan-optimization</a></p>
<p>New features and optimizations included in the version 7.0 release include native support for HTTP video, User Datagram Protocol (UDP), and IPv6, as well as an extension to its existing optimizations for virtual desktop infrastructure (VDI).</p></blockquote>
<p>Ivan Pepelnjak (<a href="http://twitter.com/ioshints">@ioshints</a>) has a great writeup about the history of MPLS in IOS and Junos. It goes a long way in describing some of the differences in the two implementations and, more importantly, describes why the two are different. A good read for anyone who works with the MPLS features on these platforms.</p>
<blockquote><p>Junos Day One: MPLS Behind The Scenes<br />
<a href="http://blog.ioshints.info/2011/12/junos-day-one-mpls-behind-scenes.html?utm_source=feedburner&amp;utm_medium=RSS&amp;utm_campaign=IOS+hints+Feed">http://blog.ioshints.info/2011/12/junos-day-one-mpls-behind-scenes.html</a></p>
<p>The fundamental reason for widely different MPLS implementation is the first use case: Cisco IOS started with <em>tag switching</em> targeted at IP-over-ATM transport, where every IP prefix needs an end-to-end LSP; Junos started with layer-3 MPLS/VPNs, where you need LSPs only toward BGP next hops.</p></blockquote>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=spubJJb41-E:4SC8rLe2xdw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=spubJJb41-E:4SC8rLe2xdw:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=spubJJb41-E:4SC8rLe2xdw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/spubJJb41-E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2011/12/12/packets-of-interest-2011-12-12/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2011/12/12/packets-of-interest-2011-12-12/</feedburner:origLink></item>
		<item>
		<title>An Introduction to Layer 3 Traffic Isolation</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/Sa4ZQ0UTTTY/</link>
		<comments>http://www.packetmischief.ca/2011/11/29/an-introduction-to-layer-3-traffic-isolation/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 04:54:49 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IP and Ethernet]]></category>
		<category><![CDATA[campus]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[vrf]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=942</guid>
		<description><![CDATA[All network engineers should be familiar with the method for virtualizing the network at Layer 2: the VLAN. VLANs are used to virtualize the bridging [...]]]></description>
			<content:encoded><![CDATA[<p>All network engineers should be familiar with the method for virtualizing the network at Layer 2: the VLAN. VLANs are used to virtualize the bridging table of Layer 2 switches and create virtual switching topologies that overlay the physical network. Traffic traveling in one topology (ie VLAN) cannot bleed through into another topology. In this way, traffic from one group of users or devices can be kept isolated from other users or devices.</p>
<div id="attachment_971" class="wp-caption aligncenter" style="width: 509px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-vlan-isolation.png"><img class="size-full wp-image-971 " title="vrf-vlan-isolation" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-vlan-isolation.png" alt="" width="499" height="232" /></a><p class="wp-caption-text">Traffic Isolation Using VLANs</p></div>
<p>VLANs work great in a Layer 2 switched network, but what happens when you need to maintain this traffic separation across a Layer 3 boundary such as a router or firewall? <span id="more-942"></span>Typically, if you have two VLANs that each terminate on a router and the router has an IP address in each VLAN, the devices in those VLANs are free to talk to each other by passing traffic through the router. That traffic isolation that was gained by putting the devices in different VLANs is now lost. In fact, because some network engineers are only familiar with traffic isolation at Layer 2 and not at Layer 3, the overall network design will often be compromised to allow for VLANs to span end-to-end in the network so that traffic separation can be maintained. This of course necessitates bridging everywhere in the network which can lead to serious issues.</p>
<p>There is a way to maintain traffic isolation across Layer 3 devices. It&#8217;s called Virtual Routing and Forwarding. Virtual Routing and Forwarding, aka VRF, allows the routing table in a Layer 3 switch or router to be virtualized. Each virtualized table contains its own unique set of forwarding entries. Traffic that enters a router will be forwarded using the routing table associated with the same VRF that the ingress interface is associated with and will be sent out an egress interface associated with the same VRF. Much like VLANs, VRFs ensure logical isolation of traffic as it crosses a common physical network infrastructure.</p>
<p>There are three general concepts behind VRFs:</p>
<p>1. Access Control<br />
2. Path Isolation<br />
3. Shared Services</p>
<p>The next sections look at each of these in turn.</p>
<h2>Access Control</h2>
<p>Access control refers to how end devices are identified and segmented at the network edge (aka, access layer). Users need to be segmented before they input traffic into the network so that the network knows which virtual network to associate their traffic with. Access control must take into consideration both wired and wireless network access methods.</p>
<p>Two of the most common methods for segmenting wired end devices is by static VLAN assignment and 802.1X Network Access Control. Static VLAN assignment is where a VLAN is configured on an edge port and that VLAN does not change regardless of who or what is plugged in.</p>
<p><code>switch(config-if)# switchport mode access<br />
switch(config-if)# switchport access vlan 101</code></p>
<p>This method is simple to implement but is costly to maintain. Every time a new device is plugged into the port the VLAN might have to be changed. If the port is located in someone&#8217;s office then this might not happen very often, but if the port is in a meeting room it can be a nightmare if you have a mixture of employees and guests plugging in. Additionally, if the port is left on the employee VLAN and a guest plugs in, they are now on the employee network and can access the same network resources as employees. This is an obvious security risk. Although it&#8217;s hard to maintain, static VLAN assignment is easy and inexpensive to implement and requires no additional equipment, tools, or training.</p>
<p>The more advanced alternative to static VLAN assignments is to employ 802.1X on all edge ports. The 802.1X standard is a method of authenticating end devices to the network. Based on the results of the authentication and the policies in place, the network can automatically assign a VLAN to a port (among other things). Presumably, devices being used by employees would successfully authenticate and be placed on the employee VLAN. Devices owned by guests would fail the authentication and be placed into the guest VLAN. Implementing 802.1X however, is rather complex. It requires additional equipment to perform the authentication and run the policy engine that determines things like VLAN assignment. The upside though is that it removes the burden of manually tweaking VLAN assignments and ensures that the end devices are always placed into the correct VLAN, eliminating the risk of guests getting on the employee VLAN.</p>
<div id="attachment_945" class="wp-caption aligncenter" style="width: 569px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-access-control-wired.png"><img class="size-full wp-image-945 " title="vrf-access-control-wired" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-access-control-wired.png" alt="" width="559" height="207" /></a><p class="wp-caption-text">Access Control on Edge Ports</p></div>
<p>On the wireless side, end devices can be segmented by way of separate SSIDs for different groups of users. An SSID could be created for employees, guests, and contractors each of which is bound to its own VLAN on the uplink side of the wireless controller. Mechanisms such as 802.1X can also be employed on wireless connections to bind an end device to a certain VLAN after it&#8217;s associated with the wireless network.</p>
<div id="attachment_948" class="wp-caption aligncenter" style="width: 515px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-access-control-wireless.png"><img class="size-full wp-image-948 " title="vrf-access-control-wireless" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-access-control-wireless.png" alt="" width="505" height="423" /></a><p class="wp-caption-text">Wireless Access Control</p></div>
<p>In the end, all of these solutions segregate end devices by placing them in the appropriate VLAN. VLAN assignment is the first step in segregating end device traffic. Traffic entering the network on that VLAN will eventually hit a Layer 3 device where it will be forwarded based on the routing table that is part of the VRF to which the VLAN is bound.</p>
<div id="attachment_970" class="wp-caption aligncenter" style="width: 449px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-access-control-hitting-vrf.png"><img class="size-full wp-image-970  " title="vrf-access-control-hitting-vrf" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-access-control-hitting-vrf.png" alt="" width="439" height="232" /></a><p class="wp-caption-text">Traffic Hitting a VRF</p></div>
<h2>Path Isolation</h2>
<p>Path isolation refers to the method used within the core of the network to keep each VRF&#8217;s traffic isolated. As stated earlier, once traffic hits a Layer 3 device, it will normally be forwarded between interfaces which may allow traffic to route between VLANs. Each of the path isolation methods below keeps traffic inside its assigned VRF as it travels between Layer 3 devices.</p>
<div id="attachment_952" class="wp-caption aligncenter" style="width: 407px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-isolation-route-btwn-vlans.png"><img class="size-full wp-image-952 " title="vrf-isolation-route-btwn-vlans" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-isolation-route-btwn-vlans.png" alt="" width="397" height="232" /></a><p class="wp-caption-text">Routing Between VLANs/Subnets</p></div>
<p>The hop-by-hop method creates switched virtual interfaces (SVIs) on top of 802.1q tags between each Layer 3 device in the network. For each pair of connected devices, there is (1) SVI created per device, per VRF. Unlike a Layer 2 network where VLAN tags are bridged end-to-end, each tag is used only on one interconnect and each device acts as a Layer 3 hop in the traffic path. When everything is fully provisioned, you end up with a path through the network that is strung together by SVIs. This can be really cumbersome to manage since for every VRF you have to configure multiple interfaces from edge to edge and manage all that extra IP addressing too. If there are multiple potential paths through the network from edge to edge, then the SVI string needs to be provisioned on the alternate paths as well. The upside is that SVIs are relatively easy to understand and are very well supported on all types of hardware and software versions. Because of the large management overhead though, this method should only be used on very small networks.</p>
<div id="attachment_953" class="wp-caption aligncenter" style="width: 623px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-isolation-svi-string.png"><img class="size-full wp-image-953  " title="vrf-isolation-svi-string" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-isolation-svi-string.png" alt="" width="613" height="277" /></a><p class="wp-caption-text">Hop-by-Hop SVI Interfaces</p></div>
<p>A more scalable alternative to hop-by-hop is to encapsulate each VRF&#8217;s traffic inside a tunnel. Since a tunnel can be provisioned directly between two edge routers, nothing needs to be touched in the core of the network. In fact, the VRFs don&#8217;t even need to be provisioned in the core of the network (assuming there are no edge devices connected to the core). This simplifies the provisioning of paths through the network and eliminates the risk of a mistake being made on a core router during provisioning. If provisioned correctly, a tunnel also provides built-in path redundancy (unlike hop-by-hop which you have to manually account for). Assume an active tunnel is following this path through the network: A-&gt;B-&gt;C and that router B fails. As long as there is an alternate path through the network between the two tunnel endpoint addresses on A and C, the tunnel will re-route and the VRF traffic inside the tunnel will continue to flow. One caveat with tunneling is that not all devices perform tunneling in hardware and some don&#8217;t even support protocols such as GRE at all. You tunnel endpoints need to support GRE and depending on your traffic load, should perform GRE functions in silicon.</p>
<div id="attachment_958" class="wp-caption aligncenter" style="width: 623px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-isolation-tunnels.png"><img class="size-full wp-image-958  " title="vrf-isolation-tunnels" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-isolation-tunnels.png" alt="" width="613" height="310" /></a><p class="wp-caption-text">Edge-to-Edge Tunnels</p></div>
<p>The final and most scalable method is full on MPLS. MPLS dynamically creates paths from edge router to edge router for transporting VRF traffic through the network. Although MPLS is the most scalable it is also the most complex. An MPLS network requires BGP and LDP (Label Distribution Protocol) both of which must be well understood by the network provisioning and operations teams. MPLS also has the strictest hardware requirements of any of the path separation methods. Network devices must be capable of running BGP and LDP, must have enough memory on board to handle all the entries in the routing and label forwarding tables, and should be capable of label switching in silicon for best performance.</p>
<p>The hop-by-hop and tunnel methods are what&#8217;s known as &#8220;VRF lite&#8221; &#8212; you&#8217;re using VRFs but without full-blown MPLS to tie everything together. VRF lite is often found in enterprise networks where the number of VRFs in play are still manageable using these manual path isolation methods.</p>
<h2>Shared Services</h2>
<p>Shared services are things like DNS, DHCP, and Internet access that are typically common to all VRFs. Rather than running a set of DNS servers and a set of DHCP servers for each virtual network, you stand up one set of servers that can service everyone. Internet access is the same. Running multiple Internet services is costly and time consuming so it&#8217;s usually shared among all VRFs.</p>
<p>Shared services are typically located in their own little module that hangs off the edge of the network. This module is one of the trickiest parts of a VRF-enabled network because it&#8217;s really easy to accidentally allow traffic to leak between VRFs if proper care is not taken. Since the servers and Internet edge devices that sit in the shared services module need to talk to end devices in all the VRFs, this module needs to contain routes for all of the VRFs. It would be really easy to accidentally allow routes from VRF A to be advertised through the shared services module into VRF B (and vice-versa) thus allowing devices in A and B to freely communicate.</p>
<div id="attachment_963" class="wp-caption aligncenter" style="width: 281px"><a href="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-shared-services.png"><img class="size-full wp-image-963 " title="vrf-shared-services" src="http://www.packetmischief.ca/wordpress/wp-content/uploads/2011/11/vrf-shared-services.png" alt="" width="271" height="579" /></a><p class="wp-caption-text">Shared Services</p></div>
<p>Another big challenge with shared services is the fact that VRFs can have overlapping IP address space. It becomes increasingly difficult to provide services like DNS and DHCP on a single server for overlapping IP networks. In this case it may be necessary to actually have multiple servers that serve a subset of VRFs or even just an individual VRF. The &#8220;shared&#8221; in &#8220;shared services&#8221; now refers more to the shared infrastructure which connects these servers to the rest of the network rather than the servers themselves being shared.</p>
<h2>Final Word</h2>
<p>This is the first post in what I hope to turn into a short series on Virtual Routing and Forwarding. Future posts will discuss how to configure VRFs, practical applications for VRFs in an enterprise network, and go into more detail on shared services.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=Sa4ZQ0UTTTY:CT4WkGI1Fg8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=Sa4ZQ0UTTTY:CT4WkGI1Fg8:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=Sa4ZQ0UTTTY:CT4WkGI1Fg8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/Sa4ZQ0UTTTY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2011/11/29/an-introduction-to-layer-3-traffic-isolation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2011/11/29/an-introduction-to-layer-3-traffic-isolation/</feedburner:origLink></item>
		<item>
		<title>Net-SNMP v5.7 Issues</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/Mta7CpunQRY/</link>
		<comments>http://www.packetmischief.ca/2011/11/19/net-snmp-v5-7-issues/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 18:41:09 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[openbsd]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[snmp]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=922</guid>
		<description><![CDATA[The last time I upgraded Net-SNMP it wasn&#8217;t reporting the hrSystemProcesses OID. I wrote about that here. This time around I&#8217;ve upgraded to v5.7 and [...]]]></description>
			<content:encoded><![CDATA[<p>The last time I upgraded Net-SNMP it wasn&#8217;t reporting the hrSystemProcesses OID. I wrote about that <a title="Net-SNMP 5.6.1 Missing hrSystemProcesses OID" href="http://www.packetmischief.ca/2011/06/17/net-snmp-5-6-1-missing-hrsystemprocesses-oid/">here</a>. This time around I&#8217;ve upgraded to v5.7 and discovered two issues so far.</p>
<p><span id="more-922"></span></p>
<p>I was able to reproduce both of these issues on OpenBSD/i386 5.0.</p>
<p class="exclaim">UPDATE 2011-11-29: Net-SNMP 5.7.1 + fixes has been pushed to the OpenBSD 5.0-stable <a class="exclaim" href="http://www.openbsd.org/cgi-bin/cvsweb/ports/net/net-snmp/Makefile#rev1.58.2.1">ports collection</a><span class="exclaim"> as well as </span><a class="exclaim" href="http://www.openbsd.org/cgi-bin/cvsweb/ports/net/net-snmp/Makefile#rev1.62">-current ports</a><span class="exclaim">. OpenBSD users should sync their ports tree and rebuild ports/net/net-snmp to alleviate the issues below.<br />
</span></p>
<h3>#1 &#8211; Values returned by hrStorageUsed are incorrect</h3>
<p>The first is with respect to the values returned via hrStorageUsed in the HOST-RESOURCES-MIB. The numbers are way off. For example, prior to the upgrade a disk that reported hrStorageUsed of 1873784 units (3.8GB) now reports 23920757 units (49GB). The Net-SNMP <a href="http://net-snmp.git.sourceforge.net/git/gitweb.cgi?p=net-snmp/net-snmp;a=history;f=agent/mibgroup/hardware/fsys/hw_fsys.c;h=36fc20874ecc49e363a25719d3ad338b13c41f22;hb=HEAD">git repo</a> shows there&#8217;s been some changes since v5.6.1 in the code that gathers disk stats. Looks like a bug was introduced somewhere.</p>
<p>Solution: Use Net-SNMP v5.7.1. The hrStorageUsed values in v5.7.1 are consistent with the values returned from v5.6.x. OpenBSD users, the net/net-snmp port in CVS HEAD is already updated to 5.7.1. Sync up and go.</p>
<h3>#2 &#8211; Segfault when querying hrStorageTable</h3>
<p>The second issue is a segfault in snmpd when querying the hrStorageTable. The segfault is happening on the memcpy() call(s) in netsnmp_fsys_arch_load(). The segfault is inconsistent. Sometimes you can get a handful of good queries and responses before it happens. Other times it happens on the first query. I don&#8217;t know why the segfault is happening, but I know that replacing memcpy() with strncpy() eliminates it. This is pretty hackish but I&#8217;m not skilled enough to debug this any further.</p>
<p>Solution: Apply the patch <a href="/files/openbsd/patches/patch-net-snmp-5.7-hrmib-segfault.patch">here</a>. On OpenBSD you should be able to save the patch into ports/net/net-snmp/patches/ and rebuild the port. You will need this on Net-SNMP v5.7 and 5.7.1.</p>
<h3>Am I the only one?</h3>
<p>Are other Net-SNMP users seeing these issues? Does anyone even use Net-SNMP anymore (particularly on OpenBSD)? Please leave a comment and let me know.</p>
<p>I&#8217;m crossing my fingers that I won&#8217;t have to write another patch file the next time I upgrade Net-SNMP.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=Mta7CpunQRY:O0UzNOaC0_c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=Mta7CpunQRY:O0UzNOaC0_c:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=Mta7CpunQRY:O0UzNOaC0_c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/Mta7CpunQRY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2011/11/19/net-snmp-v5-7-issues/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2011/11/19/net-snmp-v5-7-issues/</feedburner:origLink></item>
		<item>
		<title>Packets of Interest 11-11-16</title>
		<link>http://feedproxy.google.com/~r/packetmischief/~3/w_rt23KAqNI/</link>
		<comments>http://www.packetmischief.ca/2011/11/16/packets-of-interest-11-11-16/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 04:27:05 +0000</pubDate>
		<dc:creator>Joel Knight</dc:creator>
				<category><![CDATA[IT Pro]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[poi]]></category>

		<guid isPermaLink="false">http://www.packetmischief.ca/?p=913</guid>
		<description><![CDATA[I read two interesting articles on VTP (Cisco&#8217;s VLAN Trunking Protocol) this week. The first is an older article from networkworld.com that reminds us all [...]]]></description>
			<content:encoded><![CDATA[<p>I read two interesting articles on VTP (Cisco&#8217;s VLAN Trunking Protocol) this week.</p>
<p>The first is an older article from networkworld.com that reminds us all that VTP clients are also capable of updating VLANs on the network, not just servers.</p>
<blockquote><p>When I first heard that a VTP client can update a VTP server under the right conditions, I was frankly a non-believer. No way. I&#8217;d seen evidence to the contrary in several documents at cisco.com and in Cisco courses &#8211; but all the evidence was written, without my doing any experiments. So, I spent some time experimenting a few years ago, and found that it&#8217;s true &#8211; clients can overwrite VTP server&#8217;s VLAN databases.</p></blockquote>
<p>Full article is here <a href="http://www.networkworld.com/community/node/19931">http://www.networkworld.com/community/node/19931</a>.</p>
<p>The second article comes from etherealmind.com and is one of the only positive articles I&#8217;ve ever read about VTP. Greg&#8217;s take is that VTP is not inherently bad but instead the way network engineers deploy it is the reason it&#8217;s capable of causing so much damage.</p>
<blockquote><p>A lot of people regard Cisco’s Virtual Trunking Protocol(VTP) as nothing but trouble. Frankly it’s hard to find many people who will implement it on their network and most people have war stories about full site outages caused by VTP and switch installs. I find this baffling – it’s a great technology that dramatically reduces time, configuration errors, and improves troubleshooting – features that we should all embrace and use wherever we can. In this post, I want to suggest a different design method for effectively using VTP in your network.</p></blockquote>
<p>Full post is here <a href="http://etherealmind.com/vtp-design-fate-sharing-failure-domains/">http://etherealmind.com/vtp-design-fate-sharing-failure-domains/</a>.</p>
<hr style="border-top:black solid 1px" />Copyright Joel Knight. All Rights Reserved.<br />
 <a href="http://www.packetmischief.ca">www.packetmischief.ca</a>
<br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/packetmischief?a=w_rt23KAqNI:YD01rs019GI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=w_rt23KAqNI:YD01rs019GI:q9ztPQMVUaM"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=q9ztPQMVUaM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/packetmischief?a=w_rt23KAqNI:YD01rs019GI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/packetmischief?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/packetmischief/~4/w_rt23KAqNI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.packetmischief.ca/2011/11/16/packets-of-interest-11-11-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.packetmischief.ca/2011/11/16/packets-of-interest-11-11-16/</feedburner:origLink></item>
	</channel>
</rss>

