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
andnamed-checkconf
to validate changes before applying. - Backup your zone files and journal files regularly.