mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04:00 
			
		
		
		
	While running the following, noticed the whitespace warning from presubmit: ``` ubuntu@ubuntu:~/coredns$ docker run -i -t --rm -v $PWD:/go/src/github.com/coredns/coredns --net=host golang:1.11 root@ubuntu:/go# cd src/github.com/coredns/coredns/ root@ubuntu:/go/src/github.com/coredns/coredns# make ** presubmit/context ** presubmit/filename-hyphen ** presubmit/test-lowercase ** presubmit/trailing-whitespace plugin/auto/README.md:* `reload` interval to perform reload of zone if SOA version changes. Default is one minute. plugin/auto/README.md: Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds plugin/file/README.md:* `reload` interval to perform reload of zone if SOA version changes. Default is one minute. plugin/file/README.md: Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds ** presubmit/trailing-whitespace: please remove any trailing white space ``` Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # file
 | |
| 
 | |
| ## Name
 | |
| 
 | |
| *file* - enables serving zone data from an RFC 1035-style master file.
 | |
| 
 | |
| ## Description
 | |
| 
 | |
| The file plugin is used for an "old-style" DNS server. It serves from a preloaded file that exists
 | |
| on disk. If the zone file contains signatures (i.e. is signed, i.e. DNSSEC) correct DNSSEC answers
 | |
| are returned. Only NSEC is supported! If you use this setup *you* are responsible for resigning the
 | |
| zonefile.
 | |
| 
 | |
| ## Syntax
 | |
| 
 | |
| ~~~
 | |
| file DBFILE [ZONES...]
 | |
| ~~~
 | |
| 
 | |
| * **DBFILE** the database file to read and parse. If the path is relative the path from the *root*
 | |
|   directive will be prepended to it.
 | |
| * **ZONES** zones it should be authoritative for. If empty, the zones from the configuration block
 | |
|     are used.
 | |
| 
 | |
| If you want to round robin A and AAAA responses look at the *loadbalance* plugin.
 | |
| 
 | |
| ~~~
 | |
| file DBFILE [ZONES... ] {
 | |
|     transfer to ADDRESS...
 | |
|     reload DURATION
 | |
|     no_reload
 | |
|     upstream [ADDRESS...]
 | |
| }
 | |
| ~~~
 | |
| 
 | |
| * `transfer` enables zone transfers. It may be specified multiples times. `To` or `from` signals
 | |
|   the direction. **ADDRESS** must be denoted in CIDR notation (127.0.0.1/32 etc.) or just as plain
 | |
|   addresses. The special wildcard `*` means: the entire internet (only valid for 'transfer to').
 | |
|   When an address is specified a notify message will be send whenever the zone is reloaded.
 | |
| * `reload` interval to perform reload of zone if SOA version changes. Default is one minute.
 | |
|   Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds
 | |
|   and reloads zone when serial changes.
 | |
| * `no_reload` deprecated. Sets reload to 0.
 | |
| * `upstream` defines upstream resolvers to be used resolve external names found (think CNAMEs)
 | |
|   pointing to external names. This is only really useful when CoreDNS is configured as a proxy, for
 | |
|   normal authoritative serving you don't need *or* want to use this. **ADDRESS** can be an IP
 | |
|   address, and IP:port or a string pointing to a file that is structured as /etc/resolv.conf.
 | |
|   If no **ADDRESS** is given, CoreDNS will resolve CNAMEs against itself.
 | |
| 
 | |
| ## Examples
 | |
| 
 | |
| Load the `example.org` zone from `example.org.signed` and allow transfers to the internet, but send
 | |
| notifies to 10.240.1.1
 | |
| 
 | |
| ~~~ corefile
 | |
| example.org {
 | |
|     file example.org.signed {
 | |
|         transfer to *
 | |
|         transfer to 10.240.1.1
 | |
|     }
 | |
| }
 | |
| ~~~
 | |
| 
 | |
| Or use a single zone file for multiple zones:
 | |
| 
 | |
| ~~~
 | |
| . {
 | |
|     file example.org.signed example.org example.net {
 | |
|         transfer to *
 | |
|         transfer to 10.240.1.1
 | |
|     }
 | |
| }
 | |
| ~~~
 |