Kevin, collated.

Learn from my mistakes. Build it better.

An Uphill Battle Getting Packer to Play Nicely with Proxmox

Running a homelab is a great way to be introduced to a number of new technologies and methodologies with minimal risk.

One of the downsides of running a homelab however, is maintenance. In an ever evolving world of security threats and bad actors, it is important to keep your homelab updated and running recent software and hardware.

Since homelabs are generally educational ventures, it is unlikely that one is being paid to maintain them. In order to keep things running smoothly, automation is key to maintaining infrastructure hygeine.

Continue reading

Building a High Availability DNS Recursive Resolver Utilizing DoT

Why Do You Need a Highly Available Forward Resolver?

The domain name system (DNS) is the backbone of the internet. Acting like a directory, DNS is a critical service that translates human parsable domain names such as example.com into IP addresses 93.184.215.14.

At the heart of this system are 13 root servers which contain a list of all the domains in the internet 1.

The root servers themselves get these names from top-level domain, and authoritative nameservers. These servers are ran by domain registrars, so when you purchase a domain from a reseller you’re simply paying them to update the information stored in their servers so that when the root servers reach out to find a domain they get the information that you provided.

Continue reading

I Was DDoS'd This Week, How I Used ASN Blocking to Resolve The Problem

The Alerts

“Why do things always have to happen on a Friday?”, was the question I asked myself at 5:04 when I read the Grafana alert delivered to my phone. I had just booted up my gaming PC and I was going to get started on an early weekend gaming session when my phone began buzzing and the notifications began piling up.

Bereft of hundreds of frames per second for the moment I logged in to my dashboard to see what was wrong.

Continue reading

Securing NGINX With HTTPS and LetsEncrypt

Encryption has become increasingly important over the last several years, you would be hard pressed to find a site on the internet today that isn’t protected by HTTPS encryption. Some of the benefits of running HTTPS include:

Higher Search Result Rankings

Search engines favour HTTPS sites and will rank them higher. HTTPS is an important part of search engine optimization.

Improved Security

Since connections are encrypted, they are technically impossible to view in transit. This prevents eavedropping from third parties.

Continue reading

Creating Systemd Timer Jobs

Systemd Timer Jobs

In the past, it would be fairly typical to use cron to schedule jobs on Linux or BSD. Cron is an excellent tool for scheduling simple jobs, but weaknesses will begin to appear when complexity is required.

Some of the benefits of systemd include:

  • Automatic rotaion of logs.
  • Memory/CPU scheduling.
  • Random start/job delays.

We’ll cover services and timers today.

Timers

The first step to creating a recurring job using systemd is to create the timer unit itself. This file controls the schedule of the job.

Continue reading