COREDNS-TRANSFER(7)
π COREDNS-TRANSFER β¨
okay so bestie, welcome to the transfer plugin's whole vibe β it's the manual page for COREDNS-TRANSFER(7), and yes we're getting into it π«Ά
π NAME π
transfer β it does the (outgoing) zone transfers for other plugins. that's the whole job. iconic of it honestly π
β¨ DESCRIPTION β¨
so this plugin is the one answering zone transfers on behalf of authoritative plugins that implement transfer.Transferer β like, it's the front desk and they're the department, yk? π§
transfer answers full zone transfer (AXFR) requests, and it answers incremental zone transfer (IXFR) requests with AXFR fallback if the zone has changed. yes, it's got backup plans. main character energy π₯
when a plugin wants to notify its secondaries, it calls back into the transfer plugin. team work, no cap π€
the plugins that implement zone transfers using this plugin are: file, auto, secondary, and kubernetes. and if you're a plugin author who wants to use this plugin, go read transfer.go for the implementation details β the lore is right there π
πΈ SYNTAX πΈ
transfer [ZONE...] {
to ADDRESS...
source ADDRESS
}
ZONEβ the zonestransferwill answer zone transfer requests for. if you leave it blank, the zones are inherited from the enclosing server block. and lowkey important: to answer zone transfers for a given zone, there has to be another plugin in the same server block that serves the same zone and implementstransfer.Transferer. no plugin, no transfers, that's the rule πto ADDRESS...β the hoststransferwill transfer to. use*to permit transfers to all addresses. zone change notifications get sent to allADDRESSthat are an IP address or an IP address and port, e.g.1.2.3.4,12:34::56,1.2.3.4:5300,[12:34::56]:5300. andtocan be specified multiple times β stack 'em up πsource ADDRESSβ this is the local IP address to use when sending zone change notifications to the configuredtoaddresses. to be super clear: it does not change which clients are allowed to request AXFR or IXFR transfers. it's just the sender address, not the bouncer π
you can also use the acl plugin to further restrict hosts permitted to receive a zone transfer. see the example below, it's giving teamwork π¦
π EXAMPLES π
use it in conjunction with the acl plugin to restrict access to subnet 10.1.0.0/16. like, this is the whole "only my friends get in" moment:
...
acl {
allow type AXFR net 10.1.0.0/16
allow type IXFR net 10.1.0.0/16
block type AXFR net *
block type IXFR net *
}
transfer {
to *
}
...
send NOTIFY messages from a specific local address β very "this is where i'm calling from" energy β¨
...
transfer {
to 2001:db8::1
source 2001:db8::53
}
...
and each plugin that can use transfer includes an example of use in their respective documentation β go check them out, they all slay in their own way π
ngl theto *in that first example only works out because theaclplugin is doing the actual gatekeeping β read them together, bestie, not separately π
okay that's the whole page!! you understood it, i'm obsessed π
this was COREDNS-TRANSFER(7) from CoreDNS, dated October 2026 β mwah, go transfer some zones responsibly πβ¨
π¦ where this page comes from
- 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