F5-201 Study Notes
01 July 2024

Last month I started the process to my F5-201 certification by sitting the F5-101 exam. Now I have that exam out of the way, I'm getting ready for the F5-201 exam. Here's a quick dump of my study notes that might be helpful if you're heading down the F5 certification path.

F5-101 Study Notes
01 June 2024

Unfortunately, my F5-201 certification has expired. Now i'm on the path to resit my F5-101 certification as the prerequisite for the F5-201 certification. Here is a quick dump of my study notes that might be helpful if you're heading down the F5 certification path.

CCNA to JNCIA Study Notes
01 August 2023

I have had my CCNA for a long time now but never really though about the Juniper certification path. With juniper popping up a little more frequently in places of work and NetworkChuck's 30 Day Cert Challenge I decided to step out of Cisco land and get my JNCIA . Here is a quick dump of my study notes that might be helpful if you're heading down the JNCIA path.

Python Link Checker
01 May 2023

With the update for my site to use “chips” to link to related pages its very easy for me tag a post with a tag that doesn’t have the supporting “tagged” page and resulting in a broken link. With the number of chips and tags I have across this site manually verifying each one manually is far to inefficient. Using LinkChecker makes this process quick and easy.

Updating My Site to Use the Material Design Lite
01 April 2023

Recently, I stumbled across Rachel V. Madrigal’s blog and really liked the design and functionality of their site. In the post Using Material Design Lite with Jekyll for a simple blog they describe how their site has been put together using a template from using the Material Design Lite (MDL). Impressed with the results, I decided to update my own site to be built from the same template.

Improving Infoblox Ansible modules
01 March 2023

Infoblox is a popular tool that enables teams to centrally manage DNS, DHCP, and IP addresses (DDI) efficiently. One way to automate Infoblox is through the use of Ansible with the use of the Infoblox Ansible collection.

However, when using the Infoblox Ansible collection I quickly encountered some missing functionality…

  • Define a member as a Grid Master Candidate
  • Assign members to a network
  • Define a DHCP range

In this blog post, I will discuss some of the changes I have proposed to fix these issues that exists in v1.4.1.

YAML Anchors
01 January 2023

In Ansible , you can define variables in a variety of places, including inventory files, playbook files, and role defaults and vars files. When defining variables, you can use YAML anchors and aliases to reduce repetition and make your code more readable.

1
2
3
4
5
6
7
8
9
10
vars:
  # Define an anchor called "common_vars"
  common_vars: &common_vars
      version: 2.0
      name: My Application

  # Define a variable that uses the "common_vars" anchor and adds additional information
  prod_vars: &prod_vars
      <<: *common_vars
      environment: production
WSL Password Recovery
01 October 2022

I have been using WSL for some time now. Having quick and easy access to a nix distribution is so handy in many ways. Not having to worry about managing VMs in a hypervisor makes the whole experience so much nicer. Today I switched back to a Ubuntu install I hadn’t used from quite a while and the first thing was to run sum updates but I had forgotten the password I had set.

This post covers the simple process to perform a password recovery of a WSL install.

Ansible Jinja Logic
01 September 2022

In the post Handy Ansible Logic I described a situation where moving ansible logic out of when: statement and into an inline Jinja achieved a much cleaner solution. Recently, I had a similar situation where I needed to extend what I was doing in the Jinja. This time, I needed to dynamically construct the a variable to pass into a modules parameter.

1
2
3
4
5
6
7
8
9
- name: Example 1 - Set facts
    set_fact:
      output: >-
        {%- set output_list = [] -%}
        {%- for server in ip_list -%}
          {%- set my_server = {'name': server.name, 'type': 'IPv4'} -%}
          {{ output_list.append( my_server ) }}
        {%- endfor -%}
        {{ output_list }}
Tenable Broke My Network
01 August 2022

I have done a lot of work with Tenable over the last five years and achieved some really awesome results with the Tenable product suite, however, recently I was helping a customer with the slightly too frequent issue where Tenable broke their network.

Here’s what went wrong and the fix in this situation…

Python HTTP Server
01 July 2022

I have been using the http.server Python module for some time but recently, it's been more handy than ever. Whether it's testing network controls, Load Balancer configurations or simply copying a file from one location to another. Whichever the reason, the Python http.server module is so simple to use you can't afford not to know.

Handy Ansible Logic
01 June 2022

Recently I was writing what initially looked like a pretty straight forward ansible play. Everything was progressing quite well until I came to a point where I needed to set one variable, only when another variable was set. My first pass at this logic was to repeat the task, and control which task was run with a when: statement. This worked, but just wasn’t ideal with all of the duplicated code. I just knew there had to be a better way and there was.

The SPF Subdomain Issue
01 May 2022

While setting up some new DNS records for a mail gateway migration, I found myself reading the related RFCs which we all know tends to hurt the brain but this time it lead to something quite interesting. After reading the ins and outs of SPF , DKIM and DMARC I could see several common implementation scenarios that would allow carefully crafted emails to circumvent the implemented controls, as SPF doesn't apply to subdomains. It might just be that 1 DNS A record needs another 2 TXT records to close the gaps.

Thanks Github, Jekyll and Lanyon
01 April 2022

This site is hosted on GitHub Pages, built with Jekyll and customised from the Lanyon theme. Without each of these, this site would not be here.