| 
									
										
										
										
											2019-12-29 13:35:17 +01:00
										 |  |  |  | .\" Generated by Mmark Markdown Processer - mmark.miek.nl | 
					
						
							| 
									
										
										
										
											2021-03-08 11:15:45 +00:00
										 |  |  |  | .TH "COREFILE" 5 "March 2021" "CoreDNS" "CoreDNS" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "NAME" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | \fIcorefile\fP - configuration file for CoreDNS. | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "DESCRIPTION" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | A \fIcorefile\fP specifies the internal servers CoreDNS should run and what plugins each of these | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | should chain. The syntax is as follows: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .nf | 
					
						
							|  |  |  |  | [SCHEME://]ZONE [[SCHEME://]ZONE]...[:PORT] { | 
					
						
							|  |  |  |  |     [PLUGIN]... | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | The \fBZONE\fP defines for which name this server should be called, multiple zones are allowed and | 
					
						
							|  |  |  |  | should be \fIwhite space\fP separated. You can use a "reverse" syntax to specify a reverse zone (i.e. | 
					
						
							|  |  |  |  | ip6.arpa and in-addr.arpa), by using an IP address in the CIDR notation. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | The optional \fBSCHEME\fP defaults to \fB\fCdns://\fR, but can also be \fB\fCtls://\fR (DNS over TLS), \fB\fCgrpc://\fR | 
					
						
							|  |  |  |  | (DNS over gRPC) or \fB\fChttps://\fR (DNS over HTTP/2). | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | The optional \fBPORT\fP controls on which port the server will bind, this default to 53. If you use | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | a port number here, you \fIcan't\fP override it with \fB\fC-dns.port\fR (coredns(1)), also see coredns-bind(7). | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | Specifying a \fBZONE\fP \fIand\fP \fBPORT\fP combination multiple times for \fIdifferent\fP servers will lead to | 
					
						
							|  |  |  |  | an error on startup. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | When a query comes in, it is matched again all zones for all servers, the server with the longest | 
					
						
							|  |  |  |  | match on the query name will receive the query. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | \fBPLUGIN\fP defines the plugin(s) we want to load into this server. This is optional as well, but as | 
					
						
							|  |  |  |  | server with no plugins will just return SERVFAIL for all queries. Each plugin can have a number of | 
					
						
							|  |  |  |  | properties than can have arguments, see the documentation for each plugin. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | Comments are allowed and begin with an unquoted hash \fB\fC#\fR and continue to the end of the line. | 
					
						
							|  |  |  |  | Comments may be started anywhere on a line. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | Environment variables are supported and either the Unix or Windows form may be used: \fB\fC{$ENV_VAR_1}\fR | 
					
						
							|  |  |  |  | or \fB\fC{%ENV_VAR_2%}\fR. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | You can use the \fB\fCimport\fR "plugin" (See coredns-import(7)) to include parts of other files. | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | If CoreDNS can’t find a Corefile to load it loads the following builtin one: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							|  |  |  |  | \&. { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |     whoami | 
					
						
							| 
									
										
										
										
											2019-12-29 13:35:17 +01:00
										 |  |  |  |     log | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "IMPORT" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | You can use the \fB\fCimport\fR "plugin" to include parts of other files, see | 
					
						
							|  |  |  |  | https://coredns.io/plugins/import | 
					
						
							|  |  |  |  | \[la]https://coredns.io/plugins/import\[ra], and coredns-import(7). | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "SNIPPETS" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | If you want to reuse a snippet you can define one with and then use it with \fIimport\fP. | 
					
						
							| 
									
										
										
										
											2019-01-06 09:15:34 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							| 
									
										
										
										
											2019-01-06 09:15:34 +00:00
										 |  |  |  | (mysnippet) { | 
					
						
							|  |  |  |  |     log | 
					
						
							|  |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | \&. { | 
					
						
							| 
									
										
										
										
											2019-01-06 09:15:34 +00:00
										 |  |  |  |     import mysnippet | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-06 09:15:34 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "EXAMPLES" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | The \fBZONE\fP is root zone \fB\fC.\fR, the \fBPLUGIN\fP is \fIchaos\fP. The \fIchaos\fP plugin takes an (optional) argument: | 
					
						
							|  |  |  |  | \fB\fCCoreDNS-001\fR. This text is returned on a CH class query: \fB\fCdig CH TXT version.bind @localhost\fR. | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							|  |  |  |  | \&. { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |    chaos CoreDNS\-001 | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | When defining a new zone, you either create a new server, or add it to an existing one. Here we | 
					
						
							|  |  |  |  | define one server that handles two zones; that potentially chain different plugins: | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .nf | 
					
						
							|  |  |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | org { | 
					
						
							|  |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | Is identical to: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							|  |  |  |  | example.org org { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | Reverse zones can be specified as domain names: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							|  |  |  |  | 0.0.10.in\-addr.arpa { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | or by just using the CIDR notation: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							|  |  |  |  | 10.0.0.0/24 { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .PP | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | This also works on a non octet boundary: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | .RS | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .nf | 
					
						
							|  |  |  |  | 10.0.0.0/27 { | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  |     whoami | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-11 09:46:40 +00:00
										 |  |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .RE | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "AUTHORS" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | CoreDNS Authors. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "COPYRIGHT" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | Apache License 2.0 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | .SH "SEE ALSO" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | .PP | 
					
						
							|  |  |  |  | The manual page for CoreDNS: coredns(1) and more documentation on https://coredns.io | 
					
						
							|  |  |  |  | \[la]https://coredns.io\[ra]. | 
					
						
							|  |  |  |  | Also see the \fIimport\fP | 
					
						
							| 
									
										
										
										
											2019-04-21 22:38:40 +01:00
										 |  |  |  | \[la]https://coredns.io/plugins/import\[ra]'s documentation and all the manual pages | 
					
						
							|  |  |  |  | for the plugins. | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  |  | 
 |