|
||
---|---|---|
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE | ||
metrics.go | ||
README.md | ||
ready.go | ||
setup_test.go | ||
setup.go | ||
split_test.go | ||
split.go |
split
Name
split - Filter DNS Server response Records based on network definitions and request source IP.
Description
The split plugin allows filtering DNS Server response Records based on network definitions. That way you do not need to run multiple DNS servers to handle split DNS.
Compilation
This package will always be compiled as part of CoreDNS and not in a standalone way. It will require you to use go get
or as a dependency on plugin.cfg.
The manual will have more information about how to configure and extend the server with external plugins.
A simple way to consume this plugin, is by adding the following on plugin.cfg, and recompile it as detailed on coredns.io.
split:go.linka.cloud/coredns-split
Put this lower in the plugin list, so that split is executed after any of the other plugins.
After this you can compile coredns by:
go generate
go build
Or you can instead use make:
make
Syntax
split
# TODO: docs
Metrics
If monitoring is enabled (via the prometheus directive) the following metric is exported:
coredns_example_request_count_total{server}
- query count to the example plugin.
The server
label indicated which server handled the request, see the metrics plugin for details.
Ready
This plugin reports readiness to the ready plugin. It will be immediately ready.
Examples
In this configuration, we forward all queries to 9.9.9.9 and print "example" whenever we receive a query.
. {
forward . 9.9.9.9
example
}
Or without any external connectivity:
. {
whoami
example
}
Also See
See the manual.