COREDNS-DEBUG(7)
π
COREDNS-DEBUG(7) β the debug plugin, bestie edition π
okay so real talk, this is the debug plugin from the CoreDNS plugins fam, and it's lowkey a chaos gremlin in the best way. it shuts off the automatic crash recovery so when stuff goes wrong you get a nice stack trace instead of CoreDNS just quietly picking itself up and pretending nothing happened. iconic, honestly π
β¨ NAME β¨
debug β turns off the automatic recovery-on-crash so you actually get a pretty little stack trace to cry over π«Ά
πΈ DESCRIPTION πΈ
so here's the vibe: normally CoreDNS recovers from panics. like, it falls over, dusts itself off, and keeps going. using debug inhibits that. no more silent recovery, bestie β you get the receipts π₯
the main use of debug is to help in testing. that's the whole point, that's the assignment, it ate.
a side effect (and ngl it's a pretty big one) of using debug is that log.Debug and log.Debugf messages will be printed to standard output. so congrats, you're getting the lore now π
β οΈ heads up: theerrorsplugin (if it's loaded) will also set a recover, which negates this whole setting. so if you're like "why is my debug not debugging"β¦ check iferrorsis in the group chat π
also super important: enabling this plugin is process-wide. like, enabling debug in at least one server block enables debug mode globally for the entire process. one server block says "let's be messy" and the whole process goes with it fr fr π
π¦ SYNTAX π¦
debug
some plugins will send debug log DNS messages, and when they do, it's in this exact format:
debug: 000000 00 0a 01 00 00 01 00 00 00 00 00 01 07 65 78 61
debug: 000010 6d 70 6c 65 05 6c 6f 63 61 6c 00 00 01 00 01 00
debug: 000020 00 29 10 00 00 00 80 00 00 00
debug: 00002a
and here's the slay part: using text2pcap (which is part of Wireshark, iykyk), this can be converted back to binary with the following command line:
text2pcap -i 17 -u 53,53
where 17 is the protocol (UDP) and 53 are the ports. these ports let Wireshark detect these packets as DNS messages. cute, right? π
each plugin gets to decide whether to dump messages to aid in debugging β so it's very much a "your plugin, your choice" situation π
π§ EXAMPLES π§
disable the ability to recover from crashes and show debug logging:
. {
debug
}
β SEE ALSO β
- https://www.wireshark.org/docs/man-pages/text2pcap.html
- β¨https://www.wireshark.org/docs/man-pages/text2pcap.htmlβ©.
and that's the whole page, bestie β no cap, you're now a debug expert π
this has been the CoreDNS plugins manual, COREDNS-DEBUG(7), dated March 2026 π go forth and get your stack traces, you main character π¦
π¦ where this page comes from
- nixpkgs unstable: coredns 1.14.7
- opensuse-leap 16.0: coredns-extras 1.15.0-bp160.1.1 Β· Apache-2.0 AND MPL-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms