You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release contains some new features, bug fixes, and package updates. Because of the deployment issues with the previous release, all changed features from 1.11.2 have been included in this release.
11
+
New features include:
12
+
* When the _forward_ plugin receives a malformed upstream response that overflows,
13
+
it will now send an empty response to the client with the truncated (TC) bit set to prompt the client
14
+
to retry over TCP.
15
+
* The _rewrite_ plugin can now rewrite response codes.
16
+
* The _dnstap_ plugin now supports adding metadata to the dnstap `extra` field.
17
+
18
+
## Brought to You By
19
+
20
+
Amila Senadheera,
21
+
Ben Kochie,
22
+
Benjamin,
23
+
Chris O'Haver,
24
+
Grant Spence,
25
+
John Belamaric,
26
+
Keita Kitamura,
27
+
Marius Kimmina,
28
+
Michael Grosser,
29
+
Ondřej Benkovský,
30
+
P. Radha Krishna,
31
+
Rahil Bhimjiani,
32
+
Sri Harsha,
33
+
Tom Thorogood,
34
+
Willow (GHOST),
35
+
Yong Tang,
36
+
Yuheng,
37
+
Zhizhen He,
38
+
guangwu,
39
+
journey-c,
40
+
pschou
41
+
Ted Ford
42
+
43
+
## Noteworthy Changes
44
+
45
+
* plugin/tls: respect the path specified by root plugin (https://github.com/coredns/coredns/pull/6138)
46
+
* plugin/auto: warn when auto is unable to read elements of the directory tree (https://github.com/coredns/coredns/pull/6333)
47
+
* plugin/etcd: the etcd client adds the DialKeepAliveTime parameter (https://github.com/coredns/coredns/pull/6351)
48
+
* plugin/cache: key cache on Checking Disabled (CD) bit (https://github.com/coredns/coredns/pull/6354)
49
+
* plugin/forward: Use the correct root domain name in the forward plugin's health checks (https://github.com/coredns/coredns/pull/6395)
50
+
* plugin/forward: Handle UDP responses that overflow with TC bit (https://github.com/coredns/coredns/pull/6277)
51
+
* plugin/rewrite: fix multi request concurrency issue in cname rewrite (https://github.com/coredns/coredns/pull/6407)
52
+
* plugin/rewrite: add rcode as a rewrite option (https://github.com/coredns/coredns/pull/6204)
53
+
* plugin/dnstap: add support for "extra" field in payload (https://github.com/coredns/coredns/pull/6226)
This release adds some new features and fixes some bugs. New features of note:
11
+
* forward plugin: new option `next`, to try alternate upstreams when receiving specified response codes upstreams on (functions like the external plugin _alternate_)
12
+
* dnssec plugin: new option to load keys from AWS Secrets Manager
13
+
* rewrite plugin: new option to revert EDNS0 option rewrites in responses
14
+
15
+
## Brought to You By
16
+
17
+
AdamKorcz,
18
+
Anifalak,
19
+
Ben Kochie,
20
+
Chris O'Haver,
21
+
Frederic Hemery,
22
+
Grant Spence,
23
+
Harshita Sao,
24
+
Jason Joo,
25
+
Jasper Bernhardt,
26
+
Johnny Bergström,
27
+
Keith Coleman,
28
+
Kevin Lyda,
29
+
Lan,
30
+
Lin-1997,
31
+
Manuel Rüger,
32
+
Nathan Currier,
33
+
Nicolai Søborg,
34
+
Nikita Usatov,
35
+
Paco Xu,
36
+
Reinhard Nägele,
37
+
Robbie Ostrow,
38
+
TAKAHASHI Shuuji,
39
+
Till Riedel,
40
+
Tobias Klauser,
41
+
YASH JAIN,
42
+
cedar-gao,
43
+
chenylh,
44
+
wmkuipers,
45
+
xinbenlv,
46
+
zhangguanzhang
47
+
48
+
## Noteworthy Changes
49
+
50
+
* core: set cache-control max-age as integer, not float (https://github.com/coredns/coredns/pull/6764)
51
+
* plugin/metadata: evaluate metadata in plugin order (https://github.com/coredns/coredns/pull/6729)
52
+
* plugin/dnssec: dnssec load keys from AWS Secrets Manager (https://github.com/coredns/coredns/pull/6618)
53
+
* plugin/rewrite: Add "revert" parameter for EDNS0 options (https://github.com/coredns/coredns/pull/6893)
54
+
* container: Restored backwards compatibility of Current Workdir (https://github.com/coredns/coredns/pull/6731)
55
+
* plugin/auto: call OnShutdown() for each zone at its own OnShutdown() (https://github.com/coredns/coredns/pull/6705)
56
+
* plugin/dnstap: log queue and buffer memory size configuration (https://github.com/coredns/coredns/pull/6591)
57
+
* plugin/bind: add zone for link-local IPv6 instead of skipping (https://github.com/coredns/coredns/pull/6547)
58
+
* plugin/kubernetes: only create PTR records for endpoints with hostname defined (https://github.com/coredns/coredns/pull/6898)
59
+
* plugin/rewrite: execute the reversion in reversed order (https://github.com/coredns/coredns/pull/6872)
60
+
* plugin/etcd: fix etcd connection leakage during reload (https://github.com/coredns/coredns/pull/6646)
Copy file name to clipboardExpand all lines: content/plugins/bind.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description = "*bind* overrides the host to which the server should bind."
4
4
weight = 6
5
5
tags = ["plugin", "bind"]
6
6
categories = ["plugin"]
7
-
date = "2023-08-15T20:06:20.8772088"
7
+
date = "2024-11-22T08:09:54.87754811"
8
8
+++
9
9
10
10
## Description
@@ -16,7 +16,7 @@ If several addresses are provided, a listener will be open on each of the IP pro
16
16
17
17
Each address has to be an IP or name of one of the interfaces of the host. Bind by interface name, binds to the IPs on that interface at the time of startup or reload (reload will happen with a SIGHUP or if the config file changes).
18
18
19
-
If the given argument is an interface name, and that interface has several IP addresses, CoreDNS will listen on all of the interface IP addresses (including IPv4 and IPv6), except for IPv6 link-local addresses on that interface.
19
+
If the given argument is an interface name, and that interface has several IP addresses, CoreDNS will listen on all of the interface IP addresses (including IPv4 and IPv6).
Copy file name to clipboardExpand all lines: content/plugins/forward.md
+18-1Lines changed: 18 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description = "*forward* facilitates proxying DNS messages to upstream resolvers
4
4
weight = 20
5
5
tags = ["plugin", "forward"]
6
6
categories = ["plugin"]
7
-
date = "2023-08-15T20:06:20.8772088"
7
+
date = "2024-11-22T08:09:54.87754811"
8
8
+++
9
9
10
10
## Description
@@ -53,6 +53,7 @@ forward FROM TO... {
53
53
policy random|round_robin|sequential
54
54
health_check DURATION [no_rec] [domain FQDN]
55
55
max_concurrent MAX
56
+
next RCODE_1 [RCODE_2] [RCODE_3...]
56
57
}
57
58
~~~
58
59
@@ -98,6 +99,7 @@ forward FROM TO... {
98
99
response does not count as a health failure. When choosing a value for **MAX**, pick a number
99
100
at least greater than the expected *upstream query rate* * *latency* of the upstream servers.
100
101
As an upper bound for **MAX**, consider that each concurrent query will use about 2kb of memory.
102
+
*`next` If the `RCODE` (i.e. `NXDOMAIN`) is returned by the remote then execute the next plugin. If no next plugin is defined, or the next plugin is not a `forward` plugin, this setting is ignored
101
103
102
104
Also note the TLS config is "global" for the whole forwarding proxy if you need a different
103
105
`tls_servername` for different upstreams you're out of luck.
@@ -271,6 +273,21 @@ Or when you have multiple DoT upstreams with different `tls_servername`s, you ca
271
273
}
272
274
~~~
273
275
276
+
The following would try 1.2.3.4 first. If the response is `NXDOMAIN`, try 5.6.7.8. If the response from 5.6.7.8 is `NXDOMAIN`, try 9.0.1.2.
277
+
278
+
~~~corefile
279
+
. {
280
+
forward . 1.2.3.4 {
281
+
next NXDOMAIN
282
+
}
283
+
forward . 5.6.7.8 {
284
+
next NXDOMAIN
285
+
}
286
+
forward . 9.0.1.2 {
287
+
}
288
+
}
289
+
~~~
290
+
274
291
## See Also
275
292
276
293
[RFC 7858](https://tools.ietf.org/html/rfc7858) for DNS over TLS.
0 commit comments