mirror of
https://github.com/coredns/coredns.git
synced 2026-07-10 17:50:12 -04:00
fix(local): handle names under .localhost. (#8151)
This commit is contained in:
committed by
GitHub
parent
faeb8ba699
commit
e45ad5f87a
@@ -6,16 +6,18 @@
|
||||
|
||||
## Description
|
||||
|
||||
*local* will respond with a basic reply to a "local request". Local request are defined to be
|
||||
names in the following zones: localhost, 0.in-addr.arpa, 127.in-addr.arpa and 255.in-addr.arpa *and*
|
||||
any query asking for `localhost.<domain>`. When seeing the latter a metric counter is increased and
|
||||
if *debug* is enabled a debug log is emitted.
|
||||
*local* will respond with a basic reply to a "local request". Local requests are defined to be
|
||||
names in the following zones: localhost, 0.in-addr.arpa, 127.in-addr.arpa and 255.in-addr.arpa,
|
||||
any query under `.localhost.`, and, by default for backward compatibility, any query prefixed by
|
||||
`localhost.`. When seeing one of the non-apex localhost forms a metric counter is increased and if
|
||||
*debug* is enabled a debug log is emitted.
|
||||
|
||||
With *local* enabled any query falling under these zones will get a reply. The prevents the query
|
||||
With *local* enabled any query falling under these zones will get a reply. This prevents the query
|
||||
from "escaping" to the internet and putting strain on external infrastructure.
|
||||
|
||||
The zones are mostly empty, only `localhost.` address records (A and AAAA) are defined and a
|
||||
`1.0.0.127.in-addr.arpa.` reverse (PTR) record.
|
||||
The zones are mostly empty, only `localhost.`, names under `.localhost.`, and legacy
|
||||
`localhost.<domain>` names return loopback address records (A and AAAA), and only
|
||||
`1.0.0.127.in-addr.arpa.` has a reverse (PTR) record.
|
||||
|
||||
## Syntax
|
||||
|
||||
@@ -23,12 +25,25 @@ The zones are mostly empty, only `localhost.` address records (A and AAAA) are d
|
||||
local
|
||||
~~~
|
||||
|
||||
~~~ txt
|
||||
local {
|
||||
localhost_prefix on|off
|
||||
}
|
||||
~~~
|
||||
|
||||
`localhost_prefix` controls the legacy `localhost.<domain>` behavior. The default is `on` for
|
||||
backward compatibility. Set it to `off` to only treat names under `.localhost.` as special, which
|
||||
matches RFC 6761. The legacy prefix behavior is deprecated and may be disabled by default in a
|
||||
future release.
|
||||
|
||||
## Metrics
|
||||
|
||||
If monitoring is enabled (via the *prometheus* plugin) then the following metric is exported:
|
||||
|
||||
* `coredns_local_localhost_requests_total{}` - a counter of the number of `localhost.<domain>`
|
||||
requests CoreDNS has seen. Note this does *not* count `localhost.` queries.
|
||||
* `coredns_local_localhost_requests_total{}` - a counter of the number of non-apex localhost
|
||||
special-case queries CoreDNS has seen. This includes `.localhost.` names and, when
|
||||
`localhost_prefix` is `on`, legacy `localhost.<domain>` names. It does *not* count `localhost.`
|
||||
queries.
|
||||
|
||||
Note that this metric *does not* have a `server` label, because it's more interesting to find the
|
||||
client(s) performing these queries than to see which server handled it. You'll need to inspect the
|
||||
|
||||
Reference in New Issue
Block a user