<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dns on heezy.blog</title><link>https://heezy.blog/tags/dns/</link><description>Recent content in Dns on heezy.blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://heezy.blog/tags/dns/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Cloudflare on IaC</title><link>https://heezy.blog/posts/cloudflare-iac/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/cloudflare-iac/</guid><description>&lt;p&gt;Everything in the lab is managed as code. FortiGate firewall rules, Proxmox VMs, Kubernetes manifests. Cloudflare was the last holdout. DNS records, tunnel config, and zone settings all lived in the dashboard, clicked into existence and never tracked anywhere. Time to fix that.&lt;/p&gt;</description></item><item><title>Pi-hole on Kubernetes with MetalLB and a Ruckus SSID</title><link>https://heezy.blog/posts/pihole-metallb-ruckus/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/pihole-metallb-ruckus/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;🚧 UNDER CONSTRUCTION 🚧&lt;/strong&gt;
Switch and Ruckus configuration pending. Screenshots to be added.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pi-hole was already running on the cluster. It worked fine from inside the cluster and via NodePort on weird high ports. The problem was that no actual client device could use it as a DNS server, because DNS clients expect port 53 and NodePort gives you 30054.&lt;/p&gt;
&lt;p&gt;What started as &amp;ldquo;just give Pi-hole a real IP&amp;rdquo; turned into a new VLAN, a new DHCP server, firewall policy changes, switch configuration, and a Ruckus SSID. The usual homelab scope creep.&lt;/p&gt;</description></item><item><title>Split DNS, MetalLB, and the dnsmasq Debugging Saga</title><link>https://heezy.blog/posts/internal-dns-rollout-dnsmasq-metallb/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/internal-dns-rollout-dnsmasq-metallb/</guid><description>&lt;p&gt;This is the story of building split-horizon DNS for a homelab with four VLANs, a FortiGate firewall, a 5-node MicroK8s cluster, and a Cloudflare tunnel. Then spending hours debugging why dnsmasq wouldn&amp;rsquo;t answer queries despite the port being open, the firewall allowing traffic, and the container running fine. The entire implementation and debugging session was driven through MCP tooling.&lt;/p&gt;</description></item><item><title>Networking the Heezy: VLANs, Firewall Zones, and How Traffic Moves</title><link>https://heezy.blog/posts/networking-vlans-and-firewall/</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><guid>https://heezy.blog/posts/networking-vlans-and-firewall/</guid><description>&lt;p&gt;The network is the foundation of everything in the lab. Four VLANs, a FortiGate doing all the routing, a Cisco 3560 doing the switching, and a set of rules about what can talk to what. This post covers how it&amp;rsquo;s all wired together, how DNS works across zones, and how remote access gets in without exposing anything to the internet.&lt;/p&gt;</description></item></channel></rss>