mirror of
https://github.com/coredns/coredns.io.git
synced 2026-10-19 16:15:37 +00:00
@@ -0,0 +1,49 @@
|
||||
+++
|
||||
title = "CoreDNS-1.2.6 Release"
|
||||
description = "CoreDNS-1.2.6 Release Notes."
|
||||
tags = ["Release", "1.2.6", "Notes"]
|
||||
release = "1.2.6"
|
||||
date = "2018-11-05T20:40:29+01:00"
|
||||
author = "coredns"
|
||||
+++
|
||||
|
||||
We are pleased to announce the [release](https://github.com/coredns/coredns/releases/tag/v1.2.6) of
|
||||
CoreDNS-1.2.6!
|
||||
|
||||
## Core
|
||||
|
||||
Ignore the error when setting SO_REUSEPORT on a socket fails; this makes CoreDNS work on older
|
||||
kernels.
|
||||
|
||||
## Plugins
|
||||
|
||||
* [*etcd*](/plugins/etcd) has seen minor bugfixes.
|
||||
|
||||
* [*loop*](/plugins/loop) fixes a bug when dealing with a failing upstream.
|
||||
|
||||
* [*log*](/plugins/log) unifies all logging (done by this plugin and normal logs) and always use
|
||||
RFC3339 timestamps (with millisecond accuracy). The `{when}` verb has been made a noop, it will
|
||||
be removed in the next release.
|
||||
|
||||
* [*cache*](/plugins/cache) got some minor optimizations.
|
||||
|
||||
* [*errors*](/plugins/errors) (and *log*) gotten a new option (`consolidate`) to suppress loging.
|
||||
|
||||
* [*hosts*](/plugins/hosts) will now read the `hosts` file without holding a write lock.
|
||||
|
||||
* [*route53*](/plugins/route53) makes the upstream optional.
|
||||
|
||||
## Brought to You By
|
||||
|
||||
Carl-Magnus Björkell,
|
||||
Chris O'Haver,
|
||||
Dzmitry Razhanski,
|
||||
Francois Tur,
|
||||
Jiacheng Xu,
|
||||
Matthias Lechner,
|
||||
Miek Gieben,
|
||||
Ruslan Drozhdzh,
|
||||
Stuart Nelson.
|
||||
|
||||
For documentation see our (in progress!) [manual](/manual). For help and other resources, see our
|
||||
[community page](https://coredns.io/community/).
|
||||
@@ -4,7 +4,7 @@ description = "*auto* enables serving zone data from an RFC 1035-style master fi
|
||||
weight = 1
|
||||
tags = [ "plugin", "auto" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.644217"
|
||||
date = "2018-11-06T07:19:41.749269"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -35,8 +35,8 @@ are used.
|
||||
name `db.example.com`, the extracted origin will be `example.com`. **TIMEOUT** specifies how often
|
||||
CoreDNS should scan the directory; the default is every 60 seconds. This value is in seconds.
|
||||
The minimum value is 1 second.
|
||||
* `reload` interval to perform reload of zone if SOA version changes. Default is one minute.
|
||||
Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds
|
||||
* `reload` interval to perform reload of zone if SOA version changes. Default is one minute.
|
||||
Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds
|
||||
and reloads zone when serial changes.
|
||||
* `no_reload` deprecated. Sets reload to 0.
|
||||
* `upstream` defines upstream resolvers to be used resolve external names found (think CNAMEs)
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*autopath* allows for server-side search path completion."
|
||||
weight = 2
|
||||
tags = [ "plugin", "autopath" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.644512"
|
||||
date = "2018-11-06T07:19:41.750051"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -50,3 +50,7 @@ autopath @kubernetes
|
||||
~~~
|
||||
|
||||
Use the search path dynamically retrieved from the *kubernetes* plugin.
|
||||
|
||||
## Known Issues
|
||||
|
||||
Autopath is not compatible with pods running from Windows nodes.
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*bind* overrides the host to which the server should bind."
|
||||
weight = 3
|
||||
tags = [ "plugin", "bind" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.644753"
|
||||
date = "2018-11-06T07:19:41.750340"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*cache* enables a frontend cache."
|
||||
weight = 4
|
||||
tags = [ "plugin", "cache" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.644932"
|
||||
date = "2018-11-06T07:19:41.750613"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -27,9 +27,8 @@ cache [TTL] [ZONES...]
|
||||
* **ZONES** zones it should cache for. If empty, the zones from the configuration block are used.
|
||||
|
||||
Each element in the cache is cached according to its TTL (with **TTL** as the max).
|
||||
For the negative cache, the SOA's MinTTL value is used. A TTL of zero is not allowed.
|
||||
A cache is divided into 256 shards, each holding up to 512 items by default - for a total size
|
||||
of 256 * 512 = 131,072 items.
|
||||
A cache is divided into 256 shards, each holding up to 39 items by default - for a total size
|
||||
of 256 * 39 = 9984 items.
|
||||
|
||||
If you want more control:
|
||||
|
||||
@@ -44,10 +43,10 @@ cache [TTL] [ZONES...] {
|
||||
* **TTL** and **ZONES** as above.
|
||||
* `success`, override the settings for caching successful responses. **CAPACITY** indicates the maximum
|
||||
number of packets we cache before we start evicting (*randomly*). **TTL** overrides the cache maximum TTL.
|
||||
**MINTTL** overrides the cache minimum TTL (default 0), which can be useful to limit queries to the backend.
|
||||
**MINTTL** overrides the cache minimum TTL (default 5), which can be useful to limit queries to the backend.
|
||||
* `denial`, override the settings for caching denial of existence responses. **CAPACITY** indicates the maximum
|
||||
number of packets we cache before we start evicting (LRU). **TTL** overrides the cache maximum TTL.
|
||||
**MINTTL** overrides the cache minimum TTL (default 0), which can be useful to limit queries to the backend.
|
||||
**MINTTL** overrides the cache minimum TTL (default 5), which can be useful to limit queries to the backend.
|
||||
There is a third category (`error`) but those responses are never cached.
|
||||
* `prefetch` will prefetch popular items when they are about to be expunged from the cache.
|
||||
Popular means **AMOUNT** queries have been seen with no gaps of **DURATION** or more between them.
|
||||
@@ -57,7 +56,8 @@ cache [TTL] [ZONES...] {
|
||||
|
||||
## Capacity and Eviction
|
||||
|
||||
If **CAPACITY** is not specified, the default cache size is 10,000 per cache. The minimum allowed cache size is 1024.
|
||||
If **CAPACITY** _is not_ specified, the default cache size is 9984 per cache. The minimum allowed cache size is 1024.
|
||||
If **CAPACITY** _is_ specified, the actual cache size used will be rounded down to the nearest number divisible by 256 (so all shards are equal in size).
|
||||
|
||||
Eviction is done per shard. In effect, when a shard reaches capacity, items are evicted from that shard.
|
||||
Since shards don't fill up perfectly evenly, evictions will occur before the entire cache reaches full capacity.
|
||||
@@ -104,4 +104,4 @@ Enable caching for all zones, keep a positive cache size of 5000 and a negative
|
||||
denial 2500
|
||||
}
|
||||
}
|
||||
~~~
|
||||
~~~
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*chaos* allows for responding to TXT queries in the CH class."
|
||||
weight = 5
|
||||
tags = [ "plugin", "chaos" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.645161"
|
||||
date = "2018-11-06T07:19:41.750855"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*debug* disables the automatic recovery upon a crash so that you'
|
||||
weight = 6
|
||||
tags = [ "plugin", "debug" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.645356"
|
||||
date = "2018-11-06T07:19:41.751094"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*dnssec* enable on-the-fly DNSSEC signing of served data."
|
||||
weight = 7
|
||||
tags = [ "plugin", "dnssec" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.645628"
|
||||
date = "2018-11-06T07:19:41.751303"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -24,8 +24,13 @@ dnssec [ZONES... ] {
|
||||
}
|
||||
~~~
|
||||
|
||||
The specified key is used for all signing operations. The DNSSEC signing will treat this key as a
|
||||
CSK (common signing key), forgoing the ZSK/KSK split. All signing operations are done online.
|
||||
The signing behavior depends on the keys specified. If multiple keys are specified of which there is
|
||||
at least one key with the SEP bit set and at least one key with the SEP bit unset, signing will happen
|
||||
in split ZSK/KSK mode. DNSKEY records will be signed with all keys that have the SEP bit set. All other
|
||||
records will be signed with all keys that do not have the SEP bit set.
|
||||
|
||||
In any other case, each specified key will be treated as a CSK (common signing key), forgoing the
|
||||
ZSK/KSK split. All signing operations are done online.
|
||||
Authenticated denial of existence is implemented with NSEC black lies. Using ECDSA as an algorithm
|
||||
is preferred as this leads to smaller signatures (compared to RSA). NSEC3 is *not* supported.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*dnstap* enable logging to dnstap."
|
||||
weight = 8
|
||||
tags = [ "plugin", "dnstap" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.645869"
|
||||
date = "2018-11-06T07:19:41.751539"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*erratic* a plugin useful for testing client behavior."
|
||||
weight = 9
|
||||
tags = [ "plugin", "erratic" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.646108"
|
||||
date = "2018-11-06T07:19:41.751768"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,21 +4,41 @@ description = "*errors* enable error logging."
|
||||
weight = 10
|
||||
tags = [ "plugin", "errors" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.646239"
|
||||
date = "2018-11-06T07:19:41.751983"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
Any errors encountered during the query processing will be printed to standard output.
|
||||
Any errors encountered during the query processing will be printed to standard output. The errors of particular type can be consolidated and printed once per some period of time.
|
||||
|
||||
This plugin can only be used once per Server Block.
|
||||
|
||||
## Syntax
|
||||
|
||||
The basic syntax is:
|
||||
|
||||
~~~
|
||||
errors
|
||||
~~~
|
||||
|
||||
Extra knobs are available with an expanded syntax:
|
||||
|
||||
~~~
|
||||
errors {
|
||||
consolidate DURATION REGEXP
|
||||
}
|
||||
~~~
|
||||
|
||||
Option `consolidate` allows collecting several error messages matching the regular expression **REGEXP** during **DURATION**. After the **DURATION** since receiving the first such message, the consolidated message will be printed to standard output, e.g.
|
||||
|
||||
~~~
|
||||
2 errors like '^read udp .* i/o timeout$' occurred in last 30s
|
||||
~~~
|
||||
|
||||
Multiple `consolidate` options with different **DURATION** and **REGEXP** are allowed. In case if some error message corresponds to several defined regular expressions the message will be associated with the first appropriate **REGEXP**.
|
||||
|
||||
For better performance, it's recomended to use the `^` or `$` metacharacters in regular expression when filtering error messages by prefix or suffix, e.g. `^failed to .*`, or `.* timeout$`.
|
||||
|
||||
## Examples
|
||||
|
||||
Use the *whoami* to respond to queries and Log errors to standard output.
|
||||
@@ -29,3 +49,15 @@ Use the *whoami* to respond to queries and Log errors to standard output.
|
||||
errors
|
||||
}
|
||||
~~~
|
||||
|
||||
Use the *forward* to resolve queries via 8.8.8.8 and print consolidated error messages for errors with suffix " i/o timeout" or with prefix "Failed to ".
|
||||
|
||||
~~~ corefile
|
||||
. {
|
||||
forward . 8.8.8.8
|
||||
errors {
|
||||
consolidate 5m ".* i/o timeout$"
|
||||
consolidate 30s "^Failed to .+"
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*etcd* enables reading zone data from an etcd version 3 instance.
|
||||
weight = 11
|
||||
tags = [ "plugin", "etcd" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.646520"
|
||||
date = "2018-11-06T07:19:41.752281"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*federation* enables federated queries to be resolved via the kub
|
||||
weight = 12
|
||||
tags = [ "plugin", "federation" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.646722"
|
||||
date = "2018-11-06T07:19:41.752517"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*file* enables serving zone data from an RFC 1035-style master fi
|
||||
weight = 13
|
||||
tags = [ "plugin", "file" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.646930"
|
||||
date = "2018-11-06T07:19:41.752730"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -40,8 +40,8 @@ file DBFILE [ZONES... ] {
|
||||
the direction. **ADDRESS** must be denoted in CIDR notation (127.0.0.1/32 etc.) or just as plain
|
||||
addresses. The special wildcard `*` means: the entire internet (only valid for 'transfer to').
|
||||
When an address is specified a notify message will be send whenever the zone is reloaded.
|
||||
* `reload` interval to perform reload of zone if SOA version changes. Default is one minute.
|
||||
Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds
|
||||
* `reload` interval to perform reload of zone if SOA version changes. Default is one minute.
|
||||
Value of `0` means to not scan for changes and reload. eg. `30s` checks zonefile every 30 seconds
|
||||
and reloads zone when serial changes.
|
||||
* `no_reload` deprecated. Sets reload to 0.
|
||||
* `upstream` defines upstream resolvers to be used resolve external names found (think CNAMEs)
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*forward* facilitates proxying DNS messages to upstream resolvers
|
||||
weight = 14
|
||||
tags = [ "plugin", "forward" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.647176"
|
||||
date = "2018-11-06T07:19:41.753019"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*health* enables a health check endpoint."
|
||||
weight = 15
|
||||
tags = [ "plugin", "health" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.647416"
|
||||
date = "2018-11-06T07:19:41.753251"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*hosts* enables serving zone data from a `/etc/hosts` style file.
|
||||
weight = 16
|
||||
tags = [ "plugin", "hosts" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.647629"
|
||||
date = "2018-11-06T07:19:41.753486"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*kubernetes* enables the reading zone data from a Kubernetes clus
|
||||
weight = 17
|
||||
tags = [ "plugin", "kubernetes" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.647941"
|
||||
date = "2018-11-06T07:19:41.753850"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -37,6 +37,7 @@ kubernetes [ZONES...] {
|
||||
resyncperiod DURATION
|
||||
endpoint URL [URL...]
|
||||
tls CERT KEY CACERT
|
||||
kubeconfig KUBECONFIG CONTEXT
|
||||
namespaces NAMESPACE...
|
||||
labels EXPRESSION
|
||||
pods POD-MODE
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*loadbalance* randomize the order of A, AAAA and MX records."
|
||||
weight = 18
|
||||
tags = [ "plugin", "loadbalance" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.648151"
|
||||
date = "2018-11-06T07:19:41.754062"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
+13
-7
@@ -4,15 +4,16 @@ description = "*log* enables query logging to standard output."
|
||||
weight = 19
|
||||
tags = [ "plugin", "log" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.648381"
|
||||
date = "2018-11-06T07:19:41.754302"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
By just using *log* you dump all queries (and parts for the reply) on standard output. Options exist
|
||||
to tweak the output a little.
|
||||
to tweak the output a little. The date/time prefix on log lines is RFC3339 formatted with
|
||||
milliseconds.
|
||||
|
||||
Note that for busy servers this will incur a performance hit.
|
||||
Note that for busy servers logging will incur a performance hit.
|
||||
|
||||
## Syntax
|
||||
|
||||
@@ -62,15 +63,14 @@ The following place holders are supported:
|
||||
* `{name}`: qname of the request
|
||||
* `{class}`: qclass of the request
|
||||
* `{proto}`: protocol used (tcp or udp)
|
||||
* `{when}`: time of the query
|
||||
* `{remote}`: client's IP address, for IPv6 addresses these are enclosed in brackets: `[::1]`
|
||||
* `{size}`: request size in bytes
|
||||
* `{port}`: client's port
|
||||
* `{duration}`: response duration
|
||||
* `{rcode}`: response RCODE
|
||||
* `{rsize}`: response size
|
||||
* `{rsize}`: raw (uncompressed), response size (a client may receive a smaller response)
|
||||
* `{>rflags}`: response flags, each set flag will be displayed, e.g. "aa, tc". This includes the qr
|
||||
bit as well.
|
||||
bit as well
|
||||
* `{>bufsize}`: the EDNS0 buffer size advertised in the query
|
||||
* `{>do}`: is the EDNS0 DO (DNSSEC OK) bit set in the query
|
||||
* `{>id}`: query ID
|
||||
@@ -79,9 +79,15 @@ The following place holders are supported:
|
||||
The default Common Log Format is:
|
||||
|
||||
~~~ txt
|
||||
`{remote}:{port} - [{when}] {>id} "{type} {class} {name} {proto} {size} {>do} {>bufsize}" {rcode} {>rflags} {rsize} {duration}`
|
||||
`{remote}:{port} - {>id} "{type} {class} {name} {proto} {size} {>do} {>bufsize}" {rcode} {>rflags} {rsize} {duration}`
|
||||
~~~
|
||||
|
||||
Each of these logs will be outputted with `log.Infof`, so a typical example looks like this:
|
||||
|
||||
~~~ txt
|
||||
2018-10-30T19:10:07.547Z [INFO] [::1]:50759 - 29008 "A IN example.org. udp 41 false 4096" NOERROR qr,rd,ra,ad 68 0.037990251s
|
||||
~~~~
|
||||
|
||||
## Examples
|
||||
|
||||
Log all requests to stdout
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*loop* detect simple forwarding loops and halt the server."
|
||||
weight = 20
|
||||
tags = [ "plugin", "loop" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.648581"
|
||||
date = "2018-11-06T07:19:41.754524"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -57,7 +57,8 @@ DNS servers. This is a fatal error because operating with an infinite loop will
|
||||
memory and CPU until eventual out of memory death by the host.
|
||||
|
||||
A forwarding loop is usually caused by:
|
||||
* Most commonly, CoreDNS forwarding requests directly to itself. e.g. to `127.0.0.1` or `127.0.0.53`
|
||||
|
||||
* Most commonly, CoreDNS forwarding requests directly to itself. e.g. via a loopback address such as `127.0.0.1`, `::1` or `127.0.0.53`
|
||||
* Less commonly, CoreDNS forwarding to an upstream server that in turn, forwards requests back to CoreDNS.
|
||||
|
||||
To troubleshoot this problem, look in your Corefile for any `proxy` or `forward` to the zone
|
||||
@@ -78,9 +79,10 @@ to proxy/forward requests to. Since it contains a local address, CoreDNS ends u
|
||||
requests to itself.
|
||||
|
||||
There are many ways to work around this issue, some are listed here:
|
||||
|
||||
* Add the following to `kubelet`: `--resolv-conf /run/systemd/resolve/resolv.conf`. This flag
|
||||
tells `kubelet` to pass an alternate `resolv.conf` to Pods. For `systemd-resolved`,
|
||||
`/run/systemd/resolve/resolv.conf` is typically the location of the "original" `/etc/resolv.conf`.
|
||||
* Disable `systemd-resolved` on host nodes, and restore `/etc/resolv.conf` to the original.
|
||||
* A quick and dirty fix is to edit your Corefile, replacing `proxy . /etc/resolv.conf` with
|
||||
the ip address of your upstream DNS, for example `proxy . 8.8.8.8`.
|
||||
the ip address of your upstream DNS, for example `proxy . 8.8.8.8`.
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*metadata* enable a meta data collector."
|
||||
weight = 21
|
||||
tags = [ "plugin", "metadata" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.648804"
|
||||
date = "2018-11-06T07:19:41.754735"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*prometheus* enables [Prometheus](https://prometheus.io/) metrics
|
||||
weight = 22
|
||||
tags = [ "plugin", "metrics" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.649021"
|
||||
date = "2018-11-06T07:19:41.754966"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*nsid* adds an identifier of this server to each reply."
|
||||
weight = 23
|
||||
tags = [ "plugin", "nsid" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.649228"
|
||||
date = "2018-11-06T07:19:41.755211"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*pprof* publishes runtime profiling data at endpoints under `/deb
|
||||
weight = 24
|
||||
tags = [ "plugin", "pprof" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.649472"
|
||||
date = "2018-11-06T07:19:41.755448"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*proxy* facilitates both a basic reverse proxy and a robust load
|
||||
weight = 25
|
||||
tags = [ "plugin", "proxy" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.649710"
|
||||
date = "2018-11-06T07:19:41.755711"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*reload* allows automatic reload of a changed Corefile."
|
||||
weight = 26
|
||||
tags = [ "plugin", "reload" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.649974"
|
||||
date = "2018-11-06T07:19:41.755946"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*rewrite* performs internal message rewriting."
|
||||
weight = 27
|
||||
tags = [ "plugin", "rewrite" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.650301"
|
||||
date = "2018-11-06T07:19:41.756301"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -188,6 +188,16 @@ follows:
|
||||
rewrite [continue|stop] name regex STRING STRING answer name STRING STRING
|
||||
```
|
||||
|
||||
When using `exact` name rewrite rules, answer gets re-written automatically,
|
||||
and there is no need defining `answer name` instruction. The below rule
|
||||
rewrites the name in a request from `RED` to `BLUE`, and subsequently
|
||||
rewrites the name in a corresponding response from `BLUE` to `RED`. The
|
||||
client in the request would see only `RED` and no `BLUE`.
|
||||
|
||||
```
|
||||
rewrite [continue|stop] name exact RED BLUE
|
||||
```
|
||||
|
||||
### TTL Field Rewrites
|
||||
|
||||
At times, the need for rewriting TTL value could arise. For example, a DNS server
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*root* simply specifies the root of where to find (zone) files."
|
||||
weight = 28
|
||||
tags = [ "plugin", "root" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.650535"
|
||||
date = "2018-11-06T07:19:41.756523"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*route53* enables serving zone data from AWS route53."
|
||||
weight = 29
|
||||
tags = [ "plugin", "route53" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.650767"
|
||||
date = "2018-11-06T07:19:41.756740"
|
||||
+++
|
||||
|
||||
## Description
|
||||
@@ -35,7 +35,7 @@ route53 [ZONE:HOSTED_ZONE_ID...] {
|
||||
* `upstream` [**ADDRESS**...] specifies upstream resolver(s) used for resolving services that point
|
||||
to external hosts (eg. used to resolve CNAMEs). If no **ADDRESS** is given, CoreDNS will resolve
|
||||
against itself. **ADDRESS** can be an IP, an IP:port or a path to a file structured like
|
||||
resolv.conf (**NB**: Currently a bug (#2099) is preventing the use of self-resolver).
|
||||
resolv.conf.
|
||||
* `credentials` used for reading the credential file and setting the profile name for a given zone.
|
||||
* **PROFILE** AWS account profile name. Defaults to `default`.
|
||||
* **FILENAME** AWS credentials filename. Defaults to `~/.aws/credentials`
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*secondary* enables serving a zone retrieved from a primary serve
|
||||
weight = 30
|
||||
tags = [ "plugin", "secondary" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.650955"
|
||||
date = "2018-11-06T07:19:41.756945"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*template* allows for dynamic responses based on the incoming que
|
||||
weight = 31
|
||||
tags = [ "plugin", "template" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.651236"
|
||||
date = "2018-11-06T07:19:41.757275"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*tls* allows you to configure the server certificates for the TLS
|
||||
weight = 32
|
||||
tags = [ "plugin", "tls" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.651460"
|
||||
date = "2018-11-06T07:19:41.757527"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*trace* enables OpenTracing-based tracing of DNS requests as they
|
||||
weight = 33
|
||||
tags = [ "plugin", "trace" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.651642"
|
||||
date = "2018-11-06T07:19:41.757765"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
@@ -4,7 +4,7 @@ description = "*whoami* returns your resolver's local IP address, port and trans
|
||||
weight = 34
|
||||
tags = [ "plugin", "whoami" ]
|
||||
categories = [ "plugin" ]
|
||||
date = "2018-10-17T18:39:57.651815"
|
||||
date = "2018-11-06T07:19:41.757965"
|
||||
+++
|
||||
|
||||
## Description
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
[release]
|
||||
version = "1.2.5"
|
||||
version = "1.2.6"
|
||||
|
||||
Reference in New Issue
Block a user