mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-30 17:53:21 -04: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 conjuction 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. |