tinydns(8)
π tinydns β bestie's fave DNS server π
ok so tinydns is a DNS server. that's the whole name. iconic, minimalist, no notes. β¨
πΈ DESCRIPTION πΈ
tinydns takes iterative DNS queries from hosts all over the Internet π«Ά and answers them with info you configured locally on your own machine. it's giving "I know this one, hold on." π
π Configuration π
this is a reference page, bestie. it's the cheat sheet, not the tutorial.
for the walk-you-through-it version, go read the instructions for running a DNS server over at http://cr.yp.to/djbdns/run-server.html. π
normally you don't even set tinydns up by hand β the tinydns-conf(8) program does it for you. β¨
here's the tea on how it runs:
- tinydns runs chrooted in the directory specified by the
$ROOTenvironment variable π± - and it runs under the uid and gid specified by the
$UIDand$GIDenvironment variables πͺͺ
it listens for incoming UDP packets addressed to port 53 of $IP. π‘
heads up: it does not listen for TCP queries. UDP only, no cap. π
and it answers those queries exactly as specified by data.cdb β that's a binary file made by tinydns-data(8). π§
π¦ Further details π¦
tinydns is picky in the best way and straight up rejects all of this:
- zone-transfer requests π
- inverse queries π
- non-Internet-class queries π
- truncated packets π
- packets that contain anything other than a single query π
(one query per packet, we are not doing bundles here. periodt.)
now the fun part: tinydns, just like BIND, includes NS records with answers to most queries. π
downsides and upsides, let's go:
- it increases DNS packet sizes (bigger packets, more to carry around π)
- but it draws queries away from parent servers π₯
- and it reduces the frequency of long DNS delays β
with the default tinydns-data(8) 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. main character energy, honestly. π
π SEE ALSO π
mwah π that's a wrap on the System Manager's Manual entry for tinydns(8) β go slay some queries, bestie. πβ¨π¦
π¦ where this page comes from
- debian bookworm: tinydns 1:1.05-15+b2 Β· LicenseRef-public-domain
- debian trixie: tinydns 1:1.05-22 Β· LicenseRef-public-domain
- nixos 26.05: djbdns 1.05
- nixpkgs unstable: djbdns 1.05
- ubuntu jammy: tinydns 1:1.05-15fakesync1 Β· LicenseRef-public-domain
- ubuntu noble: tinydns 1:1.05-15ubuntu2 Β· LicenseRef-public-domain
- ubuntu questing: tinydns 1:1.05-22ubuntu1
- ubuntu resolute: tinydns 1:1.05-22ubuntu2 Β· LicenseRef-public-domain
- ubuntu stonking: tinydns 1:1.05-23fakesync1 Β· LicenseRef-public-domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms