tinydns accepts iterative DNS queries from hosts around the Internet,
and responds with locally configured information. Encrypted DNS
queries in the DNSCurve format are supported when the name server's
public key is generated by means of dnscurve-keygen and used as primary
DNS name for tinydns.
Normally tinydns is set up by the tinydns-conf program.
tinydns runs chrooted in the directory specified by the $ROOT
environment variable, under the uid and gid specified by the $UID and
$GID environment variables.
tinydns listens for incoming UDP packets addressed to port 53 of $IP.
It does not listen for TCP queries. Specifying 0.0.0.0 or :: results
in listing to all available IP adresses and interfaces (for IPv6)
respectively. In case $IP is specified as the pseudo IP address :0,
tinydns is forced to bind to all available IPv4 and IPv6 addresses
tinydns answers queries as specified by data.cdb, a binary file created
tinydns rejects zone-transfer requests, inverse queries, non-Internet-
class queries, truncated packets, and packets that contain anything
other than a single query.
tinydns, like BIND, includes NS records with answers to most queries.
This increases DNS packet sizes, but it draws queries away from parent
servers, and reduces the frequency of long DNS delays. With the
default tinydns-data cache times, a client that uses a normal record at
least once every day will always have the corresponding NS records
cached and will never have to talk to parent servers.
curvedns-keygen(8), tinydns-conf(8), tinydns-data(8), tinydns-edit(8),
For tutorial information, see the FAQ List https://cr.yp.to/djbdns.html
Man(1) output converted with