Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
COREFILE(5)			     CoreDNS			     COREFILE(5)

NAME
     corefile - configuration file for CoreDNS.

DESCRIPTION
     A corefile specifies the internal servers CoreDNS should run and what plug-
     ins each of these should chain. The syntax is as follows:

	    [SCHEME://]ZONE [[SCHEME://]ZONE]...[:PORT] {
		[PLUGIN]...
	    }

     The  ZONE	defines  for  which  name this server should be called, multiple
     zones are allowed and should be white space separated. You can use  a  "re-
     verse"  syntax to specify a reverse zone (i.e.  ip6.arpa and in-addr.arpa),
     by using an IP address in the CIDR notation.

     The optional SCHEME defaults to dns://, but can also be  tls://  (DNS  over
     TLS), grpc:// (DNS over gRPC) or https:// (DNS over HTTP/2).

     The optional PORT controls on which port the server will bind, this default
     to  53. If you use a port number here, you can't override it with -dns.port
     (coredns(1)), also see coredns-bind(7).

     Specifying a ZONE and PORT combination multiple times for different servers
     will lead to an error on startup.

     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.

     PLUGIN  defines the plugin(s) we want to load into this server. This is op-
     tional 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  ar-
     guments, see the documentation for each plugin.

     Comments  are allowed and begin with an unquoted hash # and continue to the
     end of the line.  Comments may be started anywhere on a line.

     Environment variables are supported and either the Unix or Windows form may
     be used: {$ENV_VAR_1} or {%ENV_VAR_2%}.

     You can use the import "plugin" (See coredns-import(7)) to include parts of
     other files.

     If CoreDNS canat find a Corefile to load it  loads  the  following  builtin
     one:

	    . {
		whoami
		log
	    }

IMPORT
     You  can  use  the  import  "plugin"  to  include parts of other files, see
     https://coredns.io/plugins/import <https://coredns.io/plugins/import>,  and
     coredns-import(7).

SNIPPETS
     If you want to reuse a snippet you can define one with and then use it with
     import.

	    (mysnippet) {
		log
		whoami
	    }

	    . {
		import mysnippet
	    }

EXAMPLES
     The  ZONE	is  root  zone ., the PLUGIN is chaos. The chaos plugin takes an
     (optional) argument: CoreDNS-001. This text  is  returned	on  a  CH  class
     query: dig CH TXT version.bind @localhost.

	    . {
	       chaos CoreDNS-001
	    }

     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 poten-
     tially chain different plugins:

	    example.org {
		whoami
	    }
	    org {
		whoami
	    }

     Is identical to:

	    example.org org {
		whoami
	    }

     Reverse zones can be specified as domain names:

	    0.0.10.in-addr.arpa {
		whoami
	    }

     or by just using the CIDR notation:

	    10.0.0.0/24 {
		whoami
	    }

     This also works on a non octet boundary:

	    10.0.0.0/27 {
		whoami
	    }

AUTHORS
     CoreDNS Authors.

COPYRIGHT
     Apache License 2.0

SEE ALSO
     The  manual  page	for  CoreDNS:  coredns(1)  and	more  documentation   on
     https://coredns.io    <https://coredns.io>.     Also    see    the   import
     <https://coredns.io/plugins/import>'s  documentation  and	all  the  manual
     pages for the plugins.

CoreDNS 			   March 2021			     COREFILE(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=corefile&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help