<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tutorial :: Category :: Tiernans Comms Closet</title><link>https://www.tiernanotoole.ie/categories/tutorial.html</link><description/><generator>Hugo</generator><language>en-ie</language><copyright>2026 Tiernan OToole</copyright><lastBuildDate>Fri, 10 Jul 2026 23:30:52 +0100</lastBuildDate><atom:link href="https://www.tiernanotoole.ie/categories/tutorial/index.xml" rel="self" type="application/rss+xml"/><item><title>How to use Cloudflare Warp with a UDM Pro</title><link>https://www.tiernanotoole.ie/2024/12/12/how-to-use-cloudflare-warp-with-a-udm-pro.html</link><pubDate>Thu, 12 Dec 2024 21:25:23 +0000</pubDate><guid>https://www.tiernanotoole.ie/2024/12/12/how-to-use-cloudflare-warp-with-a-udm-pro.html</guid><description>If you’re considering using Cloudflare Wrap for specific machines on your network, you can easily install the Warp client directly on them. It supports various operating systems, including Windows, Linux, Mac, iOS, and Android. However, if you need to use it on devices that aren’t compatible with the client installation, for example, NAS Devices or Smart TVs, this tutorial may be helpful.
First, please note that this is not an officially supported option. Cloudflare might modify their configurations at some point, potentially causing this feature to break. You have been informed about this possibility.</description></item><item><title>Step-by-Step Guide to Install Mac OS 9 in QEMU</title><link>https://www.tiernanotoole.ie/2024/12/11/how-to-set-up-mac-os-9-on-qemu.html</link><pubDate>Wed, 11 Dec 2024 13:31:28 +0000</pubDate><guid>https://www.tiernanotoole.ie/2024/12/11/how-to-set-up-mac-os-9-on-qemu.html</guid><description>Want to experience the classic Apple operating system on modern hardware? Emulating Mac OS 9 using QEMU is the way to go! This guide will guide you through the process of setting up Mac OS 9 in QEMU, from creating a virtual hard drive to installing the operating system. Let’s get started!
Prerequisites
Before you begin, make sure you have these things:
A computer that can run QEMU (macOS, Linux, or Windows). A Mac OS 9 installation ISO (like Mac OS 9.2.2 Universal Install. Check Archive.org). A version of QEMU with sound support (like qemu-screamer). You should also know a bit about using the terminal. Step 1: Install QEMU</description></item><item><title>Building Cloud Images for Proxmox</title><link>https://www.tiernanotoole.ie/2024/04/30/building-cloud-images-for-proxmox.html</link><pubDate>Tue, 30 Apr 2024 20:08:40 +0000</pubDate><guid>https://www.tiernanotoole.ie/2024/04/30/building-cloud-images-for-proxmox.html</guid><description/></item><item><title>Day 61 of #100daysofhomelab – swapping disks in a Hetzner Dedicated Machine</title><link>https://www.tiernanotoole.ie/2023/04/17/day-61-of-100daysofhomelab-swapping-disks-in-a-hetzner-dedicated-machine.html</link><pubDate>Mon, 17 Apr 2023 13:22:47 +0000</pubDate><guid>https://www.tiernanotoole.ie/2023/04/17/day-61-of-100daysofhomelab-swapping-disks-in-a-hetzner-dedicated-machine.html</guid><description>It’s been a while… So, for Day 61 of #100daysofhomelab, I thought I should write up how to swap a disk in a Hetzner Dedicated Machine.
I have a dedicated server I rent from Hetzner in Germany. It has an Xeon E5-1650 V2 processor (6 cores, 12 threads, 3.5Gz base, 3.9Gz turbo), 128Gb RAM, and a pretty impressive 15 6Tb HDD. All drives are hooked to a Mega RAID controller, but because I am running ProxMox, I left it in JBOD mode and set up the 15 drives in RAIDZ-2. All 15 drives are in a single pool (probably not ideal, but it works for me). Now and again, I get a message from ProxMox telling me about bad blocks… and every time it happens, I have to remember what to do to find the bad drive, report it to Hetzner, wait for them to replace the drive and then add it back to the pool… Today, it happened, so I thought I better document it, to help future me, and hopefully someone else out there…</description></item><item><title>Bulk updating Tasmota Devices over MQTT #100daysofhomelab</title><link>https://www.tiernanotoole.ie/2022/08/30/bulk-updating-tasmota-devices-over-mqtt-100daysofhomelab.html</link><pubDate>Tue, 30 Aug 2022 17:50:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2022/08/30/bulk-updating-tasmota-devices-over-mqtt-100daysofhomelab.html</guid><description>I have a load of these Smart Plugs from GoSund around the house (currently around 11, but more are still in boxes). The handy part of these is they can be re-programmed using Tuya Convert and using the following config you can get power usage and an on/off switch. I have mine hooked up to an MQTT server, and with the MQTT plug-in to Home Assistant, I get all the details about power usage and can control each device I need to (hence the 11 of them!).</description></item><item><title>DNSControl and Github Actions #100daysofhomelab</title><link>https://www.tiernanotoole.ie/2022/06/18/dnscontrol-and-github-actions.html</link><pubDate>Sat, 18 Jun 2022 18:32:24 +0000</pubDate><guid>https://www.tiernanotoole.ie/2022/06/18/dnscontrol-and-github-actions.html</guid><description>I am participating in the #100daysofhomelab challenge and have been posting a lot on Twitter as @tiernano, but some posts and tasks I am doing will require longer-form write-ups. So, some updates will include either Videos (which will be published on my Youtube Channel) or blog posts, which will go here. This is the first of the blob posts.</description></item><item><title>Ubiquiti UDM Pro Fail over to Speedify</title><link>https://www.tiernanotoole.ie/2021/11/07/ubiquiti-udm-pro-fail-over-to-speedify.html</link><pubDate>Sun, 07 Nov 2021 21:46:59 +0000</pubDate><guid>https://www.tiernanotoole.ie/2021/11/07/ubiquiti-udm-pro-fail-over-to-speedify.html</guid><description>So, this has been a blog post in the making for a while now but never got around to fully writing it up, so here goes nothing…
I run a UDM Pro in the house. It has 2 WAN Links: 1 1Gb link and 1 10Gb Link. I also run AS204994, my own ASN with its own Transit and Peering connections, mostly in Europe. There is a VM in the house which acts as a connection to AS204994, which gives me a full connection to the Internet through my own ASN. More details on my AS204994 blog are here.</description></item><item><title>Connecting to my car over ZeroTier</title><link>https://www.tiernanotoole.ie/2020/11/09/connecting-to-my-car-over-zerotier.html</link><pubDate>Mon, 09 Nov 2020 19:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2020/11/09/connecting-to-my-car-over-zerotier.html</guid><description>I use ZeroTier on my network for a good few things, including internal network peering between BGP VMs, management of machines, and now, connecting to my car over LTE. This is one of those posts that sounds silly, but is very handy! First, the parts list:
Car. 3G/4G/5G modem of some sort. I am using a Huawei Wingle. Can be used without the Router below, but I wanted Zerotier, so I have it in modem only mode. A router that supports Zerotier. I am using a modified TP-Link TL-WR703N upgraded to 16MB ROM and 64MB RAM. This is required for newer OpenWRT builds a dashcam that connects over Wifi. I am using a BlackVue DR750S-2CH Latest ROOter software from Of Modems and Men Patients. After installing the the latest copy of ROOter on the TPLink (or router of your choice) and getting the modem configured correctly (this took a while) you need to install the Zerotier software though the dashboard. Once installed, I joined my Zerotier network using the CLI (SSH into the router) and the approved it though the my.zerotier.com dashboard. Once its approved and connected, you can now go to the Zerotier IP and get to the router directly. From here, you can either setup a route in Zerotier to point at the internal network behind the router, or, in my case, setup a SSH tunnel to the dashcam. I found the IP given to the dashcam and used SSH forwarding to get to it. Finally, i used the URLs from Digital-Nebula’s hackview repo to get to the different URLs. I use this to download stuff like GPS logs, emergency videos, etc. I have to clean up some scripts at some stage for this, and plan to upload them at some stage.</description></item><item><title>Domain Joining a machine over VPN and Password Resets/Changes with Azure AD</title><link>https://www.tiernanotoole.ie/2020/10/15/domain-joining-a-machine-over-vpn-and-password-resets-changes-with-azure-ad.html</link><pubDate>Thu, 15 Oct 2020 13:44:35 +0000</pubDate><guid>https://www.tiernanotoole.ie/2020/10/15/domain-joining-a-machine-over-vpn-and-password-resets-changes-with-azure-ad.html</guid><description>With the whole Work From Home thing probably becoming more and more normal in the years to come (I can count on 2 hands how many times I have physically been in my main office in the last 7 months) there are a couple of certainties in that people will come up against. One is passwords expiring and needing to be changed, one is password resets being required and finally laptops or desktops needing to be domain joined or connected to the domain before they can be fully provisioned. As the (currently only) IT guy in our office, I have had to deal with these first hand, and decide to write this post, helping both my fellow employees, and possibly other IT Admins stuck in this challenge.</description></item><item><title>Auto deploying to multiple servers with GitHub and Webhooks</title><link>https://www.tiernanotoole.ie/2018/07/05/auto-deploying-to-multiple-servers-with-github-and-webhooks.html</link><pubDate>Thu, 05 Jul 2018 16:40:23 +0000</pubDate><guid>https://www.tiernanotoole.ie/2018/07/05/auto-deploying-to-multiple-servers-with-github-and-webhooks.html</guid><description>In yesterdays post, i mentioned that i wanted to try get an auto deploy working for this site. It already builds auto-magically using Forestry and puts the static HTML into a Github repo, but i needed to manually update the servers hosting the site. Well, not any more!
using the magic of Github’s Web hooks, the Webhook project and a small piece of bash shell script, i have managed to get this auto deploying.</description></item><item><title>PFSense with Multiple Public IPs</title><link>https://www.tiernanotoole.ie/2015/05/30/pfsense-with-multiple-public-ips.html</link><pubDate>Sat, 30 May 2015 17:50:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2015/05/30/pfsense-with-multiple-public-ips.html</guid><description>So, a few weeks back, i got my hands on a Hetzner Dedicated box. It has a quad core Xeon, 32Gb ram, 3x3Tb hdds, RAID controller and KVMoIP. one of the first thing i did was get myself a /29 IP pool (8 total, 6 usable IPs). There where already 3 IPs given to me: 1 for the KVM, one for the box itself, and 1 as the router for the IP block.</description></item><item><title>Quick tip for internet facing ESXi servers</title><link>https://www.tiernanotoole.ie/2015/05/20/quick-tip-for-internet-facing-esxi-servers.html</link><pubDate>Wed, 20 May 2015 07:12:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2015/05/20/quick-tip-for-internet-facing-esxi-servers.html</guid><description>Quick tip for all you with internet facing VMWare ESXi Hosts. I
have just got my hands on a box on the Hetzner network (more on
that later) and using their LARA system i installed ESXi on it. All was good, then I tried login in a couple hours later and i kept getting errors about my password being wrong… So, i tried a few more times, got pissed off and rebooted the box (had to do a hard reboot, since i couldn’t even get in over KVM). I though this was a hardware issue, or a config issue, and left it… yesterday, i had the console open most of the day, and when looking at something i noticed this:</description></item><item><title>Bulk compressing images for the Web</title><link>https://www.tiernanotoole.ie/2015/04/29/bulk-compressing-images-for-the-web.html</link><pubDate>Wed, 29 Apr 2015 16:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2015/04/29/bulk-compressing-images-for-the-web.html</guid><description>Now that all my sites are running Jekyll I am trying to get them optimized for SPEED which meant
looking at all the stuff that takes time to download… There are more tweaks (and possibly posts) coming down
the road, but to start, I needed to look at images.
First things first. I’m running this on a Sabayon Linux box, so some of the install commands will be different… (Also, i do need to explain why I moved from Windows to Linux on the GodboxV2, but that’s a different post…)</description></item><item><title>Hubic and Duplicity</title><link>https://www.tiernanotoole.ie/2015/04/01/hubic-and-duplicity.html</link><pubDate>Wed, 01 Apr 2015 06:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2015/04/01/hubic-and-duplicity.html</guid><description>I mentioned HubiC in my last post, and in it i said that you could use Duplicity for backups. Well, this is how you get it to work…
First, i am using Ubuntu 14.04 (i think…). I use Ubuntu in house for a few things:
its running Tiernan’s Comms Closet, GeekPhotographer and Tiernan’s Podcast all in house, aswell as being used to build this site. The Web Server and MySQL Server are seperated, MySQL running on Windows, web on Ubuntu… but thats a different story… I have a couple of proxy servers running Ubuntu also Other general servers running Ubuntu… dont ask, cause i cant remember what they do half the time… So, Duplicity is a backup application. From their website:</description></item><item><title>Hubic, OpenStack Swift and Curl</title><link>https://www.tiernanotoole.ie/2015/03/31/hubic-openstack-swift-and-curl.html</link><pubDate>Tue, 31 Mar 2015 21:40:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2015/03/31/hubic-openstack-swift-and-curl.html</guid><description>HubiC is an online storage site, built by the guys at OVH. They are currently offering 30Gb free (if you use the link above) or if you pay, you get 110Gb (insted of the usual 100Gb) for EUR1 a month, or 10.5TB (yup… TERABYTES!) for EUR5 a month… Thats a crazy amount of storage for a not crazy amount of money!
So, while playing around with different things, I found they have an API, so other than the usual apps to play with (like the Hubic Apps for iPhone, Android, Windows Phone, Windows Desktop and OSX, Duplicity for backing up *nix boxes, and a few others) you can build your own…</description></item><item><title>IPv6 + MikroTik + Linux + Windows</title><link>https://www.tiernanotoole.ie/2012/12/19/ipv6-mikrotik-linux-windows.html</link><pubDate>Wed, 19 Dec 2012 15:24:07 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/12/19/ipv6-mikrotik-linux-windows.html</guid><description>I have been wanting to setup an IPv6 network for a while now, but never had the hardware or network to support it. My broadband Modem, a Cisco EPC3925, was pretty useless… But with the advent of Bridging on the Cisco EPC3925 it now works!
The first thing i needed to do was setup a Tunnel Broker Account with Hurricane Electric. I got a /64 block of IPv6 addresses, which should do me for a while… 🙂</description></item><item><title>enabling VNC from SSH on OSX</title><link>https://www.tiernanotoole.ie/2012/11/29/enabling-vnc-from-ssh-on-osx.html</link><pubDate>Thu, 29 Nov 2012 15:16:49 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/11/29/enabling-vnc-from-ssh-on-osx.html</guid><description>I have a Late 2008 MacBook Pro in the house, and SSH is enabled on it. I usually leave it on when in work. Anyway, SSH is enabled, but VNC access is not… I found the following command on Ryan’s Tech Notes allowing you to enable it though SSH:
** NOTE ** Change mypasswd to your own password!!!
If you need to disable it, use the following:
Also, of note, I am using RealVNC client for Windows to connect.</description></item><item><title>moving your TMG SQL server Logs DB and other TMG tips</title><link>https://www.tiernanotoole.ie/2012/11/22/moving-your-tmg-sql-server-logs-db-and-other-tmg-tips.html</link><pubDate>Thu, 22 Nov 2012 07:27:55 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/11/22/moving-your-tmg-sql-server-logs-db-and-other-tmg-tips.html</guid><description>In house, I have been using Microsoft TMG 2010 Server for a while now. I use it as a firewall for some of the machines on the network, and also as a proxy for most, if not all, machines. When acting as a Firewall, all traffic flows though the machine, be it HTTP/HTTPS, SMTP/POP3/IMAP, or anything for that matter. You can also lock down ports on the box, which is a feature of most firewalls, but i like TMG due to its relitive ease of use…</description></item><item><title>RouterOS Using Host names in Firewall Rules</title><link>https://www.tiernanotoole.ie/2012/10/12/routeros-using-host-names-in-firewall-rules.html</link><pubDate>Fri, 12 Oct 2012 07:43:17 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/10/12/routeros-using-host-names-in-firewall-rules.html</guid><description>As a follow-up to yesterday’s post on RouterOS Blocking Machine access to all but one IP, I thought I would show how to add extra IPs to that list, without having a shedload of firewall filters.
First things first, get your list of IPs you allow access to. In my case, I just did an NSLOOKUP on the name and got the IPs. Create an “Address List” in RouterOS. This can be done on the Web Interface by going to IP / Firewall / Address List and clicking Add. I had none previously, so I created a new rule, naming it ExpressVPN (the lads I use for VPN access) and added the first address. this is where things get interesting. for extra IP (for ExpressVPN, I have 4) you create a new address with the SAME name, but different IP. in your firewall rule, you should have either an src address or a dst address. in my case, I had both, but this was a change for the dst address. I removed the address from the rule, and I added it as a dst address list entry. If you have multiple address lists, you will see them here. to do this at the command prompt:</description></item><item><title>RouterOS Blocking Machine access to all but one IP</title><link>https://www.tiernanotoole.ie/2012/10/11/routeros-blocking-machine-access-to-all-but-one-ip.html</link><pubDate>Thu, 11 Oct 2012 13:09:20 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/10/11/routeros-blocking-machine-access-to-all-but-one-ip.html</guid><description>So, I have a machine on my network, which should be only connecting to the internet through a VPN. I needed to tell my RouterOS box to block all access, except to this said IP address. The following should do the trick. YMMV
this will drop any packets from the srcaddress (IP address) that are not for the destination dstaddress (IP address). in my case, dstaddress is the VPN server I want to connect to. So, in theory, all packets should just go through the VPN and not leak out into the rest of the network. again, still testing this so be careful!</description></item><item><title>Handbrake Cluster</title><link>https://www.tiernanotoole.ie/2012/10/03/handbrake-cluster.html</link><pubDate>Wed, 03 Oct 2012 00:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/10/03/handbrake-cluster.html</guid><description>[UPDATED] someone asked in the comments if there was an binary build for this file. there is now! http://handbrakecluster.codeplex.com now hosts the code and binaries, and will soon have help files and documentation.
A few days back, i wrote a post titled Powershell + Handbrake + AppleTV + iTunes = Automatic TV. ish. In it i included a block of Powershell code to bulk convert TV shows from whatever format you had them in to a M4V format for the AppleTV. Well, as they say “If necessity is the mother of all invension, lazyness must be the father”. I have a lot of shows i wanted converted to the AppleTV, so i built something. Its called HandBrake Cluster and is written in .NET 4.5, uses MSMQ and Handbrake to do the processing. The workflow is as follows:</description></item><item><title>Enabling True Bridging modem on a Cisco ECP3925 Cable Modem (UPC Ireland)</title><link>https://www.tiernanotoole.ie/2012/10/02/enabling-true-bridging-modem-on-a-cisco-ecp3925-cable-modem-upc-ireland.html</link><pubDate>Tue, 02 Oct 2012 00:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/10/02/enabling-true-bridging-modem-on-a-cisco-ecp3925-cable-modem-upc-ireland.html</guid><description>I am a UPC Ireland customer, and have 2 cable modems into the house, both Cisco EPC3925s. These are not exactly great modems for power users, but are grand for normal use. Me, however, being a poweruser wanted something a little more, how should I put it, powerful.
A couple of months back, a tutorial was posted on Boards.ie which showed you How to enable “bridging” on your UPC modem. When i say “Bridging”, they used DMZ, turned off firewalls, static IPs internally, turned off WiFi and DHCP, etc. It worked, quite well actually, but was “odd”. Today, however, there is a new tutorial Enabling REAL bridging on a Cisco EPC3925. I have tried this, and so far, it works! now just to set my router to work correctly, and update my IPs if they change.</description></item><item><title>Building a Cross Compiler for your Raspberry Pi</title><link>https://www.tiernanotoole.ie/2012/09/25/building-a-cross-compiler-for-your-raspberry-pi.html</link><pubDate>Tue, 25 Sep 2012 00:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/09/25/building-a-cross-compiler-for-your-raspberry-pi.html</guid><description>My main machine at home, known as “The GodBox” is a Dual Processor, Quad Core Xeon 5520 with 60Gb RAM, 2 300Gb 10,000 RPM Western Digital Velociraptor in RAID 0 for boot, 4X1Tb 7200RPM drives for storage, 2 more 300Gb 10,000 RPM drives for “scratch disk” and a couple high(ish) end graphics cards with 3 monitors plugged in. Hence the name, GodBox!
Anyway, The Raspberry Pi, on the other hand, has a 700Mhz processor, 256Mb RAM and not much else. So, if you need to write code for your Pi, and you don’t want to wait a long time to compile, check out this tutorial on how to build a cross compiler for your raspberry pi which will allow you to build your apps on a different machine. I have a college project which the Raspberry Pi will be used for, and i am thinking this will be how i build code.</description></item><item><title>MicroTik RouterOS VPN Setup</title><link>https://www.tiernanotoole.ie/2012/09/24/microtik-routeros-vpn-setup.html</link><pubDate>Sun, 23 Sep 2012 23:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/09/24/microtik-routeros-vpn-setup.html</guid><description>I have been running a MikroTik RouterBoard in the house for a couple of months now (the RB750G) and I am very much loving the thing. But one thing you may need to do is setup VPN connections… Here are some tips on how to create a VPN Server and Client on your RouterBoard.
##Client Setup
to setup a client, you need to do the following:
What does that all do? the first line creates an l2tp-client interface, pointing at “servername” with the username and password set. encryption, etc is enabled… Line 2 then enables the client. Line 3 sets all traffic comming from networkaddress/24 (for example, 192.168.0.1/24) to be sent though the VPN. any traffic going into networkaddress (same example) is not sent though the VPN. Line 4 creates a gateway, for all addresses (0.0.0.0/0) to use the VPN address. finally, NAT Masquerading is enabled on the VPN interface.</description></item><item><title>SSH Tunneling made simple</title><link>https://www.tiernanotoole.ie/2012/09/17/ssh-tunneling-made-simple.html</link><pubDate>Sun, 16 Sep 2012 23:00:00 +0000</pubDate><guid>https://www.tiernanotoole.ie/2012/09/17/ssh-tunneling-made-simple.html</guid><description>Something I do on a regular basis is use the internet while “out and about”. This could be college, which has a semi open network, or it could be a coffee shop, which also usually has a semi open connection. There is also the possibility of using the a mobile internet connection on my iPhone, which can be slow, but at least its only shared with me… Anyway, over on RevSys.com, there is a post SSH Tunneling made simple which shows you how to open an SSH tunnel to your machine somewhere else (could be at home, as is my case, or a VPS/Dedicated server somewhere, or even on Amazon…) and use that for different things… In the case he shows, its for SMTP access. For my case, i am forwarding my local port 3128 to my Microsoft TMG 2010 Server in house on port 8080. Then my system proxy on my laptop is set to use localhost:3128 for all web and HTTPS requests. Very handy. One other tip: Using the -C flag, so your command may look like:</description></item></channel></rss>