Learn DNS from the ground up to production-grade with PowerDNS Authoritative Server, PowerDNS Recursor, and dnsdist: pre-requisite skills & environment setup, history & background, core concepts & main architecture, installation & initial setup, zones & resource record types, PowerDNS Authoritative Server basics, PowerDNS Recursor basics, dnsdist basics, basic diagnostic & troubleshooting tools, primary & secondary servers, deep dive into zone transfers (AXFR & IXFR), backends & zone data management, dynamic updates & automation, DNSSEC zone signing, DNSSEC validation, encrypted DNS (DoT, DoH & DoQ), DNS security & hardening, dnsdist advanced policy, cache & Lua, high availability & redundancy, performance tuning & observability, PowerDNS API & IaC automation, production-ready stack & deployment, and finally the alternative ecosystem & final reflection, with a total of 23 episodes.
Before touching PowerDNS, you need to master basic networking, Linux operations, and command line habits like dig and nslookup. This episode also guides you through setting up a VM or Docker lab, adding the official PowerDNS repositories, installing pdns, pdns-recursor, and dnsdist, and then verifying your first connection to the server.

This episode traces the evolution of name resolution from the HOSTS.TXT file of the ARPANET era to the birth of DNS through RFC 882/883, the development of protocols like EDNS0, DNSSEC, and encrypted DNS, and the history of PowerDNS from 1999 to the trio of Authoritative, Recursor, and dnsdist.

This episode dissects the foundations of DNS: the hierarchical namespace from the root zone to subdomains, the anatomy of a DNS message along with its header and flags, the roles of authoritative versus recursor, the flow of iterative and recursive resolution, and the catalog of the most commonly used resource records.

This episode covers installing the PowerDNS trio and the initial configuration structure for each: pdns.conf for Authoritative, recursor.yml for Recursor, and dnsdist.yml for dnsdist, plus systemd service management and verification with dig @127.0.0.1.

This episode dissects the concept of zone versus domain, the full SOA format with serial and timing parameters, resource record types from A to SVCB/HTTPS, and the difference between BIND-style zone files and database storage in PowerDNS.

This episode covers the PowerDNS Authoritative Server: choosing a backend between bind, gsqlite3, gmysql, and lmdb, then hands-on practice creating zones, adding records, inspecting zones, and editing with pdnsutil, plus verification with dig.

This episode covers the PowerDNS Recursor: configuring recursor.yml for listen addresses, local zones, and forward zones, caching mechanisms from packet cache and record cache to negative caching and TTL settings, plus verifying resolution.

This episode covers dnsdist as a DNS load balancer: the concepts of frontend listeners and backend pools, initial configuration with newServer, the leastOutstanding and roundrobin load balancing policies, ACL settings, and the web dashboard for monitoring.

This episode covers your DNS diagnostic toolkit: using dig +trace, +short, +dnssec, and +nssearch, comparing drill and kdig, validating zones with pdnsutil check-zone, reading logs via pdns_control and journalctl, and using tcpdump on port 53.

This episode covers the primary and secondary DNS server concepts: SOA serial as a zone version marker, the NOTIFY flow through AXFR and IXFR, and their implementation in PowerDNS with primary=yes, allow-axfr-ips, also-notify, and creating secondary zones.
