Yes, BIND's named service does log startup errors by default. The daemon writes to syslog using the daemon
facility when running on Unix-like systems. The exact log location depends on your syslog configuration, but common paths include:
/var/log/messages # RHEL/CentOS traditional
/var/log/syslog # Debian/Ubuntu
/var/log/daemon.log # Some distributions
BIND includes built-in tools for configuration validation:
# Syntax check for named.conf
named-checkconf /etc/named.conf
# Zone file validation
named-checkzone example.com /var/named/example.com.zone
The named-checkconf
tool specifically addresses the Wikipedia mention of configuration verification. It returns exit code 0 on success or outputs error messages with line numbers when issues are found.
Here's how to troubleshoot a failing BIND startup:
# Check config syntax first
sudo named-checkconf /etc/named.conf
# If clean, attempt to start with debug logging
sudo named -g -d 3
# Check system logs in another terminal
tail -f /var/log/syslog | grep named
Common startup errors include:
- Permission issues on zone files or config directories
- Syntax errors in configuration (missing semicolons, brackets)
- Port 53 being occupied by another process
To modify logging locations in BIND 9, add to your named.conf
:
logging {
channel custom_log {
file "/var/log/named/errors.log" versions 5 size 20m;
severity debug 3;
print-time yes;
print-severity yes;
};
category default { custom_log; };
};
Remember to create the log directory and set appropriate permissions:
sudo mkdir /var/log/named
sudo chown named:named /var/log/named
Yes, BIND's named service does log startup errors by default. The primary log location depends on your operating system and configuration:
# Common default paths:
/var/log/named.log # RHEL/CentOS
/var/log/bind/named.log # Debian/Ubuntu
/var/log/messages # Systemd systems may log here
You can specify custom logging locations in named.conf:
logging {
channel default_debug {
file "/var/log/named/debug.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
};
BIND includes named-checkconf
for validating configuration files:
# Basic syntax check:
named-checkconf /etc/named.conf
# Check zone files:
named-checkzone example.com /var/named/example.com.zone
When encountering startup failures, check both the BIND logs and system logs:
# Check BIND-specific logs:
tail -f /var/log/named.log
# Check system logs for context:
journalctl -u named --no-pager -n 50
Here are frequent issues and their fixes:
# Permission problems:
chown named:named /var/named -R
chmod 640 /etc/named.conf
# Syntax errors (use the verification tool):
named-checkconf /etc/named.conf