YADIFA (sometimes spelled Y:A:D::I::F:A) is a name server developed by EURid, the registry for the .eu top-level domain. EURid implemented (yet another) name server to increase the robustness of the .eu name server infrastructure. YADIFA is currently an authoritative-only name server which:
- supports master/slave configurations with full (AXFR) and incremental (IXFR) zone transfer handling
- is written from scratch in C and purported to be portable and fast
- supports DNSSEC (EDNS0, NSEC and NSEC3)
- supports dynamic DNS updates
This post is but a very cursory glance at YADIFA.
The server started with copious debugging on stdout (which can be directed to logfiles or syslog).
As far as I can judge, the program works as advertised, even though a few things surprised me a little:
- Loading of the miniature
example.netmaster zone produced an
INVALID_CHARSETerror because the zone master file file contained an
@; I had to replace that by an origin name.
- Slaving of the
in-addr.arpazone showed a “connection refused” to the master. It turns out YADIFA uses the default “server-port” to connect to master servers, unless I explicitly specify a port number in the master statement, as shown above.
- Slaving of an internal zone of mine failed with
INVALID_CHARSETon “record #6”; this is possibly due to an embedded space in the rdata of a PTR record (
- Dynamic DNS updates with TSIG keys appear to fail but don’t really. (Issue fixed.)
- Stopping yadifad takes quite a long time (15 seconds with above configuration).
- Updated or slaved zones are written to master zone files on disk only when yadifad is signalled with a SIGUSR1 signal. Until then, they are stored in temporary databases (on disk).
YADIFA’s roadmap shows where it is heading to, so you may want to follow its progress.