mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-03 18:53:13 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# 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...
 | 
						|
}
 | 
						|
~~~
 | 
						|
 | 
						|
 *  **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. |