Description
This plugin answers zone transfers for authoritative plugins that implement transfer.Transferer
.
transfer answers full zone transfer (AXFR) requests and incremental zone transfer (IXFR) requests with AXFR fallback if the zone has changed.
When a plugin wants to notify it’s secondaries it will call back into the transfer plugin.
The following plugins implement zone transfers using this plugin: file, auto, secondary, and
kubernetes. See transfer.go
for implementation details if you are a plugin author that wants to
use this plugin.
Syntax
transfer [ZONE...] {
to ADDRESS...
}
-
ZONE The zones transfer will answer zone transfer requests for. If left blank, the zones are inherited from the enclosing server block. To answer zone transfers for a given zone, there must be another plugin in the same server block that serves the same zone, and implements
transfer.Transferer
. -
to
ADDRESS… The hosts transfer will transfer to. Use*
to permit transfers to all addresses. Zone change notifications are sent to all ADDRESS that 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
.to
may be specified multiple times.
You can use the acl plugin to further restrict hosts permitted to receive a zone transfer. See example below.
Examples
Use in conjunction with the acl plugin to restrict access to subnet 10.1.0.0/16.
...
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 *
}
...
Each plugin that can use transfer includes an example of use in their respective documentation.