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 $ROOT environment variable 🌱
  • and it runs under the uid and gid specified by the $UID and $GID environment 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