<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>How To - Category - Fryguy's Blog</title><link>https://hugo.fryguy.net/categories/how-to/</link><description>How To - Category - Fryguy's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 13 Apr 2026 01:08:29 +0000</lastBuildDate><atom:link href="https://hugo.fryguy.net/categories/how-to/" rel="self" type="application/rss+xml"/><item><title>Juniper Port Checker – Validate Port Speed Mappings Before You Deploy</title><link>https://hugo.fryguy.net/2026/04/12/juniper-port-checker-qfx5120/</link><pubDate>Mon, 13 Apr 2026 01:08:29 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2026/04/12/juniper-port-checker-qfx5120/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>If you work with Juniper hardware and have never used the <a href="https://apps.juniper.net/port-checker/" target="_blank" rel="noopener">Juniper Port Checker</a>, you are missing out on a really useful tool. It is part of the Juniper Pathfinder suite and it gives you a visual representation of the front panel of a device and lets you configure port speeds to validate that your planned configuration is actually supported by the hardware. No more digging through data sheets trying to figure out what happens to adjacent ports when you change a speed.</p>]]></description></item><item><title>New Network Tools Section</title><link>https://hugo.fryguy.net/2026/04/12/new-network-tools-section/</link><pubDate>Sun, 12 Apr 2026 21:29:42 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2026/04/12/new-network-tools-section/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>I have been meaning to put together some network tools for a while now, and I finally got around to it. I added a new <a href="/tools/" rel="">Network Tools</a> section to the site with eight tools that I find myself needing on a regular basis. They all run in the browser – nothing gets sent to a server, they either do the math locally or call a public API directly.</p>]]></description></item><item><title>Juniper SRX DNS Proxy Configuration (Split-DNS)</title><link>https://hugo.fryguy.net/2020/07/07/juniper-srx-dns-proxy-configuration-split-dns/</link><pubDate>Tue, 07 Jul 2020 10:00:00 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2020/07/07/juniper-srx-dns-proxy-configuration-split-dns/</guid><description><![CDATA[<div class="wp-block-image">
  
</div>
<p>This post is intended to show you how to configure a Juniper SRX to be a DNS proxy for your network. This will allow you to forward DNS queries to both a private DNS server for your local domain and a public DNS server for all other requests.</p>
<p>Using the SRX as a DNS proxy has a few advantages for a network administrator. The first being that if you need to ever change an upstream DNS server pointer, you just need to update the SRX and not all the clients. The second is that if you want to split domain name DNS queries among different DNS servers, you can do that. This is good if you have a .local domain server locally or over a VPN. This will allow you to keep that query local, yet all other requests will go to a public DNS server.</p>
<p>The topology for this lab is as follows:</p>
<ul class="wp-block-list">
<li>
The internal network in this topology is my Home network that is providing access to the Internet.
</li>
<li>
The SRX is configured with DHCP on the UNTRUST side to obtain an IP from my home network.
</li>
<li>
SRX is configured with a static IP of 192.168.100.1/24 on the TRUST side.
</li>
<li>
SRX is acting as DHCP server for 192.168.100.0/24 and serving DNS server IP of 192.168.100.1.
</li>
<li>
The SRX is NATing all traffic from TRUST to the UNTRUST interface.
</li>
<li>
Linux host is a simple Ubuntu 16.04 desktop default in EVE-NG.
</li>
</ul>
<figure class="wp-block-image size-large">
<p> </figure></p>
<p>You can find a copy of the EVE-NG topology as well as the SRX start and final configs in my github repository: <a href="https://github.com/FryguyPA/Junos-SRX-DNS-Proxy" target="_blank" rel="noopener noreffer ">https://</a><a href="https://github.com/FryguyPA/Junos-SRX-DNS-Proxy" target="_blank" rel="noreferrer noopener">github</a><a href="https://github.com/FryguyPA/Junos-SRX-DNS-Proxy" target="_blank" rel="noreferrer noopener" title="Fryguy's GIthub repository">.</a><a href="https://github.com/FryguyPA/Junos-SRX-DNS-Proxy" target="_blank" rel="noopener noreffer ">com/FryguyPA/Junos-SRX-DNS-Proxy</a></p>]]></description></item><item><title>Junos – Loading Configs – 5 of 5 – Set</title><link>https://hugo.fryguy.net/2019/11/11/junos-loading-configs-5-of-5-set/</link><pubDate>Mon, 11 Nov 2019 08:42:11 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2019/11/11/junos-loading-configs-5-of-5-set/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>This is the fifth post in the <em>Loading Configs</em> series. In this post, we will cover the <em>load set</em> command. This allows you to enter commands into the buffer just like you would on the CLI. All these commands are either <em>set</em> or <em>delete</em> based commands. Yes, you can use this to delete as well.</p>
<p>Here is a quick refresher on what we are doing…</p>]]></description></item><item><title>Junos – Loading configs – 4 of 5 – Update</title><link>https://hugo.fryguy.net/2019/11/07/junos-loading-configs-4-of-5-update/</link><pubDate>Thu, 07 Nov 2019 08:30:30 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2019/11/07/junos-loading-configs-4-of-5-update/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>This is the fourth post in the <em>Loading Configs</em> series. In this post, we will cover the <em>load update</em> command. We touched on this in post one when we discussed <em>override</em>. This command, <em>update</em>, is less destructive as it will update the configuration, yet the Junos device will only evaluate the differences between the running and what you have staged.</p>
<p>Here is a quick refresher on what we are doing…</p>
<p>For this lab series, we will use a simple topology to demonstrate the different ways to load configs. We have our SRX configured with TRUST and UNTRUST zones, a connection to the Internet, and a Windows 7 PC that has a browser installed. We will focus on making changes to our security policies.</p>
<div class="wp-block-image">

</div>]]></description></item><item><title>Junos – Loading Configs – 3 of 5 – Replace</title><link>https://hugo.fryguy.net/2019/11/04/junos-loading-configs-3-of-4-replace/</link><pubDate>Mon, 04 Nov 2019 08:19:28 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2019/11/04/junos-loading-configs-3-of-4-replace/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>This is the third post in the <em>Loading Configs</em> series. In this post, we will cover the <em>load replace</em> command. This command shines when you want to replace parts of a configuration without having to delete a bunch of stuff. It is really powerful in security policies and firewall filters, places where you tend to want to replace a lot of configs quickly.</p>]]></description></item><item><title>Junos – Loading Configs – 2 of 5 – Patch</title><link>https://hugo.fryguy.net/2019/10/31/junos-loading-configs-2-of-4-patch/</link><pubDate>Thu, 31 Oct 2019 08:15:16 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2019/10/31/junos-loading-configs-2-of-4-patch/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>This is the second post in the <em>Loading Configs</em> series. In this post, we will cover the <em>load patch</em> command. The beauty of the <em>load patch</em> command is that you can load the config on one device, issue a <em>show | compare</em>, and take that output and patch another device. This is also useful when you want to test your commands for a change, roll it back, and then re-apply it later.</p>
<p>Here is a quick refresher on what we are doing…</p>
<p>For this lab series, we will use a simple topology to demonstrate the different ways to load configs. We have our SRX configured with TRUST and UNTRUST zones, a connection to the Internet, and a Windows 7 PC that has a browser installed. We will focus on making changes to our security policies.</p>
<div class="wp-block-image">

</div>]]></description></item><item><title>Junos – Loading Configs – 1 of 5 – Merge</title><link>https://hugo.fryguy.net/2019/10/28/junos-loading-configs-1-of-4/</link><pubDate>Mon, 28 Oct 2019 08:35:46 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2019/10/28/junos-loading-configs-1-of-4/</guid><description><![CDATA[<div class="wp-block-image">

</div>
<p>In this post series, we will cover one of the wonderful things with Junos, which is loading configurations to the devices. Compared to other vendors where you paste into a live configuration, Junus uses a candidate configuration for all changes. A great benefit of this is that there are a few ways to load configurations onto the devices.</p>
<p>The ways we can load the configurations are shown below.</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-text">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">  factory-default      Override existing configuration with factory default
</span></span><span class="line"><span class="cl">  merge                Merge contents with existing configuration
</span></span><span class="line"><span class="cl">  override             Override existing configuration
</span></span><span class="line"><span class="cl">  patch                Load patch file into configuration
</span></span><span class="line"><span class="cl">  replace              Replace configuration data
</span></span><span class="line"><span class="cl">  set                  Execute set of commands on existing configuration
</span></span><span class="line"><span class="cl">  update               Update existing configuration</span></span></code></pre></div></div>
<p>I want to briefly touch on a few of the commands.</p>
<p>The first command, <em>factory-default</em>, is a way to soft reset the configuration back to the factory configuration without losing any of the locally stored data. The alternate way is factory default the configuration is to use the <em>request system zeroize</em> command. The zerioze command will rest the device back to the factory configuration and remove all locally stored user data (logs, files, etc).</p>
<p>The second command, <em>override,</em> will discard the current configuration and replace it with what you load into the device. When doing this the Junos device will re-evaluate the entire configuration you have entered. By re-evaluating the config, it will treat everything like it is new and you will have an impact to the device. If you want to just update the config and not re-evaluate everything, then you would use <em>load update,</em> which we will cover in post 4.</p>
<p>For this post, we will cover <em>merge, patch, replace, update,</em> and <em>set.</em></p>]]></description></item><item><title>Juniper SRX Password Recovery</title><link>https://hugo.fryguy.net/2017/09/28/juniper-srx-password-recovery/</link><pubDate>Thu, 28 Sep 2017 12:00:03 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2017/09/28/juniper-srx-password-recovery/</guid><description><![CDATA[  
I can imagine that is how I looked when I got my &#8220;new&#8221; Juniper SRX from (insert favorite auction site) and booted it the first time.  All ready to play with my new toy &#8211; lab some new ideas &#8211; and boom, it has a password on it already.  Grrrr&#8230;.  
Since I had to recover the root password, figured I would post the procedure here in case others are looking for it.  Not only in case others are looking for it, the next time that I need it as well! 🙂  
So the first thing we need to do here is to make sure the device is powered off and we have a console cable connected to it.  I will assume you know how to use your terminal program and access the console already for this post otherwise I suspect you would not be here.  
Now that you are connected we can go ahead and power the SRX on and watch it boot.   In order to boot the system into single user mode, we need to press the space bar when prompted. It will be right at this point in the boot process &#8211; right when you see _Hit [Enter} to boot immediately, or space bar for command prompt.  _Here you need to press the SPACE BAR quick to interrupt the boot process.
<p style="padding-left: 30px;">
  <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">FreeBSD/MIPS U-Boot bootstrap loader, Revision 2.5</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">(slt-builder@slt-junos15.juniper.net, Tue Apr 2 12:36:46 PDT 2013)</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">Memory: 2048MB</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">[0]Booting from nand</span><span style="font-family: 'courier new', courier, monospace; color: #0000ff;">-flash slice 1</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">Un-Protected 1 sectors</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">writing to flash&#8230;</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">Protected 1 sectors</span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">Loading /boot/defaults/loader.conf </span><br /> <span style="font-family: 'courier new', courier, monospace; color: #0000ff;">/kernel data=0xb99284+0x13c8b4 syms=[0x4+0x91b00+0x4+0xd5dfb]</span>
</p>]]></description></item><item><title>Home Lab Cooling Option</title><link>https://hugo.fryguy.net/2017/04/21/home-lab-cooling-option/</link><pubDate>Fri, 21 Apr 2017 13:00:35 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2017/04/21/home-lab-cooling-option/</guid><description>  
How many of us have a home network rack in a closet someplace and leave the door open (or just off) to help keep things cool?   Has your home lab been tucked away under the stairs so you don&amp;#8217;t need to hear it? Or is it in the open so it stays cool and the noise drives you (or your other half) nuts? Well, let me tell you about what I am using to keep my home rack cool in a closet.  
For me, I have a bunch of Ubiquiti devices (future post), Synology NAS, Cable Modem, UPS&amp;#8217;, and some Intel NUC servers in my home rack.  I also have a decent amount of lab Cisco and Juniper gear that I spin up when necessary ( I use an APC managed PDU ).  Overall it is fairly quiet, but I still wanted to keep it out of the eyes of others and also to keep the kids from touching anything. What I found is that when I closed the door, the temperature in the closet would rocket up and I would start to get temperature alarms from devices.  That forced me to keep the door open, not an optimal solution for when guests are over.</description></item></channel></rss>