<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Certification on 0x2142 | Networking Nonsense</title>
    <link>https://0x2142.com/tags/certification/</link>
    <description>Recent content in Certification on 0x2142 | Networking Nonsense</description>
    <image>
      <title>0x2142 | Networking Nonsense</title>
      <url>https://0x2142.com/logo.jpg</url>
      <link>https://0x2142.com/logo.jpg</link>
    </image>
    <generator>Hugo -- 0.143.1</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 18 Apr 2024 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://0x2142.com/tags/certification/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[How To] Set up Cisco Modeling Labs (CML) on Proxmox</title>
      <link>https://0x2142.com/how-to-setup-cml-on-proxmox/</link>
      <pubDate>Thu, 18 Apr 2024 12:00:00 +0000</pubDate>
      <guid>https://0x2142.com/how-to-setup-cml-on-proxmox/</guid>
      <description>In this blog post, we&amp;rsquo;ll walk through how to set up &amp;amp; install Cisco Modeling Labs (CML) on Proxmox</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Ajpi_vVTtLc?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

<p>With a lot of the recent nonsense going on after VMware was acquired last year, I&rsquo;m seeing people start to look for ESX alternatives - especially for home labs. In fact, I also just <a href="https://www.youtube.com/watch?v=MS4ERrvG9eM">migrated</a> my home lab from ESX to Proxmox.</p>
<p>One of the things I needed to keep running was Cisco Modeling Labs (CML). I often use CML to build quick virtual topologies for testing things, so it was important for me that it worked on Proxmox.</p>
<p>It&rsquo;s worth noting that Proxmox isn&rsquo;t an officially supported platform. The <a href="https://developer.cisco.com/docs/modeling-labs/#!system-requirements">docs</a> state that only bare metal &amp; VMware platforms are supported.</p>
<p>That being said, I&rsquo;m happy to say that Proxmox has worked just fine for me - it just needed a few tweaks. Though just be warned that you may still run into issues and it is technically an unsupported configuration.</p>
<p>In the post below, I&rsquo;ll share the steps that I used to get CML up &amp; running on Proxmox.</p>
<hr>
<h2 id="prerequisites">Prerequisites</h2>
<p>To start with, we&rsquo;ll need a few things:</p>
<ul>
<li>A server running Proxmox
<ul>
<li>I&rsquo;m currently using version 8.1.3</li>
</ul>
</li>
<li>A CML install ISO, found <a href="https://software.cisco.com/download/home/286193282/type/286326381/release/2.6.1">here</a>
<ul>
<li>We&rsquo;ll be using version 2.6.1 for this guide</li>
</ul>
</li>
<li>CML&rsquo;s reference platform ISO, also found at the link above</li>
</ul>
<p>Our Proxmox machine will still need enough resources to build a VM with the minimum requirements listed <a href="https://developer.cisco.com/docs/modeling-labs/#!system-requirements">here</a>.</p>
<p>The CML &amp; refplat ISOs should be placed into a Proxmox ISO storage location.</p>
<h2 id="creating-the-vm">Creating the VM</h2>
<p>Next we can get to the fun part: Setting up the VM in Proxmox.</p>
<p>We&rsquo;ll first locate a node in Proxmox to place our VM. Then right-click that node &amp; select <strong>Create VM</strong>:</p>
<p><img alt="new-vm" loading="lazy" src="/how-to-setup-cml-on-proxmox/new-vm.png#center"></p>
<p>Then, we&rsquo;ll give our VM a name &amp; ID. I&rsquo;ve named mine <strong>CML</strong>:</p>
<p><img alt="vm-general" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-general.png#center"></p>
<p>On the next page, we can select our CML ISO from the correct storage device. We can leave the Guest OS as <strong>Linux</strong> and <strong>6.x - 2.6 Kernel</strong>:</p>
<p><img alt="vm-os" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-os.png#center"></p>
<p>Next, we&rsquo;ll need to make some minor adjustments on the <strong>System</strong> tab.</p>
<p>The default BIOS will likely be set to <strong>Default (SeaBIOS)</strong>. We&rsquo;ll change that to <strong>OVMF (UEFI)</strong>, which will also give us a few additional options.</p>
<p>We&rsquo;ll keep <strong>Add EFI Disk</strong> checked, and select a storage location for that EFI disk.</p>
<p><img alt="vm-system" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-system.png#center"></p>
<p>On the <strong>Disks</strong> tab, feel free to increase the size of the VM disk. While 32GB is the minimum required, you&rsquo;ll likely want more than that. I&rsquo;ve increased mine to 50G for now. Keep the image format as <strong>QEMU</strong>.</p>
<p>We&rsquo;ll also want to update the <strong>Async IO</strong> setting to <strong>native</strong>. This is hidden under the <strong>Advanced</strong> settings:</p>
<p><img alt="vm-disk" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-disk.png#center"></p>
<p>On the <strong>CPU</strong> tab, we&rsquo;ll update the core count to a minimum of 4 per the requirements. Of course, you&rsquo;re welcome to increase this as needed.</p>
<p>More importantly however, we&rsquo;ll need to set the CPU <strong>type</strong> to <strong>host</strong>. This allows the VM to use the underlying nested virtualization features:</p>
<p><img alt="vm-cpu" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-cpu.png#center"></p>
<p>Next we can assign memory to our VM.</p>
<p>The requirements state a minimum of 8GB, however this will likely only accommodate simpler labs. Some individual CML nodes require more than that to start.</p>
<p>In my case, I&rsquo;ll start with 32GB - and we can always increase this later:</p>
<p><img alt="vm-memory" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-memory.png#center"></p>
<p>Lastly, on the <strong>Network</strong> tab, no changes are necessary. Of course, you can assign a VLAN if needed.</p>
<p><img alt="vm-network" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-network.png#center"></p>
<p>After that, we can head over to the <strong>Confirm</strong> tab &amp; finish up the wizard.</p>
<h2 id="add-refplat-iso">Add Refplat ISO</h2>
<p>Next, we&rsquo;ll need to make sure our reference platform ISO is connected to the VM.</p>
<p>We&rsquo;ll head over to the VM&rsquo;s hardware tab, then click <strong>Add</strong> and select <strong>CD/DVD Drive</strong>:</p>
<p><img alt="vm-add-cdrom" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-add-cdrom.png#center"></p>
<p>Then we&rsquo;ll select the appropriate ISO storage, and pick our refplat ISO file:</p>
<p><img alt="vm-add-refplat" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-add-refplat.png#center"></p>
<h2 id="install-cml">Install CML</h2>
<p>Once that&rsquo;s done, we can go ahead and power on our VM &amp; pop open the console!</p>
<p>If you&rsquo;ve installed CML previously on another platform, this process is just the same.</p>
<p><img alt="con-install" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-install.png#center"></p>
<p>At boot, we&rsquo;ll select <strong>Install CML</strong>.</p>
<p>After a moment &amp; a few screens, we&rsquo;ll start the system configuration.</p>
<p>First, we&rsquo;ll input a system hostname:</p>
<p><img alt="con-hostname" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-hostname.png#center"></p>
<p>Then, we&rsquo;ll input credentials for the system management user.</p>
<blockquote>
<p>Note: This user isn&rsquo;t used to log into the CML software. Rather, it&rsquo;s used for system administration tasks via the <a href="https://cockpit-project.org/">Cockpit UI</a>, such as: Installing updates, checking logs, joining a domain, or powering off / rebooting the system.</p></blockquote>
<p><img alt="con-sysadmin" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-sysadmin.png#center"></p>
<p>After that, we can configure our CML admin user:</p>
<p><img alt="con-cmladmin" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-cmladmin.png#center"></p>
<p>Next we have our network config. By default, CML will prompt to use DHCP, but we&rsquo;ll likely want to change this to a static IP assignment:</p>
<p><img alt="con-networktype" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-networktype.png#center"></p>
<p><img alt="con-staticip" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-staticip.png#center"></p>
<p>After that, CML will prompt us to confirm our settings - then it will begin the installation. Since a lot of the VM images come from the reference platform ISO, this process may take a while as each of those images are copied over to the system.</p>
<p>When CML is ready, we&rsquo;ll see something similar on the console telling us how to reach the web UI:</p>
<p><img alt="con-alldone" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-alldone.png#center"></p>
<p>Again for reference, the main UI is reachable at <code>https://&lt;CML IP&gt;</code> and the Cockpit management UI is at <code>https://&lt;CML IP&gt;:9090</code>.</p>
<p>At this point, we can log in &amp; start building labs!</p>
<hr>
<p>The process for setting up CML on Proxmox isn&rsquo;t super crazy, but there are just a few tweaks that need to be made during setup. I wrote this hoping that if anyone else out there is trying to set this up, maybe it would help.</p>
<p>As always, Thanks for reading!</p>
]]></content:encoded>
    </item>
    <item>
      <title>JNCIA-Cloud Study Resources (All Free!)</title>
      <link>https://0x2142.com/jncia-cloud-study-resources-all-free/</link>
      <pubDate>Mon, 22 Mar 2021 11:46:00 +0000</pubDate>
      <guid>https://0x2142.com/jncia-cloud-study-resources-all-free/</guid>
      <description>Let&amp;rsquo;s look at some free resources for studying for the JNCIA-Cloud!</description>
      <content:encoded><![CDATA[<p><sup>The post below was contributed by guest author: <a href="https://twitter.com/NikkiMegaplaza">Nicole Henry</a></sup></p>
<hr>
<p>Hey everyone. I&rsquo;ve got another present for you - Free study resources to use while studying for Juniper Network&rsquo;s JNCIA-Cloud cert (As a reminder, I also gave a list of <a href="/jncia-junos-study-resources/">Free study resources for the JNCIA-Junos exam</a>).</p>
<h2 id="1-juniper-open-learning">1) Juniper Open Learning</h2>
<p>If you were familiar with Junos Genius, it was discontinued, but all the Associate level material can be now found <a href="https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=11478&amp;ref=0x2142.com">Juniper Open Learning</a> for free. Lots of videos &amp; practice exams to get your prepared for the Associate level exams!!</p>
<h2 id="2-juniper-networks-day-one-books">2) Juniper Networks Day One Books</h2>
<p>Description: &ldquo;Day One Books cover networking technologies using step-by-step instructions and practical examples written by working engineers.&rdquo; Here&rsquo;s the link to the <a href="https://www.juniper.net/documentation/jnbooks/en_US/day-one-books/?ref=0x2142.com">Day One Books</a>; there are numerous Day One Books, and I guarantee you&rsquo;ll learn a lot. Me, personally, I like to read with physical books, so I bought the &ldquo;Day One: Data Center Fundamentals&rdquo; book for myself. But here&rsquo;s the <a href="https://www.juniper.net/documentation/en_US/day-one-books/DC_Fundamentals.pdf?ref=0x2142.com">pdf version</a> !!!!</p>
<h2 id="3-documentation-aka-techlibrary">3) Documentation (aka &lsquo;TechLibrary&rsquo;)</h2>
<p>First: For any cert, print &amp; follow the <a href="https://www.juniper.net/us/en/training/certification/certification-tracks/cloud-track/?tab=jncia-cloud&amp;ref=0x2142.com">Exam Objectives</a>.</p>
<p>Second: As you&rsquo;ll see from the Exam Objectives, there are a lot of Juniper solutions on this exam. Luckily their &lsquo;TechLibrary&rsquo; is FILLED with all the info you need about the specific products. I really hope you like to read; you&rsquo;ll be doing a lot of that. Tehehehee!</p>
<h2 id="4-network-fun-times-blog">4) Network Fun Times blog</h2>
<p>This guy <a href="https://twitter.com/NetworkFunTimes?ref=0x2142.com">Chris</a> (who is a Juniper Ambassador!!) made a LENGTHY blog post about what he used to study &amp; <a href="https://www.networkfuntimes.com/jncia-cloud-the-ultimate-resource-for-junipers-sdn-certification/?ref=0x2142.com">pass the JNCIA-Cloud</a>. I visited this blog post countless times b/c it is just THAT GOOD. Use it. Bookmark it.</p>
<p>And that&rsquo;s it! Those are all the resources I used to pass the JNCIA-CLOUD. All FREE! I hope you found this thread useful.</p>
<ul>
<li>Nicole</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>JNCIA-Junos Study Resources (All Free!)</title>
      <link>https://0x2142.com/jncia-junos-study-resources/</link>
      <pubDate>Wed, 03 Feb 2021 10:12:03 +0000</pubDate>
      <guid>https://0x2142.com/jncia-junos-study-resources/</guid>
      <description>Thinking about going for the JNCIA-Junos? Here&amp;rsquo;s some great free resources to get you started!</description>
      <content:encoded><![CDATA[<p><sup>The post below was contributed by guest author: <a href="https://twitter.com/NikkiMegaplaza">Nicole Henry</a></sup></p>
<hr>
<p>Hi, hello. Nicole here.</p>
<p>Do you want to diversify your skillset &amp; learn JunOS? Do you want to be able to add JNCIA-Junos to your resume? Here&rsquo;s a thread of the <del>free</del> resources I used!</p>
<p><a href="https://twitter.com/NikkiMegaplaza/status/1351695140310675457">Link to the original twitter thread</a></p>
<h2 id="1-junos-genius">1) Junos Genius</h2>
<p><a href="https://learningportal.juniper.net/juniper/default.aspx">Junos Genius</a> is an amazing, stupendous, fantastic resource. USE THIS!! Create an account, scroll down to Juniper Open Learning, &amp; select JNCIA-Junos (or whichever cert track in which you&rsquo;re interested). At the time of this post, once you finish all the videos &amp; practice test(s), there will be a voucher test. If you pass the voucher test, you&rsquo;ll receive a voucher for 75% off any Associate Level exam. Again, USE JUNOS GENIUS!! Watch all the vids, take all the practice tests.</p>
<p><strong>UPDATE</strong>
All the material from Junos Genius has been moved to <a href="https://learningportal.juniper.net/juniper/default.aspx">Juniper Open Learning</a> within the Learning Portal. The content is the same, just in a new location.</p>
<h2 id="2-day-one-beginners-guide-to-learning-junos">2) &ldquo;Day One: Beginner&rsquo;s Guide to Learning Junos&rdquo;</h2>
<p>It&rsquo;s easy to read and is a very nice complement to Junos Genius. I HIGHLY recommend it. <a href="https://www.juniper.net/documentation/en_US/day-one-books/junos-beginners-guide.pdf">Here&rsquo;s the pdf</a>.</p>
<h2 id="-3-junos-for-ios-engineers">## 3) &ldquo;Junos for IOS Engineers&rdquo;</h2>
<p>If you&rsquo;re familiar with Cisco IOS, &ldquo;<a href="https://www.juniper.net/documentation/jnbooks/en_US/day-one-books/">Junos for IOS Engineers</a>&rdquo; is another option for you. (click the link &amp; scroll down until you see the book). There are a bunch of Day One books, I&rsquo;ve already read 2, so much information!!!</p>
<blockquote>
<p>Side note: Juniper Networks has a collection of books written by industry professionals on a variety of topics. These books are called <a href="https://www.juniper.net/documentation/jnbooks/en_US/day-one-books/">Day One books</a>. They can be found here. And if you&rsquo;re like me and you like physical books, you have the option to buy books from the virtual <a href="https://store.vervante.com/c/v/category_order.html?base_cat=Juniper%20Networks%3aShop%20Day%20One%20Books&amp;pard=juniper">bookstore</a> !!</p></blockquote>
<h2 id="4-juniper-vlabs">4) Juniper vLabs</h2>
<p>Don&rsquo;t have any physical equipment?? No problem!! Use <a href="https://jlabs.juniper.net/vlabs/">vLabs</a> for practice!!! Definitely watch the video on the home page before you get started; it&rsquo;s a good introduction to vlabs &amp; how to use it. Super highly recommend vLabs.</p>
<h2 id="5-youtube">5) Youtube</h2>
<p>Here&rsquo;s some random youtube videos that I really liked:</p>
<ul>
<li>&ldquo;<a href="https://www.youtube.com/watch?v=n_SdUg1JERY&amp;ref=0x2142.com">Using Juniper for the First Time | JunOS CLI</a>&rdquo;</li>
<li>&ldquo;<a href="https://www.youtube.com/watch?v=d6JalryPoNc&amp;ref=0x2142.com">Interface Naming Conventions</a>&rdquo;</li>
<li>&ldquo;<a href="https://www.youtube.com/watch?v=VNLPnFEzcco&amp;ref=0x2142.com">Juniper Device Interfaces</a>&rdquo;</li>
<li>&ldquo;<a href="https://www.youtube.com/watch?v=EmHYaQxft94&amp;ref=0x2142.com">Juniper Networks JNCIA-Junos Certification Practice Test</a>&rdquo;</li>
</ul>
<p>And that&rsquo;s all! Those are the resources I used - all free. I knew nothing about Junos, and it took about 2 months to study for the exam using those resources and I passed on the first attempt. I hope you found this thread useful.</p>
<p>(Shoutout to Matt for letting me use his site to make this post)</p>
]]></content:encoded>
    </item>
    <item>
      <title>L2 Basics: Configuring an EtherChannel</title>
      <link>https://0x2142.com/l2-basics-configuring-an-etherchannel/</link>
      <pubDate>Tue, 30 Jan 2018 10:00:46 +0000</pubDate>
      <guid>https://0x2142.com/l2-basics-configuring-an-etherchannel/</guid>
      <description>How to configure a basic etherchannel on Cisco devices</description>
      <content:encoded><![CDATA[<p>Today we&rsquo;re going to take a look at how to configure an etherchannel between two Cisco Switches.</p>
<p>What is an etherchannel? It&rsquo;s a way of taking multiple independent links and bundling them together, so that they appear as one logical connection between two devices. Etherchannels are commonly used between two switches, or between a switch and a host - which allows for both additional bandwidth and fault tolerance/redundancy. In the example today, we&rsquo;ll be using an etherchannel protocol called Link Aggregation Control Protocol (LACP). LACP is an IEEE standard (802.3ad).</p>
<p>You might be thinking &ldquo;Wait, wouldn&rsquo;t multiple links cause a loop? Or trigger <a href="/l2-basics-spanning-tree-protocol/">Spanning-tree</a> to block ports?&rdquo;. Not in this case! Etherchannel technologies work around those problems by creating a single logical interface for spanning-tree to worry about. The etherchannel protocol itself worries about loop prevention in between the two devices, so we get multiple ports of non-blocking bandwidth.</p>
<p>For everything we cover in this example, we&rsquo;ll be using the following topology:</p>
<p><img alt="image" loading="lazy" src="/content/images/2018/01/lacp.png#center"></p>
<p>So we have two switches, which are connected together via Eth0/0 and Eth0/1. Each switch has three VLANs configured - 10, 20, and 30.</p>
<h2 id="configuring-an-etherchannel">Configuring an Etherchannel</h2>
<p>I&rsquo;ll only be showing the configuration from the perspective of 0x2142-SW1 - but all configuration is replicated on 0x2142-SW2.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">! We&#39;ll use the interface range command to apply the etherchannel configuration to
</span></span><span class="line"><span class="cl">! both Eth0/0 and Eth0/1 at the same time:
</span></span><span class="line"><span class="cl">0x2142-SW1(config)#int range Eth0/0 - 1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">! We specify which etherchannel protocol to use by configuring &#39;channel-protocol&#39;
</span></span><span class="line"><span class="cl">! PAgP is a Cisco Proprietary protocol, but we&#39;ll be using LACP for this example:
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if-range)#channel-protocol ?
</span></span><span class="line"><span class="cl">  lacp  Prepare interface for LACP protocol
</span></span><span class="line"><span class="cl">  pagp  Prepare interface for PAgP protocol
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if-range)#channel-protocol lacp
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">! Next we need to specify a channel-group and mode:
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if-range)#channel-group 1 mode ?
</span></span><span class="line"><span class="cl">  active     Enable LACP unconditionally
</span></span><span class="line"><span class="cl">  auto       Enable PAgP only if a PAgP device is detected
</span></span><span class="line"><span class="cl">  desirable  Enable PAgP unconditionally
</span></span><span class="line"><span class="cl">  on         Enable Etherchannel only
</span></span><span class="line"><span class="cl">  passive    Enable LACP only if a LACP device is detected
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if-range)#channel-group 1 mode active
</span></span><span class="line"><span class="cl">Creating a port-channel interface Port-channel 1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if-range)#
</span></span><span class="line"><span class="cl">*Jan 26 01:03:04.532: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel1, changed state to up
</span></span></code></pre></div><p>Let&rsquo;s talk through a few notes about the above configuration. In order to enable etherchannel, we only need to configure two commands: <code>channel-protocol</code> and <code>channel-group</code>. The <code>channel-protocol</code> command tells the switch which etherchannel protocol to use for negotiation (LACP in this case). The <code>channel-group</code> command provides two necessary components: the group number and mode. The group number is just a device-local identifier for which group to add these ports to. When we specified group 1, the switch adds both Eth0/0 and Eth0/1 into the new logical interface Port-Channel 1.</p>
<p>The etherchannel mode is also important. The two primary options we want to look at for LACP are active and passive. Active tells the switch to preemptively send out LACP negotiation packets. In this case, the switch really wants the ports to become a bundle and will ask it&rsquo;s partner device for an etherchannel to be formed. Passive mode tells our switch to only negotiate if another device wants to. In this mode, our switch won&rsquo;t send out any etherchannel negotiation packets unless its partner device does so first.</p>
<p>Generally speaking, the most common configuration is to set the mode on both devices to active. This ensures that both devices actively participate in trying to establish an etherchannel. Placing one device in active and one in passive will work as well. However, if both devices are placed into passive mode, an etherchannel will never form.</p>
<h2 id="validation">Validation</h2>
<p>So how do we validate that the etherchannel has formed correctly? One way is using the <code>show etherchannel summary</code> command:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">0x2142-SW1#show etherchannel summary
</span></span><span class="line"><span class="cl">Flags:  D - down        P - bundled in port-channel
</span></span><span class="line"><span class="cl">        I - stand-alone s - suspended
</span></span><span class="line"><span class="cl">        H - Hot-standby (LACP only)
</span></span><span class="line"><span class="cl">        R - Layer3      S - Layer2
</span></span><span class="line"><span class="cl">        U - in use      N - not in use, no aggregation
</span></span><span class="line"><span class="cl">        f - failed to allocate aggregator
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        M - not in use, minimum links not met
</span></span><span class="line"><span class="cl">        m - not in use, port not aggregated due to minimum links not met
</span></span><span class="line"><span class="cl">        u - unsuitable for bundling
</span></span><span class="line"><span class="cl">        w - waiting to be aggregated
</span></span><span class="line"><span class="cl">        d - default port
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        A - formed by Auto LAG
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Number of channel-groups in use: 1
</span></span><span class="line"><span class="cl">Number of aggregators:           1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Group  Port-channel  Protocol    Ports
</span></span><span class="line"><span class="cl">------+-------------+-----------+-----------------------------------------------
</span></span><span class="line"><span class="cl">1      Po1(SU)         LACP      Et0/0(P)    Et0/1(P)
</span></span></code></pre></div><p>From the output above, we see that there is one group configured with the group ID of 1. It shows that both Eth0/0 and Eth0/1 have been added into the Port-channel 1 interface. The (SU) next to the Port-channel interface indicate that the etherchannel is up (U) and configured for layer 2 (S).
I mentioned earlier that spanning-tree only worries about the port-channel interface, not the individual member ports. We can also check that out by using <code>the show spanning-tree</code> command:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">0x2142-SW1#sh spanning-tree vlan 20
</span></span><span class="line"><span class="cl">VLAN0020
</span></span><span class="line"><span class="cl">  Spanning tree enabled protocol rstp
</span></span><span class="line"><span class="cl">  Root ID    Priority    32788
</span></span><span class="line"><span class="cl">             Address     aabb.cc00.1000
</span></span><span class="line"><span class="cl">             This bridge is the root
</span></span><span class="line"><span class="cl">             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  Bridge ID  Priority    32788  (priority 32768 sys-id-ext 20)
</span></span><span class="line"><span class="cl">             Address     aabb.cc00.1000
</span></span><span class="line"><span class="cl">             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
</span></span><span class="line"><span class="cl">             Aging Time  300 sec
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Interface           Role Sts Cost      Prio.Nbr Type
</span></span><span class="line"><span class="cl">------------------- ---- --- --------- -------- --------------------------------
</span></span><span class="line"><span class="cl">Et0/2               Desg FWD 100       128.3    Shr
</span></span><span class="line"><span class="cl">Et0/3               Desg FWD 100       128.4    Shr
</span></span><span class="line"><span class="cl">&lt;-- Output omitted --&gt;
</span></span><span class="line"><span class="cl">Po1                 Desg FWD 56        128.65   Shr
</span></span></code></pre></div><h2 id="making-configuration-changes-to-an-etherchannel">Making Configuration Changes to an Etherchannel</h2>
<p>Now that we have a working etherchannel - We have a few things that need special attention. The individual port configurations, Eth0/0 and Eth0/1 in this case, need to match at all times! Port configuration mis-matches are going to be an easy way to inadvertently bring down the port-channel. The good thing is that we now have a convenient Port-Channel interface which we can use for configuration. This logical port will replicate any configuration changes to all member ports.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">! Let&#39;s jump into our Port-Channel 1 interface and configure a trunk for VLAN 20
</span></span><span class="line"><span class="cl">0x2142-SW1(config)#int po1
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if)#switchport mode trunk
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if)#switchport trunk allowed vlan 20
</span></span><span class="line"><span class="cl">! Now we can check the individual port configs:
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if)#do sh run int e0/0
</span></span><span class="line"><span class="cl">Building configuration...
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Current configuration : 176 bytes
</span></span><span class="line"><span class="cl">!
</span></span><span class="line"><span class="cl">interface Ethernet0/0
</span></span><span class="line"><span class="cl"> switchport trunk allowed vlan 20
</span></span><span class="line"><span class="cl"> switchport mode trunk
</span></span><span class="line"><span class="cl"> channel-protocol lacp
</span></span><span class="line"><span class="cl"> channel-group 1 mode active
</span></span><span class="line"><span class="cl">end
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if)#do sh run int e0/1
</span></span><span class="line"><span class="cl">Building configuration...
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Current configuration : 176 bytes
</span></span><span class="line"><span class="cl">!
</span></span><span class="line"><span class="cl">interface Ethernet0/1
</span></span><span class="line"><span class="cl"> switchport trunk allowed vlan 20
</span></span><span class="line"><span class="cl"> switchport mode trunk
</span></span><span class="line"><span class="cl"> channel-protocol lacp
</span></span><span class="line"><span class="cl"> channel-group 1 mode active
</span></span><span class="line"><span class="cl">end
</span></span></code></pre></div><p>Easy enough, right? The configuration changes for the trunk are now on both Eth0/0 and Eth0/1.</p>
<h2 id="troubleshooting-etherchannels">Troubleshooting Etherchannels</h2>
<p>There is always a possibility that something goes wrong - so let&rsquo;s take a quick look at some common problems and how to fix them.</p>
<p>Remember how I said that the member port configurations had to match? Here&rsquo;s what happens if we make a configuration change on only one of the two member ports:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">0x2142-SW1(config)#int eth0/1
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if)#switchport trunk allowed vlan 30
</span></span><span class="line"><span class="cl">0x2142-SW1(config-if)#
</span></span><span class="line"><span class="cl">*Jan 28 20:43:55.458: %EC-5-CANNOT_BUNDLE2: Et0/1 is not compatible with Et0/0 and will be suspended (vlan mask is different)
</span></span></code></pre></div><p>Eth0/1 immediately gets put into a suspended state, and is no longer active in the port-channel interface. In this case the switch gives us a good hint as to what&rsquo;s wrong - vlan mask is different. Error messages will vary slightly, but a suspended port is easy to fix by comparing individual port configurations and fixing the mismatch.</p>
<p>Here&rsquo;s another one:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">*Jan 28 21:06:07.346: %EC-5-L3DONTBNDL2: Et0/0 suspended: LACP currently not enabled on the remote port.
</span></span><span class="line"><span class="cl">*Jan 28 21:06:08.009: %EC-5-L3DONTBNDL2: Et0/1 suspended: LACP currently not enabled on the remote port.
</span></span></code></pre></div><p>This error message can mean a few things - the common one being exactly what it states! Check both sides of the connection, and ensure that LACP is configured on each device. This error message can also occur on certain mismatches - like if one side is running as a Layer 2 etherchannel, but the other side is running as Layer 3.</p>
<p>One more:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Jan 28 20:83:55.458 %ETHPORT-5-IF_DOWN_PORT_CHANNEL_MEMBERS_DOWN: Interface port-channel1 is down (No operational members)
</span></span></code></pre></div><p>The above message is also somewhat self-explanatory. In this case, the switch is unable to bring up the port-channel interface, because none of the underlying member ports are coming online. Troubleshoot what might be wrong with those ports first, then the port-channel should come up.</p>
<hr>
<p>Hope this was useful! In a later post, we&rsquo;ll dig into more configuration and considerations - like packet hashing, layer 3 etherchannels, and how packets are weighted between interfaces.</p>
<p>Questions? Drop them in the comments below!</p>
]]></content:encoded>
    </item>
    <item>
      <title>One Year Later</title>
      <link>https://0x2142.com/one-year-later/</link>
      <pubDate>Tue, 02 Jan 2018 08:51:47 +0000</pubDate>
      <guid>https://0x2142.com/one-year-later/</guid>
      <description>Some thoughts on the past year, and goals for the year to come</description>
      <content:encoded><![CDATA[<p>2017 is over! Now we&rsquo;re on to whatever 2018 may bring. The past year has been very interesting for me. For one thing, it was the first full year of this blog which started in <a href="/a-new-start/">December of 2016</a>. While I didn&rsquo;t quite accomplish everything here that I had hoped for, I still managed to do a lot more than I realistically expected.</p>
<p>One of the things I&rsquo;ve had problems with in the past is keeping a blog updated. Usually I would start, write an entry or two, then completely forget about it. I never thought I had good enough content to warrant sharing, or I was trying to keep to too narrow a topic. So when I started this blog, I said that I was going to focus on networking but leave it a bit more open-ended. I also wanted to try sharing some more generalized IT experience and career advice. I started off with a list of topics that I wanted to write about, and even began pre-writing a few of them so that I had a bit of content lined up ahead of time.</p>
<p>Even though I told myself originally that I was only going to post something whenever I had something good to share, I still ended up setting myself a goal of writing one thing a week. For a while this actually worked out, because I was forcing myself to think about it more often - but eventually I ran out of immediate ideas. I had to remind myself that it was more important for me to write/post content that was actually worth reading, not just having something available on a weekly basis. Even so, I&rsquo;ve managed to post 44 items since I started, 40 of which were in 2017 - Much better than I had actually anticipated.</p>
<p>So here is to 2018 - I&rsquo;m not going to try and set any strict goals for myself in terms of posting content (or at least I&rsquo;ll tell myself that now). However, I&rsquo;m also going to try and work on getting better at putting up content. I spend too much time waiting for that &lsquo;great thing&rsquo; to write about, and not enough time on just writing something that might not be particularly fantastic - even though it might still benefit someone. I feel like I have a lot to share, and not everyone is an expert. Continuing to think that much of my content &lsquo;isn&rsquo;t good enough to post&rsquo; is just holding me back. I&rsquo;m going to try and be better this year about this - and not keep waiting for only the &lsquo;great things&rsquo; to share.</p>
<p>The other big thing I&rsquo;ll be focusing on this year is studying for the CCIE R&amp;S, which I <a href="/my-2018-goal-ccie-rs/">wrote about</a> in October. I bought a few books and found some training videos, which I&rsquo;ve been slowly working though&hellip; and when I say slowly, I mean probably much slower than I should be. Now that the holidays are over and it&rsquo;s a new year, I&rsquo;ll be pushing myself a more to actually make progress. My current tentative goal for attempting the written exam is June - so I&rsquo;m hopeful that I&rsquo;ll be able to make it work.</p>
<p>The blog has been fun so far, and I&rsquo;ve done a bit more than I thought I would with it. However, there was one thing over the past year that I wasn&rsquo;t really expecting at all - getting to talk with a bunch of other people who are interested in networking/IT. I&rsquo;ve mostly been on Twitter, and more recently on Reddit&rsquo;s /r/networking and /r/cisco. There have been a ton of people I&rsquo;ve gotten to talk to, get opinions from, or even a few people that I&rsquo;ve been able to help out with some of their problems. A large portion of my career has been limited to working with just a small team of people, few which actually have much interest in networking. I&rsquo;ve really enjoyed the experiences over the past year, and I&rsquo;m really looking forward to what else might come. If you&rsquo;re one of the people I&rsquo;ve interacted with over the past year, thank you!</p>
<hr>
<p>A new year comes with new challenges, problems, and complaints - but it also comes with new accomplishments and new things to look forward to. I hope that all of you reading this are able to set new goals for the year and pass your expectations!</p>
]]></content:encoded>
    </item>
    <item>
      <title>L2 Basics: Spanning-Tree Protocol</title>
      <link>https://0x2142.com/l2-basics-spanning-tree-protocol/</link>
      <pubDate>Tue, 14 Nov 2017 08:00:22 +0000</pubDate>
      <guid>https://0x2142.com/l2-basics-spanning-tree-protocol/</guid>
      <description>The fundamentals of how Spanning-Tree Protocol works</description>
      <content:encoded><![CDATA[<p>Spanning-tree protocol (STP) is one of those network technologies that is easy to forget about. It exists in the background of almost every network, and for the most part it does it&rsquo;s job without any issues. However, there is still a huge benefit to understanding what STP does and how it works - because it&rsquo;s default behaviors might not the the best for every network.</p>
<p>I&rsquo;ve been making progress going through my CCIE books, and the earlier sections are focusing on layer 1 and layer 2 technologies. A lot of this is review from CCNP studies, but with STP the book starts to get into additional detail on the inner workings of the protocol - which I&rsquo;m finding to be quite fascinating. It seems like in many of the companies that I&rsquo;ve worked I&rsquo;ve found that a majority of the IT staff (whether sysadmins or network admins) don&rsquo;t really have a good handle on how STP works and why it needs to be tuned. So this post is meant to cover spanning-tree at a very high level, and I&rsquo;ll include some examples from issues I&rsquo;ve seen in the past.</p>
<h2 id="so-what-is-spanning-tree-protocol-anyways">So what is spanning-tree protocol anyways?</h2>
<p>At it&rsquo;s very basic level, STP is a communications protocol used between switches to allow them to identify redundant paths in the network. The goal of STP is to figure out what is the most efficient L2 path through the network, then block all other paths to prevent loops. The best way I&rsquo;ve heard STP explained is that it&rsquo;s essentially a routing protocol for layer 2. Rather than routers communicating and exchanging routes to determine the best path through a network, all of the switches will talk to determine the best (loop-free) layer 2 path.</p>
<h2 id="stp-determines-the-best-layer-2-path---but-the-best-path-to-what">STP determines the best layer 2 path - but the best path to what?</h2>
<p>When configuring a standard routing protocol (like EIGRP or OSPF), you might have a node that advertises a route for 10.10.10.0/24. All other routers in the network are going to select a best path to the router who originates this advertisement - but how does something like this work when we&rsquo;re talking about layer 2?</p>
<p>Spanning-tree relies on the concept of having a single root bridge of each network. At the beginning of a spanning-tree process, all switches will hold a quick election to determine who the root bridge is - then each switch will figure out what it&rsquo;s own best path is to that device. The switch that ultimately becomes the root bridge will be based on the priority set by the administrator - but by default all switches are pre-configured with the same priority. In a tie, the switch with the lowest MAC address will win and become the root bridge.</p>
<p>What does that actually mean? More or less, one switch gets put in charge of defining the best path through the network. All other switches examine all of their redundant paths to the primary switch,  then figure out which of those paths are more preferable than the others. An important note here, is that the &ldquo;best path&rdquo; selected is all from the specific viewpoint of whichever switch takes charge.</p>
<p>For an example, let&rsquo;s use the following topology:</p>
<p><img alt="image" loading="lazy" src="/content/images/2017/11/1-default.png#center"></p>
<p>In this example, we have five switches and a firewall - which are used to provide connectivity to two network segments (NET1 and NET2). For each of the two network segments, there are a number of different paths that traffic could take to reach the firewall. Without spanning tree, NET1 might send traffic to SW4, which in turn would forward it to both SW2 and SW3. This sounds like a good thing, since we would use all available paths to try and reach the firewall - but in reality this can cause other problems like the firewall receiving packets out of order.</p>
<p>So for the example above, let&rsquo;s assume that SW1 becomes our root bridge. SW1 is now in charge of determining what the best path through the network is. It does this by sending out messages on all ports connected to other switches, called Bridge Protocol Data Units (BPDU). In this message, SW1 asserts it&rsquo;s role as the root bridge - and provides some information for other switches to use for path selection. Each switch will examine the message from SW1 to determine which of it&rsquo;s uplinks is the most efficient path to SW1. Once each switch does this, it will forward on the message to downstream switches - this time adding in some of it&rsquo;s own information (or path cost).</p>
<p>After all that is complete, we might be left with the following path below:</p>
<p><img alt="image" loading="lazy" src="/content/images/2017/11/2-ideal.png#center"></p>
<p>The green lines above show the final path that was selected. For NET1 to reach the firewall, it would use SW4, then SW2, then up to SW1. For NET2, it would use SW5 &gt; SW2 &gt; SW1. This leaves the orange links unused. In fact, spanning-tree will place these links into a blocking state. The switches might still listen on those links, just in case their neighbor starts advertising a better path - but they will not forward any data traffic on these connections. In the case of SW2 suddenly failing, SW4 and SW5 would still be aware of their connections through SW3 - and after a brief period would begin using those links to reach the firewall.</p>
<p>This is a very simplistic explanation, and there is a lot more in the background that actually happens during spanning-tree operation. There are a number of different STP standards that a switch can run, each with their own options for configuration and tuning. There are also methods of providing a loop-free path while still utilizing some redundant paths. I plan to cover some more detail on these topics in later posts.</p>
<h2 id="so-why-should-i-care-about-stp">So why should I care about STP?</h2>
<p>Remember that part earlier when I said that if STP priority is not configured, then switch with the lowest MAC becomes the root bridge? Well as it turns out, MAC addresses are the hardware addresses configured by the manufacturer - and these addresses increment as they produce new devices. So the lower MAC addresses are typically going to be the oldest equipment in your network. Unfortunately, this can have a dramatic effect on your network traffic if you&rsquo;re not paying attention to STP.</p>
<p>From the earlier example, what happened if SW4 became the root bridge? Maybe this was an old Cisco 2950 that someone forgot to replace and it&rsquo;s just been left in the network. If the STP configuration went unmodified, then this switch would likely become the root bridge of our network. Let&rsquo;s look at what that path might look like:</p>
<p><img alt="image" loading="lazy" src="/content/images/2017/11/3-bad.png"></p>
<p>So in this case, SW4&rsquo;s path to the firewall hasn&rsquo;t changed. However, it&rsquo;s best path to SW5 and NET2 is through SW3 - which means any traffic from NET2 to the firewall has to follow the path of SW5 &gt; SW3 &gt; SW4 &gt; SW2 &gt; SW1. Not only does that add more layer 2 hops that NET2 has to pass through, but it also adds more (unnecessary) load onto SW4. What happened if SW4 was so old that it still had 100M ports? It might get overwhelmed pretty quickly.</p>
<p>Now you might be thinking, &ldquo;How often does this really happen&rdquo;? Well, when I started at my last job they were experiencing a similar issue. The primary building had three floors, each with two Cisco 3548 switches to service users. Each of these switches linked back to a pair of Cisco 4500 core switches. All of the 3548 switches were purchased at the same time (far prior to the 4500s), and it turned out that one of them on the third floor had the lowest MAC address in the network. The entire layer 2 topology was then based on this switch as the central point of the network. This caused the interconnects between the core switches to be put into blocking mode - meaning that if a switch on the second floor needed to connect to the alternate core switch, then it would have to pass traffic through the third floor. A quick change to the spanning-tree priority (during a maintenance period) was all that was needed to put the core switches back in charge.</p>
<p>This doesn&rsquo;t immediately make spanning-tree a bad technology. As with just about anything in IT, it&rsquo;s something you need to understand and tune to fit your needs - otherwise you&rsquo;ll just get less-than-ideal results. At another employer, I actually found out that the previous network administrator had manually disabled all of the redundant paths in the network - because he didn&rsquo;t understand STP, and therefore thought that any redundant paths would cause a loop. Spanning-tree isn&rsquo;t something we need to be afraid of - it just needs a little attention.</p>
<p>So next time you&rsquo;re logged into one of the switches in your network, just run <em>show spanning-tree</em> and double-check that the switch you assume is your root bridge actually is.</p>
<hr>
<p>Well I hope that this was helpful. As I mentioned earlier, I meant this as a fairly basic overview - but I intend on diving a bit deeper in later posts. The most fascinating part of networking to me is all the details on how things like spanning-tree actually work behind the scenes.
Have any spanning-tree stories? Leave a comment below</p>
]]></content:encoded>
    </item>
    <item>
      <title>Ten years of Cisco Certification</title>
      <link>https://0x2142.com/ten-years-of-cisco-certification/</link>
      <pubDate>Tue, 29 Aug 2017 08:00:41 +0000</pubDate>
      <guid>https://0x2142.com/ten-years-of-cisco-certification/</guid>
      <description>It&amp;rsquo;s hard to belive I started my networking career ten years ago.. How quickly time flies!</description>
      <content:encoded><![CDATA[<p>It&rsquo;s August of 2017 - which means it&rsquo;s been a long ten years since I originally obtained by CCNA certification in 2007. I figured it might be a good time to take a minute and look at what that has meant for me, and how the last ten years of my career have gone.</p>
<p>When I got my CCNA certification, I was only two months out of high school. I had just finished two years of the Cisco Networking Academy coursework, and I had no idea what that would actually mean for me. I went and took the certification exam mostly because I felt that like that was the only way to validate what I had learned during the two year class. I failed it once or twice, which nearly discouraged me enough to not try again. However, I ended up passing the test and becoming Cisco certified on August 27th, 2007.</p>
<p>Obtaining that certification didn&rsquo;t immediately make me valuable to anyone. However, it definitely helped to get my resume in front of a number of people who probably wouldn&rsquo;t have taken a look otherwise. At the time, I had no college degree and absolutely no real-world networking experience. I owe that CCNA cert for helping me get my first job - but after that it was up to me to prove my worth.</p>
<p>It&rsquo;s amazing to sit back and realize that ten years has passed already. So much has happened, so much has changed. I spent the first three or four years of my career studying hard to additional Cisco certs, which I used as motivation to learn more about networking. Certifications can be great for validating what you know, but it&rsquo;s the real-world skill that really pays off in the end. Even with my original intent to become a network admin, I&rsquo;ve ended up wearing a lot of hats and picking up more of a variety of skills than I ever thought I would. It&rsquo;s definitely been a good thing though, since it has allowed me to get a better understanding of other systems - which in turn helps me to better support them as a network admin.</p>
<p>Even though today I don&rsquo;t really manage much in the way of Cisco equipment, the original skills that I learned in the Cisco Networking Academy program have given me a great base knowledge to work with. All of the fundamental networking skills I learned have translated quite well to other vendors and products. I&rsquo;ve spent the past few years working with Brocade, Juniper, Check Point, and a number of other vendors - and I feel like I have had a much easier time picking up the new skills than I might have had otherwise.</p>
<p>Today I still hold and maintain my Cisco certifications - and I plan to continue doing so for the foreseeable future. Someday I would like to achieve a CCIE/CCDE-level certification, but for now I am happy with what I have and what these certifications have helped me to achieve in my career.</p>
<p>Thanks for reading - here is to hoping for the next ten years to be just as good as the last.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Alright - Now What?</title>
      <link>https://0x2142.com/alright-now-what/</link>
      <pubDate>Thu, 11 May 2017 09:13:08 +0000</pubDate>
      <guid>https://0x2142.com/alright-now-what/</guid>
      <description>I finally finished college, so what&amp;rsquo;s next for my professional goals?</description>
      <content:encoded><![CDATA[<p>So it&rsquo;s now been over two months since I finished college and obtained my magical piece of paper. It has been interesting to finally have some free time to do things that I want to do, and not having to constantly balance my time between school and work.</p>
<p>So now that I&rsquo;ve had a bit to sit back and take a break, I&rsquo;m starting to begin itching toward certification studies again. I really enjoy certifications because they give me a goal to work towards, and I can study the materials at my own pace.</p>
<p>For reference, I currently hold the following active certifications:</p>
<p><strong>Cisco:</strong> CCNA, CCNA Security, CCNA Voice (retired), CCDA, CCNP, CCDP</p>
<p>I&rsquo;ve been looking a bit at the Cisco Cloud and Data Center certification tracks, since I&rsquo;m dealing a lot more with the Nexus switching line and data center technologies overall - but after reviewing the cert syllabus, I&rsquo;m not really feeling very strongly toward those. I&rsquo;m also hesitant because it would mean starting back over at the CCNA-level for the new tracks and working my way back up to the CCNP-level. I&rsquo;ve also previously considered getting my CCNP Security, but I&rsquo;m not actively working in Cisco ASA firewalls much any more.</p>
<p>The only next choice in the Cisco world would be going for the CCIE R&amp;S or the CCDE. I&rsquo;ve been considering for a long time that I would eventually like to get there, but those certifications also require a significant investment of time and money. I definitely think the information and skills I would learn along the way would be worth it, and I&rsquo;m beginning to really consider this an option in the near future. I&rsquo;ve spent a bit of time reviewing the exam topics listed on Cisco&rsquo;s site, and debating which of the two would be a better first choice.</p>
<p>My other option is pursuing the Juniper side of things. Most of the data centers I manage now are shifting toward Cisco for switching and Juniper for firewalls - so it would certainly benefit me to educate myself further on the Juniper equipment. Until this point, I&rsquo;ve been just learning on the job by buying Juniper SRX firewalls and figuring it out as I go. My only real hesitation on this would be maintaining two separate lines of certifications. Both Juniper and Cisco enforce a 3-year expiration on their certifications, so I would need to keep on top of both - which isn&rsquo;t necessarily a bad thing.</p>
<p>So at this point, I really don&rsquo;t have a clear idea of what I want to do. Those are my current thoughts and options, but I&rsquo;m having a hard time settling on what would be the best option for me at this time. I definitely want to start studying for something (and potentially take the exam) before the end of this year though, so I would like to figure it out rather soon.</p>
<p>If you have any suggestions or thoughts on the certifications I&rsquo;ve mentioned, leave me a comment below!</p>
]]></content:encoded>
    </item>
    <item>
      <title>Why Have a Home Lab?</title>
      <link>https://0x2142.com/why-have-a-home-lab/</link>
      <pubDate>Tue, 21 Mar 2017 08:00:20 +0000</pubDate>
      <guid>https://0x2142.com/why-have-a-home-lab/</guid>
      <description>Ever wonder if running a lab at home is worth it? This post explores why I think it&amp;rsquo;s an important investment</description>
      <content:encoded><![CDATA[<p><sup><em>Note: I may receive commissions for purchases made through links in this post. This is to help support my blog and does not have any impact on my recommendations.</em></sup></p>
<hr>
<p>If you really want to become great at something, you practice it a ton, right? Well networking and IT work exactly the same. You&rsquo;re not going to become an expect by just reading a ton of tech books and blogs. While those certainly help, there is nothing better than simply getting your hands dirty. Having a good home lab setup is key to truly understanding how things work.</p>
<p>So how do you get started? Well the way that I built a home lab over the past 10 years is probably much different from you could today, given the amount of virtualization technologies available. Still, I believe that some physical pieces of equipment are necessary. I took classes in high school toward CCNA certification, and we had a lab of several routers and switches there. Once I got into the real world, I wanted to start working on additional certifications and just improve my skills overall. So I picked up an old Cisco 2611 router and a 2950 switch. I played with these for a bit and used them to get my CCNA Security, which at the time covered the basics of securing Cisco IOS routers and switches.</p>
<p>Another year or so down the road and I expanded by picking up a power-over-ethernet switch, and two Cisco 7900 series IP phones. Since I had discovered that the 2611 router could run Cisco&rsquo;s Call Manager Express, I decided to go for the CCNA Voice certification. Having this equipment to work on gave me experience that was much closer to real world, than if I had just studied the textbooks. I could configure things, break things, then sit there for hours until I figured out how to fix my problem. I could configure the entire system, test it all, then tear it down and completely rebuild. Being able to configure the entire CME system from memory gave me a lot of confidence toward taking the certification exam.</p>
<p>So do I still have a home lab today? Oh yeah, you bet I do! It&rsquo;s changed quite a bit from what it used to be, but the same concept still applies. I have an entire environment to play with, which allows me to test and learn new technologies outside of work. In fact, my &lsquo;home lab&rsquo; has evolved into just part of my home networks.
So here is what I&rsquo;ve got running today:</p>
<ul>
<li>Cisco ASA 5505 (Probably soon to be replaced with a <a href="https://www.amazon.com/gp/product/B01ICEO2U4/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=0x2142-20&amp;creative=9325&amp;linkCode=as2&amp;creativeASIN=B01ICEO2U4&amp;linkId=35fbe8300af4e5d1e26e7a860782b3ca">Juniper SRX 300</a>)</li>
<li>Two Cisco 2960G-8TC-L switches</li>
<li><a href="https://www.amazon.com/gp/product/B015PR20GY/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=0x2142-20&amp;creative=9325&amp;linkCode=as2&amp;creativeASIN=B015PR20GY&amp;linkId=864af1f40df3f986b49741655d21e926">Ubiquiti UniFi</a> 802.11n wireless access point</li>
<li>Synology DS411 Network Attached Storage with 4x 3TB drives (Soon to be replaced, as it is over 5 years old(Update: Got myself a <a href="https://www.amazon.com/gp/product/B075N1Z9LT/ref=as_li_qf_asin_il_tl?ie=UTF8&amp;tag=0x2142-20&amp;creative=9325&amp;linkCode=as2&amp;creativeASIN=B075N1Z9LT&amp;linkId=c2891aca5bc28b1ebf25847b6e687135">DS918+</a>!))</li>
<li>A few spare PCs running VMware ESX 6.0</li>
</ul>
<p>The ASA, switches, and AP run just about all of my home network. I even have the ASA running AnyConnect SSL VPN so I can access my storage at home from anywhere. The Synology has been one of the best additions to my network and lab. For one, it acts as a centralized storage device for my home network. I back up all of my PCs to it, and any digital media I own is also stored on it so I can stream it to devices within my home. For two, the Synology acts as an iSCSI backend to my VMware hosts. This setup allows me much more flexibility with my lab.</p>
<p>On the ESX hosts, I have a few VMs for lab use and a few that are for my home network. A GitLab server hosts all of my Git repositories for my own personal coding projects. I have a CentOS box for running the Ubiquiti management web interface. Another few CentOS VMs for running bind DNS, Observium, and Splunk. I also run a personal Minecraft server on there, so it&rsquo;s not all work here 🙂</p>
<p>I love the idea that at any time I can just go home, spin up a few VMs, and start playing with something new. When I was learning Juniper&rsquo;s SRX platform, I downloaded their free trial of the vSRX and had it running for a while. When I changed jobs, I needed to learn a new web proxy software - so I downloaded their free trial and stood up a VM. You really learn a lot by building a platform from scratch, because you gain a better understanding of what impact certain configuration options have. You also have the freedom to change whatever settings you want and see what they do. I once had an idea for a coding project, so I turned up a VM running RabbitMQ - and spent a weekend learning how it works to see if it would accomplish what I needed for the project.</p>
<p>So to sum it up - I just want to say that having a home lab has really contributed a lot to my success. It offers way more flexibility than trying to test something at work, unless they also offer you a complete lab environment. Your lab doesn&rsquo;t have to start off perfect, nor does it need to have expensive equipment - it just needs to help facilitate your ability to learn and gain experience.
Have a lab at home? Tell me about it in the comments below! I would love to hear what other people have done.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Background Story (Continued)</title>
      <link>https://0x2142.com/background-story-continued/</link>
      <pubDate>Tue, 20 Dec 2016 08:00:09 +0000</pubDate>
      <guid>https://0x2142.com/background-story-continued/</guid>
      <description>(Part 2 of 2) A brief summary of my networking &amp;amp; career experience</description>
      <content:encoded><![CDATA[<p>This post is a continuation of last week&rsquo;s &ldquo;<a href="/first-a-bit-of-background/">First, A Bit of Background</a>&rdquo;</p>
<hr>
<p>So once I had that magical CCNP certification, I finally felt like I needed to move on. I had gained as much experience from that first job as I thought I would, which meant that I needed to start looking. I got some help from a co-worker of mine at the time, who gave me some wonderful resume tips (which I will share in a future post). Two months and a handful of interviews later, and I found myself jumping on a contract-to-hire position for a local government organization.</p>
<p>The three and a half years spent with this organization taught me so much. I had a great boss, to whom I owe many personal improvements that helped me get where I am today. I walked into the place in a role that was technically supposed to be a Junior Systems Administrator, but the position was much more widely focused than that. I did everything and anything, including managing an Avaya phone system, desktop support, networking, Windows administration, and even a bit of VMware ESX. Obviously, I began to lean more and more toward the networking side of the house, as the team was relatively well split in terms of specializations. One guy loved virtualization and storage, another loved application support, and I owned all things networking.</p>
<p>Another thing this job brought me was the push I needed to go back to school. The organization didn&rsquo;t like to hire people without a college degree, but I managed to make it in under a very rare set of circumstances. Unfortunately, that meant that I was constantly told that I really need to go back to school and get a degree. After a short while, I gave in and picked up a four-year online degree program in Network Security.</p>
<p>This place was my first real experience in actually <em>owning</em> a network. Having complete control and being able to call it my own. I spent the first couple of months doing exploratory research - what did we have running and how was it configured. Then I built a list of recommendations for things I thought needed to be improved. After a few years, I had replaced almost every device (many were end of life) and made the network significantly more secure and resilient. I had many great learning opportunities in managing my own time and building project plans. I designed network upgrades and made detailed plans to make it all work - and it did, surprisingly.</p>
<p>While that job was an absolutely amazing experience for me in terms of personal and career growth, I eventually reached a point where those things slowed down. Soon the negative aspects of the job were starting to outweigh the positives, and so I began my job search once more. A friend of mine, who I had previously worked with at the consulting company, ended up referring me to a position with a company he worked for. The position was a Network Administrator for a local cloud Software as a Service provider.</p>
<p>I didn&rsquo;t know it when I took the job, but I ended up walking into an environment where I had the most experience on the team. For having several datacenters around the world, the network architecture left much to be desired - A lot of designs built upon the need of the moment and not the future. At the time of this writing, I&rsquo;m still with this company - and I&rsquo;ve already gained quite a different set of skill and experiences: Being the senior team member, designing scalable network architecture, and learning the ability to lead others.</p>
<p>I&rsquo;m going to stop here with my story for now - but hopefully this provides a bit of context around where my experiences and insight have come from. I have a lot of future post ideas which will build upon everything that I have learned over the past ten years.
Thanks for reading!</p>
]]></content:encoded>
    </item>
    <item>
      <title>First, A Bit of Background</title>
      <link>https://0x2142.com/first-a-bit-of-background/</link>
      <pubDate>Tue, 13 Dec 2016 08:00:30 +0000</pubDate>
      <guid>https://0x2142.com/first-a-bit-of-background/</guid>
      <description>(Part 1 of 2) A brief summary of my networking &amp;amp; career experience</description>
      <content:encoded><![CDATA[<p>I wanted to start off my providing a little background on myself. Hopefully this will put some context around my future posts.</p>
<p>In the beginning - I started off doing some minor PC repair for family and friends. Really quite minor stuff, like replacing power supplies, reinstalling the operating system, or troubleshooting application issues. The technical work really was fun for me, but at that point I had never considered the possibility of it becoming a career. It just seemed like a fun hobby that was great to do in my spare time.</p>
<p>After I completed my second year of high school, I found out that I would have to change schools. Luckily, I found out that my new high school offered this fun program called the <a href="https://www.netacad.com">Cisco Networking Academy</a>. The program was three hours a day for two years, and taught all of the networking fundamentals necessary to pass the Cisco Certified Network Associate (CCNA) exam. I quickly found that this is something that I truly enjoy doing and I was actually good at it. We had quite a few networking professionals come into the class over those two years and tell stories of how successful a career in computer networking could be. That was the point where I realized that this might actually be a career option - so I went with it.</p>
<p>Within two months of finishing high school, I took and passed the CCNA exam. Cisco certified at the age of eighteen, and now left wondering how to find a job. My next stroke of luck came in the form of a family member who had actively been working in IT for about 10-15 years already. She sat down with me and helped me build my first resume, then showed me where to post it online. Within a few weeks, I began receiving calls from recruiters in the area about a variety of positions. &ldquo;Level 1 Help desk? No, I want to be a Network Engineer making ALL THE MONIES&rdquo;. Of course at the time, I had no idea that jumping directly into a network engineer position was very unlikely - especially given that I had no real world experience yet.</p>
<p>A couple interviews and a few months later, and I happened upon a local IT consulting company. I remember interviewing with the manager at the time and mentioning how difficult it was to find a job, since everyone wants you to have experience but no one wants to help you get it. Well, he decided that he was willing to help out and offered me a job as a Level 1 Network Operations Center Engineer.</p>
<p>I spent nearly four long years at that job. I was new to the field so I took advantage of every opportunity they offered me. Certification training? Yes. Networking projects? Yes. Consulting for a variety of businesses? Yep! The company culture was heavily focused on making money quickly, which meant that they didn&rsquo;t always take care of the employees very well - but there is something to be said about the amount of varied experience I gained, especially for my first real tech job. While I was working here, I also added onto my collection of Cisco certifications: CCNA Voice, CCNA Security, CCDA. I finally finished up by achieving one of my goals of becoming CCNP certified.</p>
<hr>
<p>So this has been part one of my history, and to make this a bit more readable I&rsquo;m going to split it into two postings. Continue the story in the <a href="/background-story-continued/">next</a> post!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
