DNSPROXY(8)
π DNSPROXY π
okay bestie, welcome to dnsproxy(8) β it lives in the System Manager's Manual section and it's literally a DNS proxy, no cap. Let me spill everything you need to know, and yes, I kept every single detail because I would never do you like that. π«Ά
β¨ NAME β¨
dnsproxy β DNS proxy. that's it, that's the whole vibe. short, iconic, to the point. π
π¦ SYNOPSIS π¦
dnsproxy [-dhV] [-c file]
like, that's the whole command. look at her. so compact. so powerful. π
πΈ DESCRIPTION πΈ
okay so picture this: the dnsproxy daemon just sits there, patiently waiting for nameserver queries on an address you picked out, then it dispatches those queries off to authoritative and recursive nameservers, and when the answers come back it forwards them straight to the original client. she's the middlewoman. the connector. the main character, honestly. β¨
the options are as follows:
-cfile β read the configuration from file.-dβ detach from the current terminal and run as a background process. bye bestie, she's going ghost mode. π»-hβ show usage.-Vβ show version.
now here's the important lore π₯: if a client from an internal IP address does a recursive lookup, the query gets forwarded to a recursive DNS server. but authoritative queries β and literally any query coming from clients in foreign networks β get forwarded to an authoritative DNS server. internal girlies get the recursive treatment, outsiders get authoritative. iykyk. π
π CONFIGURATION FILE π
at startup, dnsproxy reads a configuration file. you can point her at it with the -c option, or she'll just go to the default location which is /etc/dnsproxy.conf. (yes, she has a usual spot. don't judge.)
the following keywords are recognized:
authoritativeIP β address of the authoritative nameserver. [required] π¨ like, you cannot skip this one.recursiveIP β address of the recursive nameserver. [required] π¨ also non-negotiable.listenIP β local address (defaults to0.0.0.0).portnumber β local port number (defaults to53).chrootpath β a path to chroot to before starting to answer queries. locking it down, periodt. πusername β a user to change to before starting to answer queries.authoritative-timeoutseconds β time in seconds when authoritative queries time out (defaults to10).recursive-timeoutseconds β time in seconds when recursive queries time out (defaults to90).authoritative-portnumber β port number on authoritative nameserver (defaults to53).recursive-portnumber β port number on recursive nameserver (defaults to53).statisticsseconds β period between output of statistics (defaults to3600). use0to disable output of statistics completely. (silence era. π€«)internalnetwork β declare networks recognized as internal and thus eligible to do recursive queries. one network in CIDR notation per keyword.
π EXAMPLE π
authoritative 10.1.1.1
recursive 127.0.0.1
recursive-port 10053
listen 192.168.1.1
port 53
chroot /var/empty
user nobody
internal 192.168.1.0/24
internal 127.0.0.1
ate. no crumbs. π
β STATISTICS β
every hour (by default) dnsproxy logs the collected statistics about its usage to standard error β or to syslog when she's running detached. the statistics look like this:
ActiveQr AuthorQr RecursQr AllQuery Answered
0 0 0 0 0
TimeoutQ DroppedQ DroppedA LateAnsw HashColl
0 0 0 0 0
and here's what every single one of them means, because i'm not leaving you guessing bestie:
ActiveQrβ number of currently active queries proxied to the servers.AuthorQrβ accumulated number of authoritative queries.RecursQrβ accumulated number of recursive queries.AllQueryβ accumulated number of all queries ever received.Answeredβ accumulated number of answered queries.TimeoutQβ accumulated number of queries that did not receive an answer in time. πDroppedQβ accumulated number of dropped queries (e.g. transmission errors).DroppedAβ accumulated number of dropped answers.LateAnswβ accumulated number of answers received after the timeout period. fashionably late, but still late. πHashCollβ accumulated number of hash collisions in the query list.
π§ SEE ALSO π§
π VERSION π
this manual page describes dnsproxy version 1.17. current. fresh. relevant. β¨
π«Ά AUTHORS π«Ά
Armin Wolfermann <armin@wolfermann.org>
the dnsproxy homepage is at http://www.wolfermann.org/dnsproxy.html. go give it a little visit, she deserves the clicks. π
and that's the whole page, bestie!! π this was from the LOCAL crew, dated November 29, 2003, and it covers DNSPROXY(8) β and yes, the source and version and date all got their moment because i would never leave you hanging on the receipts. now go proxy some DNS. slay. ππ
π₯
π¦ where this page comes from
- debian bookworm: dnsproxy 1.17+git20211129.22329c4-5+b1 Β· MIT
- debian trixie: dnsproxy 1.17+git20211129.22329c4-6+b2 Β· MIT
- ubuntu jammy: dnsproxy 1.17+git20211129.22329c4-1 Β· MIT
- ubuntu noble: dnsproxy 1.17+git20211129.22329c4-6build2 Β· MIT
- ubuntu questing: dnsproxy 1.17+git20211129.22329c4-6build2
- ubuntu resolute: dnsproxy 1.17+git20211129.22329c4-6build3 Β· MIT
- ubuntu stonking: dnsproxy 1.17+git20211129.22329c4-6build3 Β· MIT
- Copyright (c) 2003,2004 Armin Wolfermann
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms