DHCP Option 81 in systemd-networkd: The Undocumented Behavior

I inherited a set of Ubuntu servers that were provisioned outside of our normal provisioning and configuration methods of Foreman and Ansible, talking to Windows DHCP servers that use DHCP Option 81 for dynamic DNS registration. The problem was that some servers were getting their DNS A records registered correctly and some were not. The inconsistency was problematic, and the more I dug into it, the worse it got. This is the story of chasing that inconsistency, finding a workaround, realising the workaround was unnecessary, and ending up with a PR open against systemd upstream to fix a man page that has been inconsistent and ambiguous for years. ...

March 8, 2026 · 8 min · Malcolm Frazier

Building opscode.io

First post, the stack. This is a static site deployed to AWS via a fully automated pipeline. No servers, no databases, no CMS. Every post is a Markdown file in a git repo. Stack Overview Hugo - static site generator PaperMod - theme S3 - origin storage for built site files CloudFront - CDN, HTTPS, caching ACM - TLS certificate Route 53 - DNS GitHub Actions - CI/CD Terraform - all infrastructure as code Hugo and PaperMod Hugo is a static site generator written in Go. Write Markdown, get HTML. No runtime, no application server, nothing to patch or exploit. ...

March 4, 2026 · 4 min · Malcolm Frazier