Today, we released version 4.8.0 of the authoritative DNS nameserver NSD.
This release introduces PROXYv2 support and faster statistics gathering, removes the database option and fixes bugs.
The proxy protocol support is an implementation of PROXYv2 for NSD. It can be configured with proxy-protocol-port: portnum with the port number of the interface on which proxy traffic is handled. The interface can support proxy traffic for UDP, TCP and TLS.
The removal of the "database: nsd.db" option removes unneeded code. It stored secondary zones in binary format. Zone files are used instead. This turns out to be about the same speed, for file access, and use much less memory. Plain text is also easier to deal with when inspecting the contents. Intended improvements in zone parser speed are expected to further enhance the performance, making it faster than the binary database.
The option to turn the database off with "" was introduced in 4.1.7 in 2015. It is now removed, and the 'database:' option is ignored for backwards compatibility, also the commandline '-f' option is ignored for backwards compatibility. This means NSD can start even though the option is present, and can then transfer zones from the primary and serve them.
Statistics are processed faster. NSD now uses shared memory to convey the statistics from the server processes to the xfrd process. This is faster, and also works while a reload is in progress. The statistics are no longer written over the command pipes between processes, and so do not wait for the processes. It is similar to how zone-stats have been implemented. It works for both stats and stats_noreset.
Thanks to Sunet for sponsoring the proxy protocol, and providing useful feedback in the early testing of the proxy protocol.
You can get source packages of this version from the downloads page.