release , a high-performance authoritative DNS server (the resolver is implemented as a separate application), supporting all modern DNS features. The project is developed by the Czech domain registry CZ.NIC, written in C and under the GPLv3 license.
KnotDNS is designed for high performance in query processing, employing a multi-threaded, and largely non-blocking implementation, well-scalable on SMP systems. Features include on-the-fly zone addition and removal, zone transfer between servers, DDNS (dynamic updates), NSID (RFC 5001), EDNS0 extensions, and DNSSEC (including NSEC3), along with response rate limiting (RRL).
In the new release:
- Full support for various serial number (SOA) calculations for zones on master and slave servers has been implemented, with digital signature zone assurance on the slave server;
- The geoip module now supports records with wildcard substitution templates;
- A new setting ârrsig-pre-refreshâ has been added for DNSSEC to reduce the frequency of zone signature assurance events;
- A âtcp-reuseportâ setting has been added to enable SO_REUSEPORT(_LB) mode for TCP sockets;
- A âtcp-io-timeoutâ setting has been added to limit the time of incoming I/O operations over TCP;
- Significantly increased the performance of zone content update operations;
- Support for reconfiguration of network interfaces and handlers has been discontinued as it cannot be performed after privilege dropping by the process;
- The implementation of DNS Cookies has been redesigned for full compliance with the draft specification draft-ietf-dnsop-server-cookies;
- By default, the limit on the number of TCP connections is now set to half of the system limit for file descriptors, with a maximum open file value of 1048576;
- When choosing the number of handlers to run, the number of CPUs is now used, but not less than 10;
- Many options have been renamed, for example, âserver.tcp-reply-timeoutâ to âserver.tcp-remote-io-timeoutâ, âserver.max-tcp-clientsâ to âserver.tcp-max-clientsâ, âtemplate.journal-dbâ to âdatabase.journal-dbâ, etc. Support for old names will be maintained for at least until the next significant release.
Source: opennet.ru
