Tags

Here’s a concise BIND9 Dynamic Zone Management Cheat Sheet 
to handle common tasks and troubleshoot dynamic zones:

BIND9 Dynamic Zone Management Cheat Sheet

Freezing and Thawing Zones

  • Freeze a zone (disable dynamic updates):
    rndc freeze <zone>
  • Thaw a zone (enable dynamic updates):
    rndc thaw <zone>

Reloading a Zone

  • Reload a zone (after freeze):
    rndc reload <zone>

Fixing Journal Issues

  • Freeze the Zone:
    rndc freeze <zone>
  • Delete the Journal File:
    rm /etc/bind/zones/<zone>.jnl
  • Verify the Zone File:
    named-checkzone <zone> /etc/bind/zones/<zone>.db
  • Reload the Zone:
    rndc reload <zone>
  • Thaw the Zone:
    rndc thaw <zone>

Viewing Zone Status

  • Check if a zone is loaded:
    rndc status
  • List loaded zones:
    rndc showzone

Debugging

  • View BIND logs:
    tail -f /var/log/named/*.log
  • Check zone file syntax:
    named-checkzone <zone> /etc/bind/zones/<zone>.db
  • Check configuration file syntax:
    named-checkconf

Managing Configuration Files

  • Primary zone example (named.conf.local):
    zone "example.com" {    type master;    file "/etc/bind/zones/db.example.com";    allow-update { key ddns-key; }; };
  • Dynamic updates key example:
    key "ddns-key" {    algorithm hmac-sha256;    secret "base64-encoded-key"; };

Restarting BIND

  • Reload configuration:
    rndc reload
  • Restart BIND9 service:
    systemctl restart bind9

Common File Paths

  • Zone files: /etc/bind/zones/<zone>.db
  • Journal files: /etc/bind/zones/<zone>.jnl
  • Logs: /var/log/named/*.log
  • Config files: /etc/bind/named.conf, /etc/bind/named.conf.local

Quick Tips

  • Always freeze a dynamic zone before editing its .db file manually.
  • Use named-checkzone and named-checkconf to validate changes before applying.
  • Backup your zone files and journal files regularly.