logfile: configuration entry). This page covers common log messages and their meanings.
Severity Levels
NSD uses standard syslog severity levels:- LOG_CRIT - Critical errors requiring immediate attention
- LOG_ERR - Error conditions
- LOG_WARNING - Warning messages
- LOG_NOTICE - Normal but significant conditions
- LOG_INFO - Informational messages
Reload and Process Messages
Reload Process Failed
Reload Process Failed
- Check zone file syntax with
nsd-checkzone - Verify file permissions on zone files and database directory
- Check system logs for more detailed error messages
- Review recent changes to zone files or configuration
IXFR Database Corruption
IXFR Database Corruption
ixfr.db contains only part of expected data. The corruption is removed by snipping off the trailing part.Action:- This is automatically corrected by NSD
- The zone will be served correctly
- Consider investigating what caused the incomplete write (disk full, power failure, etc.)
- IXFR history for affected zones may be incomplete
Memory Recyclebin
Memory Recyclebin
- This is informational only
- If the number grows very large (hundreds of MB or more), consider restarting NSD
- Normal operation for servers with frequent zone updates
- A restart will free this memory back to the system
Zone Transfer Messages
Max TCP Connections Reached
Max TCP Connections Reached
xfrd-tcp.h), but if this happens often for you, we could make this a config option. NSD will reuse existing TCP connections to the same primary (determined by IP address) to transfer up to 64k zones from that primary. Thus this error should only happen with more than 32 primaries or more than 64*32=2M zones that need to be updated at the same time.Action:- More zones have to wait until a zone transfer completes (or is aborted) before they can have a zone transfer too
- This waiting list has no size limit
- Consider staggering zone update times
- Ensure primary servers are responding promptly
- This is only a concern for very large deployments
DNSSEC Messages
Unknown NSEC3 Hash Algorithm
Unknown NSEC3 Hash Algorithm
- Update NSD to a version that supports the hash algorithm
- Re-sign the zone with a supported hash algorithm (SHA-1 is universally supported)
- Check NSEC3PARAM records in the zone file
- The zone will still be served, but DNSSEC validation may fail
Configuration Messages
SSL/TLS Messages
SSL/TLS Messages
- Recompile NSD with
--with-ssloption - Install OpenSSL development libraries
- TLS features will not be available
- Update OpenSSL to a version supporting TLS 1.3
- Zone transfers over TLS will not be available
- Regular zone transfers will continue to work
Interface and Port Messages
Interface and Port Messages
- Check if another process is using the port
- Verify IP address is configured on the system
- Check firewall rules
- Ensure NSD has permission to bind to the port (ports < 1024 require root)
- Use
--disable-ipv6when compiling if IPv6 is not needed - Enable IPv6 support in the kernel
- Remove IPv6 addresses from configuration if not available
File and Permission Messages
File Permission Errors
File Permission Errors
- Check file exists
- Verify file permissions
- Check SELinux/AppArmor policies
- Ensure directory permissions are correct
- Verify user/group ownership
Query Processing Messages
Query Dropped Messages
Query Dropped Messages
- Malformed query packet
- Invalid DNS message format
- Query exceeds maximum size
- Rate limiting triggered
- This is usually due to malicious or broken clients
- Monitor the
num.droppedstatistic - If very high, investigate source IP addresses
- Consider firewall rules for persistent bad actors
Statistics and Metrics Messages
Metrics Endpoint Messages
Metrics Endpoint Messages
- This is informational only
- Indicates normal operation of metrics endpoint
- Recompile with
--enable-bind8-statsto enable statistics - Metrics endpoint will return 204 No Content
System Resource Messages
Memory and Resource Limits
Memory and Resource Limits
- Increase system memory
- Reduce number of zones
- Enable
--disable-nsec3if NSEC3 is not needed (saves ~20% memory) - Consider
--disable-radix-treeto use less memory - Check for memory leaks with long uptimes
Verbosity Levels
Control log verbosity with theverbosity option in nsd.conf or via nsd-control verbosity <number>:
- 0 - Only errors and warnings
- 1 - Operational information (default)
- 2 - Full query logging (very verbose)
- 3 - Debug information
nsd.conf
Log File Configuration
Configure logging in nsd.conf:nsd.conf
Troubleshooting Tips
See Also
- Configure Options - Build-time configuration
- Statistics - Statistics counters and their meanings