Allow specifying a primary server and retrieve the zone's content. Add tests and an Expired bool to zone struct, to stop server zones that are expired. The zone is retrieved on Startup, no updates of changed content are done. We also don't respond to notifies yet.
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# file
|
|
|
|
`file` enables serving zone data from a RFC-1035 styled file.
|
|
|
|
The file middleware is used for "old-style" DNS server. It serves from a preloaded file that exists
|
|
on disk.
|
|
|
|
## Syntax
|
|
|
|
~~~
|
|
file dbfile [zones...]
|
|
~~~
|
|
|
|
* `dbfile` the database file to read and parse.
|
|
* `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` middleware.
|
|
|
|
TSIG key configuration is TODO; directive format for transfer will probably be extended with
|
|
TSIG key information, something like `transfer out [address] key [name] [base64]`
|
|
|
|
~~~
|
|
file dbfile [zones... ] {
|
|
transfer out [address...]
|
|
transfer to [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.). The special
|
|
wildcard "*" means: the entire internet.
|
|
|
|
## Examples
|
|
|
|
Load the `miek.nl` zone from `miek.nl.signed` and allow transfers to the internet.
|
|
|
|
~~~
|
|
file miek.nl.signed miek.nl {
|
|
transfer to *
|
|
}
|
|
~~~
|