mirror of
https://github.com/coredns/coredns.git
synced 2025-11-02 10:13:14 -05:00
* add hosts middleware * forgot pointer receiver * add appropriately modified hostsfile tests from golang repo * remove test artifacts, separate hostsfile parsing from caching and opening, remove unused metrics references, move middleware up the chain * refactored the logic for creating records and filtering ip address versions. also got PTR lookups working * Add README.md. Modify config to be more concise. Add zones list to config. Filter PTR responses based on zones list. * add Fallthrough and return correct dns response code otherwise * Simplified Hostsfile to only store hosts in the zones we care about, and by ip version. Added handler tests and improved other tests. * oops, goimports loaded a package from a different repo
46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
# hosts
|
|
|
|
*hosts* enables serving zone data from a /etc/hosts style file.
|
|
|
|
The hosts middleware is useful for serving zones from a /etc/hosts file. It serves from a preloaded
|
|
file that exists on disk. It checks the file for changes and updates the zones accordingly. This
|
|
middleware only supports A, AAAA, and PTR records. The hosts middleware can be used with readily
|
|
available hosts files that block access to advertising servers.
|
|
|
|
## Syntax
|
|
|
|
~~~
|
|
hosts FILE [ZONES...] {
|
|
fallthrough
|
|
}
|
|
~~~
|
|
|
|
* **FILE** the hosts file to read and parse. If the path is relative the path from the *root*
|
|
directive will be prepended to it. Defaults to /etc/hosts if omitted
|
|
* **ZONES** zones it should be authoritative for. If empty, the zones from the configuration block
|
|
are used.
|
|
* `fallthrough` If zone matches and no record can be generated, pass request to the next middleware.
|
|
|
|
## Examples
|
|
|
|
Load /etc/hosts file
|
|
|
|
~~~
|
|
hosts
|
|
~~~
|
|
|
|
Load example.hosts file
|
|
|
|
~~~
|
|
hosts example.hosts
|
|
~~~
|
|
|
|
Load example.hosts file and only serve example.org and example.net from it and fall through to the
|
|
next middleware if query doesn't match
|
|
|
|
~~~
|
|
hosts example.hosts example.org example.net {
|
|
fallthrough
|
|
}
|
|
~~~
|