2.2 KiB
transfer
Name
transfer - perform (outgoing) zone transfers for other plugins.
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...
source 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. -
toADDRESS... 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.tomay be specified multiple times. -
sourceADDRESS is the local IP address to use when sending zone change notifications to the configuredtoaddresses. It does not change which clients are allowed to request AXFR or IXFR transfers.
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 *
}
...
Send NOTIFY messages from a specific local address.
...
transfer {
to 2001:db8::1
source 2001:db8::53
}
...
Each plugin that can use transfer includes an example of use in their respective documentation.