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

FreeBSD Manual Pages

  
 
  

home | help
COREDNS-FILE(7)			CoreDNS	Plugins		       COREDNS-FILE(7)

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 contained RFC 1035 styled data. If
       the zone	file contains signatures (i.e.,	is signed using	DNSSEC),  cor-
       rect  DNSSEC  answers  are returned. Only NSEC is supported! If you use
       this setup you are responsible for re-signing the zonefile.

SYNTAX
	      file DBFILE [ZONES...]

          DBFILE the database file to read and	parse. If the  path  is	 rela-
	   tive, the path from the root	plugin 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... ] {
		  reload DURATION
	      }

          reload interval to perform a	reload of the zone if the SOA  version
	   changes.  Default  is one minute.  Value of 0 means to not scan for
	   changes and reload. For example, 30s	checks the zonefile  every  30
	   seconds and reloads the zone	when serial changes.

       If  you	need outgoing zone transfers, take a look at the transfer plu-
       gin.

EXAMPLES
       Load the	example.org zone from db.example.org and  allow	 transfers  to
       the internet, but send notifies to 10.240.1.1

	      example.org {
		  file db.example.org
		  transfer {
		      to * 10.240.1.1
		  }
	      }

       Where	     db.example.org	    would	 contain	RRSets
       (https://tools.ietf.org/html/rfc7719#section-4
       <https://tools.ietf.org/html/rfc7719#section-4>)	in the (text)  presen-
       tation format from RFC 1035:

	      $ORIGIN example.org.
	      @	   3600	IN    SOA sns.dns.icann.org. noc.dns.icann.org.	2017042745 7200	3600 1209600 3600
		  3600 IN NS a.iana-servers.net.
		  3600 IN NS b.iana-servers.net.

	      www     IN A     127.0.0.1
		      IN AAAA  ::1

       Or use a	single zone file for multiple zones:

	      .	{
		  file example.org.signed example.org example.net
		  transfer example.org example.net {
		      to * 10.240.1.1
		  }
	      }

       Note  that  if  you have	a configuration	like the following you may run
       into a problem of the origin not	being correctly	recognized:

	      .	{
		  file db.example.org
	      }

       We omit the origin for the file db.example.org, so this references  the
       zone  in	 the  server block, which, in this case, is the	root zone. Any
       contents	of db.example.org will then read with that  origin  set;  this
       may  or	may not	do what	you want.  It's	better to be explicit here and
       specify the correct origin. This	can be done in two ways:

	      .	{
		  file db.example.org example.org
	      }

       Or

	      example.org {
		  file db.example.org
	      }

SEE ALSO
       See the loadbalance plugin if you need simple record shuffling. And the
       transfer	plugin for zone	transfers. Lastly the root plugin can help you
       specify the location of the zone	files.

       See RFC 1035 <https://www.rfc-editor.org/rfc/rfc1035.txt> for more info
       on how to structure zone	files.

CoreDNS				  March	2021		       COREDNS-FILE(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=coredns-file&sektion=7&manpath=FreeBSD+Ports+14.3.quarterly>

home | help