mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 16:24:19 -04:00
release: up version to 1.2.1 (#2057)
up the version and add the man-pages. Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
@@ -2,7 +2,7 @@ package coremain
|
|||||||
|
|
||||||
// Various CoreDNS constants.
|
// Various CoreDNS constants.
|
||||||
const (
|
const (
|
||||||
CoreVersion = "1.2.0"
|
CoreVersion = "1.2.1"
|
||||||
coreName = "CoreDNS"
|
coreName = "CoreDNS"
|
||||||
serverType = "dns"
|
serverType = "dns"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-AUTO" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-AUTO" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIauto\fR \- enables serving zone data from an RFC 1035\-style master file, which is automatically picked up from disk\.
|
\fIauto\fR \- enables serving zone data from an RFC 1035\-style master file, which is automatically picked up from disk\.
|
||||||
@@ -25,7 +25,7 @@ auto [ZONES\.\.\.] {
|
|||||||
\fBZONES\fR zones it should be authoritative for\. If empty, the zones from the configuration block are used\.
|
\fBZONES\fR zones it should be authoritative for\. If empty, the zones from the configuration block are used\.
|
||||||
.
|
.
|
||||||
.IP "\(bu" 4
|
.IP "\(bu" 4
|
||||||
\fBdirectory\fR loads zones from the speficied \fBDIR\fR\. If a file name matches \fBREGEXP\fR it will be used to extract the origin\. \fBORIGIN_TEMPLATE\fR will be used as a template for the origin\. Strings like \fB{<number>}\fR are replaced with the respective matches in the file name, e\.g\. \fB{1}\fR is the first match, \fB{2}\fR is the second\. The default is: \fBdb\e\.(\.*) {1}\fR i\.e\. from a file with the name \fBdb\.example\.com\fR, the extracted origin will be \fBexample\.com\fR\. \fBTIMEOUT\fR 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\.
|
\fBdirectory\fR loads zones from the specified \fBDIR\fR\. If a file name matches \fBREGEXP\fR it will be used to extract the origin\. \fBORIGIN_TEMPLATE\fR will be used as a template for the origin\. Strings like \fB{<number>}\fR are replaced with the respective matches in the file name, e\.g\. \fB{1}\fR is the first match, \fB{2}\fR is the second\. The default is: \fBdb\e\.(\.*) {1}\fR i\.e\. from a file with the name \fBdb\.example\.com\fR, the extracted origin will be \fBexample\.com\fR\. \fBTIMEOUT\fR 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\.
|
||||||
.
|
.
|
||||||
.IP "\(bu" 4
|
.IP "\(bu" 4
|
||||||
\fBno_reload\fR by default CoreDNS will try to reload a zone every minute and reloads if the SOA\'s serial has changed\. This option disables that behavior\.
|
\fBno_reload\fR by default CoreDNS will try to reload a zone every minute and reloads if the SOA\'s serial has changed\. This option disables that behavior\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-BIND" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-BIND" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIbind\fR \- overrides the host to which the server should bind\.
|
\fIbind\fR \- overrides the host to which the server should bind\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-CACHE" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-CACHE" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIcache\fR \- enables a frontend cache\.
|
\fIcache\fR \- enables a frontend cache\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-DNSTAP" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-DNSTAP" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIdnstap\fR \- enable logging to dnstap\.
|
\fIdnstap\fR \- enable logging to dnstap\.
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-ERRATIC" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-ERRATIC" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIerratic\fR \- a plugin useful for testing client behavior\.
|
\fIerratic\fR \- a plugin useful for testing client behavior\.
|
||||||
.
|
.
|
||||||
.SH "DESCRIPTION"
|
.SH "DESCRIPTION"
|
||||||
\fIerratic\fR returns a static response to all queries, but the responses can be delayed, dropped or truncated\. The \fIerratic\fR plugin will respond to every A or AAAA query\. For any other type it will return a SERVFAIL response\. The reply for A will return 192\.0\.2\.53 (see RFC 5737 \fIhttps://tools\.ietf\.org/html/rfc5737\fR, for AAAA it returns 2001:DB8::53 (see RFC 3849 \fIhttps://tools\.ietf\.org/html/rfc3849\fR)\.
|
\fIerratic\fR returns a static response to all queries, but the responses can be delayed, dropped or truncated\. The \fIerratic\fR plugin will respond to every A or AAAA query\. For any other type it will return a SERVFAIL response\. The reply for A will return 192\.0\.2\.53 (see RFC 5737 \fIhttps://tools\.ietf\.org/html/rfc5737\fR, for AAAA it returns 2001:DB8::53 (see RFC 3849 \fIhttps://tools\.ietf\.org/html/rfc3849\fR) and for an AXFR request it will respond with a small zone transfer\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
\fIerratic\fR can also be used in conjunction with the \fIautopath\fR plugin\. This is mostly to aid in testing\.
|
\fIerratic\fR can also be used in conjunction with the \fIautopath\fR plugin\. This is mostly to aid in testing\.
|
||||||
@@ -35,6 +35,9 @@ erratic {
|
|||||||
.
|
.
|
||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
|
.P
|
||||||
|
In case of a zone transfer and truncate the final SOA record \fIisn\'t\fR added to the response\.
|
||||||
|
.
|
||||||
.SH "HEALTH"
|
.SH "HEALTH"
|
||||||
This plugin implements dynamic health checking\. For every dropped query it turns unhealthy\.
|
This plugin implements dynamic health checking\. For every dropped query it turns unhealthy\.
|
||||||
.
|
.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-ETCD" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-ETCD" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIetcd\fR \- enables reading zone data from an etcd version 3 instance\.
|
\fIetcd\fR \- enables reading zone data from an etcd version 3 instance\.
|
||||||
@@ -87,13 +87,19 @@ three arguments \- path to cert PEM file, path to client private key PEM file, p
|
|||||||
CoreDNS etcd plugin leverages directory structure to look for related entries\. For example an entry \fB/skydns/test/skydns/mx\fR would have entries like \fB/skydns/test/skydns/mx/a\fR, \fB/skydns/test/skydns/mx/b\fR and so on\. Similarly a directory \fB/skydns/test/skydns/mx1\fR will have all \fBmx1\fR entries\.
|
CoreDNS etcd plugin leverages directory structure to look for related entries\. For example an entry \fB/skydns/test/skydns/mx\fR would have entries like \fB/skydns/test/skydns/mx/a\fR, \fB/skydns/test/skydns/mx/b\fR and so on\. Similarly a directory \fB/skydns/test/skydns/mx1\fR will have all \fBmx1\fR entries\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
With etcd3, support for hierarchial keys are dropped \fIhttps://coreos\.com/etcd/docs/latest/learning/api\.html\fR\. This means there are no directories but only flat keys with prefixes in etcd3\. To accomodate lookups, etcdv3 plugin now does a lookup on prefix \fB/skydns/test/skydns/mx/\fR to search for entries like \fB/skydns/test/skydns/mx/a\fR etc, and if there is nothing found on \fB/skydns/test/skydns/mx/\fR, it looks for \fB/skydns/test/skydns/mx\fR to find entries like \fB/skydns/test/skydns/mx1\fR\.
|
With etcd3, support for hierarchial keys are dropped \fIhttps://coreos\.com/etcd/docs/latest/learning/api\.html\fR\. This means there are no directories but only flat keys with prefixes in etcd3\. To accommodate lookups, etcdv3 plugin now does a lookup on prefix \fB/skydns/test/skydns/mx/\fR to search for entries like \fB/skydns/test/skydns/mx/a\fR etc, and if there is nothing found on \fB/skydns/test/skydns/mx/\fR, it looks for \fB/skydns/test/skydns/mx\fR to find entries like \fB/skydns/test/skydns/mx1\fR\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
This causes two lookups from CoreDNS to etcdv3 in certain cases\.
|
This causes two lookups from CoreDNS to etcdv3 in certain cases\.
|
||||||
.
|
.
|
||||||
|
.SH "MIGRATION TO <code>ETCDV3</code> API"
|
||||||
|
With CoreDNS release \fB1\.2\.0\fR, you\'ll need to migrate existing CoreDNS related data (if any) on your etcd server to etcdv3 API\. This is because with \fBetcdv3\fR support, CoreDNS can\'t see the data stored to an etcd server using \fBetcdv2\fR API\.
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
Refer this blog by CoreOS team \fIhttps://coreos\.com/blog/migrating\-applications\-etcd\-v3\.html\fR to migrate to etcdv3 API\.
|
||||||
|
.
|
||||||
.SH "EXAMPLES"
|
.SH "EXAMPLES"
|
||||||
This is the default SkyDNS setup, with everying specified in full:
|
This is the default SkyDNS setup, with everything specified in full:
|
||||||
.
|
.
|
||||||
.IP "" 4
|
.IP "" 4
|
||||||
.
|
.
|
||||||
@@ -151,6 +157,12 @@ etcd skydns\.local {
|
|||||||
.
|
.
|
||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
|
.P
|
||||||
|
Before getting started with these examples, please setup \fBetcdctl\fR (with \fBetcdv3\fR API) as explained here \fIhttps://coreos\.com/etcd/docs/latest/dev\-guide/interacting_v3\.html\fR\. This will help you to put sample keys in your etcd server\.
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
If you prefer, you can use \fBcurl\fR to populate the \fBetcd\fR server, but with \fBcurl\fR the endpoint URL depends on the version of \fBetcd\fR\. For instance, \fBetcd v3\.2\fR or before uses only [CLIENT\-URL]/v3alpha/\fIwhile \fBetcd v3\.5\fR or later uses [CLIENT\-URL]/v3/\fR \. Also, Key and Value must be base64 encoded in the JSON payload\. With, \fBetcdctl\fR these details are automatically taken care off\. You can check this document \fIhttps://github\.com/coreos/etcd/blob/master/Documentation/dev\-guide/api_grpc_gateway\.md#notes\fR for details\.
|
||||||
|
.
|
||||||
.SS "REVERSE ZONES"
|
.SS "REVERSE ZONES"
|
||||||
Reverse zones are supported\. You need to make CoreDNS aware of the fact that you are also authoritative for the reverse\. For instance if you want to add the reverse for 10\.0\.0\.0/24, you\'ll need to add the zone \fB0\.0\.10\.in\-addr\.arpa\fR to the list of zones\. Showing a snippet of a Corefile:
|
Reverse zones are supported\. You need to make CoreDNS aware of the fact that you are also authoritative for the reverse\. For instance if you want to add the reverse for 10\.0\.0\.0/24, you\'ll need to add the zone \fB0\.0\.10\.in\-addr\.arpa\fR to the list of zones\. Showing a snippet of a Corefile:
|
||||||
.
|
.
|
||||||
@@ -173,8 +185,7 @@ Next you\'ll need to populate the zone with reverse records, here we add a rever
|
|||||||
.
|
.
|
||||||
.nf
|
.nf
|
||||||
|
|
||||||
% curl \-XPUT http://127\.0\.0\.1:4001/v2/keys/skydns/arpa/in\-addr/10/0/0/127 \e
|
% etcdctl put /skydns/arpa/in\-addr/10/0/0/127 \'{"host":"reverse\.skydns\.local\."}\'
|
||||||
\-d value=\'{"host":"reverse\.skydns\.local\."}\'
|
|
||||||
.
|
.
|
||||||
.fi
|
.fi
|
||||||
.
|
.
|
||||||
@@ -201,7 +212,7 @@ The zone name itself can be used A record\. This behavior can be achieved by wri
|
|||||||
.
|
.
|
||||||
.nf
|
.nf
|
||||||
|
|
||||||
% curl \-XPUT http://127\.0\.0\.1:2379/v2/keys/skydns/local/skydns/dns/apex \-d value=\'{"host":"1\.1\.1\.1","ttl":"60"}\'
|
% etcdctl put /skydns/local/skydns/ \'{"host":"1\.1\.1\.1","ttl":60}\'
|
||||||
.
|
.
|
||||||
.fi
|
.fi
|
||||||
.
|
.
|
||||||
@@ -222,7 +233,7 @@ If you query the zone name itself, you will receive the created \fBA\fR record:
|
|||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
If you would like to use DNS RR for the zone name, you can set the following: ~~~ % curl \-XPUT http://127\.0\.0\.1:2379/v2/keys/skydns/local/skydns/dns/apex/x1 \-d value=\'{"host":"1\.1\.1\.1","ttl":"60"}\' % curl \-XPUT http://127\.0\.0\.1:2379/v2/keys/skydns/local/skydns/dns/apex/x2 \-d value=\'{"host":"1\.1\.1\.2","ttl":"60"}\' ~~~
|
If you would like to use DNS RR for the zone name, you can set the following: ~~~ % etcdctl put /skydns/local/skydns/x1 \'{"host":"1\.1\.1\.1","ttl":"60"}\' % etcdctl put /skydns/local/skydns/x2 \'{"host":"1\.1\.1\.2","ttl":"60"}\' ~~~
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
If you query the zone name now, you will get the following response:
|
If you query the zone name now, you will get the following response:
|
||||||
@@ -231,7 +242,7 @@ If you query the zone name now, you will get the following response:
|
|||||||
.
|
.
|
||||||
.nf
|
.nf
|
||||||
|
|
||||||
dig +short skydns\.local @localhost
|
% dig +short skydns\.local @localhost
|
||||||
1\.1\.1\.1
|
1\.1\.1\.1
|
||||||
1\.1\.1\.2
|
1\.1\.1\.2
|
||||||
.
|
.
|
||||||
@@ -239,8 +250,31 @@ dig +short skydns\.local @localhost
|
|||||||
.
|
.
|
||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
.P
|
.SS "ZONE NAME AS AAAA RECORD"
|
||||||
If you would like to use \fBAAAA\fR records for the zone name too, you can set the following: ~~~ % curl \-XPUT http://127\.0\.0\.1:2379/v2/keys/skydns/local/skydns/dns/apex/x3 \-d value=\'{"host":"2003::8:1","ttl":"60"}\' % curl \-XPUT http://127\.0\.0\.1:2379/v2/keys/skydns/local/skydns/dns/apex/x4 \-d value=\'{"host":"2003::8:2","ttl":"60"}\' ~~~
|
If you would like to use \fBAAAA\fR records for the zone name too, you can set the following: ~~~ % etcdctl put /skydns/local/skydns/x3 \'{"host":"2003::8:1","ttl":"60"}\' % etcdctl put /skydns/local/skydns/x4 \'{"host":"2003::8:2","ttl":"60"}\' ~~~
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
If you query the zone name now for \fBAAAA\fR now, you will get the following response: ~~~ sh dig +short skydns\.local AAAA @localhost 2003::8:1 2003::8:2 ~~~
|
If you query the zone name for \fBAAAA\fR now, you will get the following response: ~~~ sh % dig +short skydns\.local AAAA @localhost 2003::8:1 2003::8:2 ~~~
|
||||||
|
.
|
||||||
|
.SS "SRV RECORD"
|
||||||
|
If you would like to use \fBSRV\fR records, you can set the following: ~~~ % etcdctl put /skydns/local/skydns/x5 \'{"host":"skydns\-local\.server","ttl":60,"priority":10,"port":8080}\' ~~~ Please notice that the key \fBhost\fR is the \fBtarget\fR in \fBSRV\fR, so it should be a domain name\.
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
If you query the zone name for \fBSRV\fR now, you will get the following response:
|
||||||
|
.
|
||||||
|
.IP "" 4
|
||||||
|
.
|
||||||
|
.nf
|
||||||
|
|
||||||
|
% dig +short skydns\.local SRV @localhost
|
||||||
|
10 100 8080 skydns\-local\.server\.
|
||||||
|
.
|
||||||
|
.fi
|
||||||
|
.
|
||||||
|
.IP "" 0
|
||||||
|
.
|
||||||
|
.SS "TXT RECORD"
|
||||||
|
If you would like to use \fBTXT\fR records, you can set the following: ~~~ % etcdctl put /skydns/local/skydns/x6 \'{"ttl":60,"text":"this is a random text message\."}\' ~~~
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
If you query the zone name for \fBTXT\fR now, you will get the following response: ~~~ sh % dig +short skydns\.local TXT @localhost "this is a random text message\." ~~~
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-FORWARD" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-FORWARD" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIforward\fR \- facilitates proxying DNS messages to upstream resolvers\.
|
\fIforward\fR \- facilitates proxying DNS messages to upstream resolvers\.
|
||||||
@@ -55,6 +55,7 @@ Extra knobs are available with an expanded syntax:
|
|||||||
forward FROM TO\.\.\. {
|
forward FROM TO\.\.\. {
|
||||||
except IGNORED_NAMES\.\.\.
|
except IGNORED_NAMES\.\.\.
|
||||||
force_tcp
|
force_tcp
|
||||||
|
prefer_udp
|
||||||
expire DURATION
|
expire DURATION
|
||||||
max_fails INTEGER
|
max_fails INTEGER
|
||||||
tls CERT KEY CA
|
tls CERT KEY CA
|
||||||
@@ -77,6 +78,9 @@ forward FROM TO\.\.\. {
|
|||||||
\fBforce_tcp\fR, use TCP even when the request comes in over UDP\.
|
\fBforce_tcp\fR, use TCP even when the request comes in over UDP\.
|
||||||
.
|
.
|
||||||
.IP "\(bu" 4
|
.IP "\(bu" 4
|
||||||
|
\fBprefer_udp\fR, try first using UDP even when the request comes in over TCP\. If response is truncated (TC flag set in response) then do another attempt over TCP\. In case if both \fBforce_tcp\fR and \fBprefer_udp\fR options specified the \fBforce_tcp\fR takes precedence\.
|
||||||
|
.
|
||||||
|
.IP "\(bu" 4
|
||||||
\fBmax_fails\fR is the number of subsequent failed health checks that are needed before considering an upstream to be down\. If 0, the upstream will never be marked as down (nor health checked)\. Default is 2\.
|
\fBmax_fails\fR is the number of subsequent failed health checks that are needed before considering an upstream to be down\. If 0, the upstream will never be marked as down (nor health checked)\. Default is 2\.
|
||||||
.
|
.
|
||||||
.IP "\(bu" 4
|
.IP "\(bu" 4
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-HEALTH" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-HEALTH" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIhealth\fR \- enables a health check endpoint\.
|
\fIhealth\fR \- enables a health check endpoint\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-HOSTS" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-HOSTS" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIhosts\fR \- enables serving zone data from a \fB/etc/hosts\fR style file\.
|
\fIhosts\fR \- enables serving zone data from a \fB/etc/hosts\fR style file\.
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-LOADBALANCE" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-LOADBALANCE" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIloadbalance\fR \- randomize the order of A and AAAA records\.
|
\fIloadbalance\fR \- randomize the order of A, AAAA and MX records\.
|
||||||
.
|
.
|
||||||
.SH "DESCRIPTION"
|
.SH "DESCRIPTION"
|
||||||
The \fIloadbalance\fR will act as a round\-robin DNS loadbalancer by randomizing the order of A and AAAA records in the answer\.
|
The \fIloadbalance\fR will act as a round\-robin DNS loadbalancer by randomizing the order of A, AAAA, and MX records in the answer\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
See Wikipedia \fIhttps://en\.wikipedia\.org/wiki/Round\-robin_DNS\fR about the pros and cons on this setup\. It will take care to sort any CNAMEs before any address records, because some stub resolver implementations (like glibc) are particular about that\.
|
See Wikipedia \fIhttps://en\.wikipedia\.org/wiki/Round\-robin_DNS\fR about the pros and cons on this setup\. It will take care to sort any CNAMEs before any address records, because some stub resolver implementations (like glibc) are particular about that\.
|
||||||
|
|||||||
65
man/coredns-loop.7
Normal file
65
man/coredns-loop.7
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
.\" generated with Ronn/v0.7.3
|
||||||
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
|
.
|
||||||
|
.TH "COREDNS\-LOOP" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
|
.
|
||||||
|
.SH "NAME"
|
||||||
|
\fIloop\fR \- detect simple forwarding loops and halt the server\.
|
||||||
|
.
|
||||||
|
.SH "DESCRIPTION"
|
||||||
|
The \fIloop\fR plugin will send a random query to ourselves and will then keep track of how many times we see it\. If we see it more than twice, we assume CoreDNS is looping and we halt the process\.
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
The plugin will try to send the query for up to 30 seconds\. This is done to give CoreDNS enough time to start up\. Once a query has been successfully sent \fIloop\fR disables itself to prevent a query of death\.
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
The query sent is \fB<random number>\.<random number>\.zone\fR with type set to HINFO\.
|
||||||
|
.
|
||||||
|
.SH "SYNTAX"
|
||||||
|
.
|
||||||
|
.nf
|
||||||
|
|
||||||
|
loop
|
||||||
|
.
|
||||||
|
.fi
|
||||||
|
.
|
||||||
|
.SH "EXAMPLES"
|
||||||
|
Start a server on the default port and load the \fIloop\fR and \fIforward\fR plugins\. The \fIforward\fR plugin forwards to it self\.
|
||||||
|
.
|
||||||
|
.IP "" 4
|
||||||
|
.
|
||||||
|
.nf
|
||||||
|
|
||||||
|
\&\. {
|
||||||
|
loop
|
||||||
|
forward \. 127\.0\.0\.1
|
||||||
|
}
|
||||||
|
.
|
||||||
|
.fi
|
||||||
|
.
|
||||||
|
.IP "" 0
|
||||||
|
.
|
||||||
|
.P
|
||||||
|
After CoreDNS has started it stops the process while logging:
|
||||||
|
.
|
||||||
|
.IP "" 4
|
||||||
|
.
|
||||||
|
.nf
|
||||||
|
|
||||||
|
plugin/loop: Seen "HINFO IN 5577006791947779410\.8674665223082153551\." more than twice, loop detected
|
||||||
|
.
|
||||||
|
.fi
|
||||||
|
.
|
||||||
|
.IP "" 0
|
||||||
|
.
|
||||||
|
.SH "LIMITATIONS"
|
||||||
|
This plugin only attempts to find simple static forwarding loops at start up time\. To detect a loop, all of the following must be true
|
||||||
|
.
|
||||||
|
.IP "\(bu" 4
|
||||||
|
the loop must be present at start up time\.
|
||||||
|
.
|
||||||
|
.IP "\(bu" 4
|
||||||
|
the loop must occur for at least the \fBHINFO\fR query type\.
|
||||||
|
.
|
||||||
|
.IP "" 0
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-METADATA" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-METADATA" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fImetadata\fR \- enable a meta data collector\.
|
\fImetadata\fR \- enable a meta data collector\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-METRICS" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-METRICS" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIprometheus\fR \- enables Prometheus \fIhttps://prometheus\.io/\fR metrics\.
|
\fIprometheus\fR \- enables Prometheus \fIhttps://prometheus\.io/\fR metrics\.
|
||||||
@@ -97,7 +97,7 @@ Use an alternative address:
|
|||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
Or via an enviroment variable (this is supported throughout the Corefile): \fBexport PORT=9253\fR, and then:
|
Or via an environment variable (this is supported throughout the Corefile): \fBexport PORT=9253\fR, and then:
|
||||||
.
|
.
|
||||||
.IP "" 4
|
.IP "" 4
|
||||||
.
|
.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-PROXY" "7" "June 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-PROXY" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIproxy\fR \- facilitates both a basic reverse proxy and a robust load balancer\.
|
\fIproxy\fR \- facilitates both a basic reverse proxy and a robust load balancer\.
|
||||||
@@ -126,7 +126,7 @@ If monitoring is enabled (via the \fIprometheus\fR directive) then the following
|
|||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
Where \fBproxy_proto\fR is the protocol used (\fBdns\fR or \fBgrpc\fR) and \fBto\fR is \fBTO\fR specified in the config, \fBproto\fR is the protocol used by the incoming query ("tcp" or "udp"), family the transport family ("1" for IPv4, and "2" for IPv6)\. \fBServer\fR is the server responsible for the request (and metric)\. See the documention in the metrics plugin\.
|
Where \fBproxy_proto\fR is the protocol used (\fBdns\fR or \fBgrpc\fR) and \fBto\fR is \fBTO\fR specified in the config, \fBproto\fR is the protocol used by the incoming query ("tcp" or "udp"), family the transport family ("1" for IPv4, and "2" for IPv6)\. \fBServer\fR is the server responsible for the request (and metric)\. See the documentation in the metrics plugin\.
|
||||||
.
|
.
|
||||||
.SH "EXAMPLES"
|
.SH "EXAMPLES"
|
||||||
Proxy all requests within example\.org\. to a backend system:
|
Proxy all requests within example\.org\. to a backend system:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-RELOAD" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-RELOAD" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIreload\fR \- allows automatic reload of a changed Corefile\.
|
\fIreload\fR \- allows automatic reload of a changed Corefile\.
|
||||||
@@ -115,7 +115,7 @@ fail loading the new Corefile, abort and keep using the old process
|
|||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
After the aborted attempt to reload we are left with the old proceses running, but the listener is closed in step 1; so the health endpoint is broken\. The same can hopen in the prometheus metrics plugin\.
|
After the aborted attempt to reload we are left with the old processes running, but the listener is closed in step 1; so the health endpoint is broken\. The same can hopen in the prometheus metrics plugin\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
In general be careful with assigning new port and expecting reload to work fully\.
|
In general be careful with assigning new port and expecting reload to work fully\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-REWRITE" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-REWRITE" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIrewrite\fR \- performs internal message rewriting\.
|
\fIrewrite\fR \- performs internal message rewriting\.
|
||||||
@@ -22,7 +22,7 @@ A simplified/easy to digest syntax for \fIrewrite\fR is\.\.\. ~~~ rewrite [conti
|
|||||||
\fBclass\fR \- the class of the message will be rewritten\. FROM/TO must be a DNS class type (\fBIN\fR, \fBCH\fR, or \fBHS\fR) e\.g\., to rewrite CH queries to IN use \fBrewrite class CH IN\fR\.
|
\fBclass\fR \- the class of the message will be rewritten\. FROM/TO must be a DNS class type (\fBIN\fR, \fBCH\fR, or \fBHS\fR) e\.g\., to rewrite CH queries to IN use \fBrewrite class CH IN\fR\.
|
||||||
.
|
.
|
||||||
.IP "\(bu" 4
|
.IP "\(bu" 4
|
||||||
\fBname\fR \- the query name in the \fIrequest\fR is rewritten; by default this is a full match of the name, e\.g\., \fBrewrite name miek\.nl example\.org\fR\. Other match types are supported, see the \fBName Field Rewrites\fR section below\.
|
\fBname\fR \- the query name in the \fIrequest\fR is rewritten; by default this is a full match of the name, e\.g\., \fBrewrite name example\.net example\.org\fR\. Other match types are supported, see the \fBName Field Rewrites\fR section below\.
|
||||||
.
|
.
|
||||||
.IP "\(bu" 4
|
.IP "\(bu" 4
|
||||||
\fBanswer name\fR \- the query name in the \fIresponse\fR is rewritten\. This option has special restrictions and requirements, in particular it must always combined with a \fBname\fR rewrite\. See below in the \fBResponse Rewrites\fR section\.
|
\fBanswer name\fR \- the query name in the \fIresponse\fR is rewritten\. This option has special restrictions and requirements, in particular it must always combined with a \fBname\fR rewrite\. See below in the \fBResponse Rewrites\fR section\.
|
||||||
@@ -45,7 +45,7 @@ A simplified/easy to digest syntax for \fIrewrite\fR is\.\.\. ~~~ rewrite [conti
|
|||||||
If you specify multiple rules and an incoming query matches on multiple rules, the rewrite will behave as following * \fBcontinue\fR will continue apply the next rule in the rule list\. * \fBstop\fR will consider the current rule is the last rule and will not continue\. Default behaviour for not specifying this rule processing mode is \fBstop\fR
|
If you specify multiple rules and an incoming query matches on multiple rules, the rewrite will behave as following * \fBcontinue\fR will continue apply the next rule in the rule list\. * \fBstop\fR will consider the current rule is the last rule and will not continue\. Default behaviour for not specifying this rule processing mode is \fBstop\fR
|
||||||
.
|
.
|
||||||
.SS "NAME FIELD REWRITES"
|
.SS "NAME FIELD REWRITES"
|
||||||
The \fBrewrite\fR plugin offers the ability to match on the name in the question section of a DNS request\. The match could be exact, substring, or based on a prefix, suffix, or regular expression\.
|
The \fBrewrite\fR plugin offers the ability to match on the name in the question section of a DNS request\. The match could be exact, substring, or based on a prefix, suffix, or regular expression\. If the newly used name is not a legal domain name the plugin returns an error to the client\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
The syntax for the name re\-writing is as follows:
|
The syntax for the name re\-writing is as follows:
|
||||||
@@ -328,6 +328,19 @@ rewrite edns0 local set 0xffee {client_ip}
|
|||||||
.IP "" 0
|
.IP "" 0
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
|
The following example rewrites the \fBschmoogle\.com\fR suffix to \fBgoogle\.com\fR\.
|
||||||
|
.
|
||||||
|
.IP "" 4
|
||||||
|
.
|
||||||
|
.nf
|
||||||
|
|
||||||
|
rewrite name suffix \.schmoogle\.com\. \.google\.com\.
|
||||||
|
.
|
||||||
|
.fi
|
||||||
|
.
|
||||||
|
.IP "" 0
|
||||||
|
.
|
||||||
|
.P
|
||||||
The following example uses metadata and an imaginary "some\-plugin" that would provide "some\-label" as metadata information\.
|
The following example uses metadata and an imaginary "some\-plugin" that would provide "some\-label" as metadata information\.
|
||||||
.
|
.
|
||||||
.IP "" 4
|
.IP "" 4
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREDNS\-WHOAMI" "7" "July 2018" "CoreDNS" "CoreDNS plugins"
|
.TH "COREDNS\-WHOAMI" "7" "August 2018" "CoreDNS" "CoreDNS plugins"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fIwhoami\fR \- returns your resolver\'s local IP address, port and transport\.
|
\fIwhoami\fR \- returns your resolver\'s local IP address, port and transport\.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
.\" generated with Ronn/v0.7.3
|
.\" generated with Ronn/v0.7.3
|
||||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||||
.
|
.
|
||||||
.TH "COREFILE" "5" "June 2018" "CoreDNS" "CoreDNS"
|
.TH "COREFILE" "5" "August 2018" "CoreDNS" "CoreDNS"
|
||||||
.
|
.
|
||||||
.SH "NAME"
|
.SH "NAME"
|
||||||
\fBcorefile\fR
|
\fBcorefile\fR
|
||||||
@@ -46,7 +46,7 @@ When a query comes in, it is matched again all zones for all servers, the server
|
|||||||
Comments are allowed and begin with an unquoted hash \fB#\fR and continue to the end of the line\. Comments may be started anywhere on a line\.
|
Comments are allowed and begin with an unquoted hash \fB#\fR and continue to the end of the line\. Comments may be started anywhere on a line\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
Enviroment variables are supported and either the Unix or Windows form may be used: \fB{$ENV_VAR_1}\fR or \fB{%ENV_VAR_2%}\fR\.
|
Environment variables are supported and either the Unix or Windows form may be used: \fB{$ENV_VAR_1}\fR or \fB{%ENV_VAR_2%}\fR\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
You can use the \fBimport\fR "plugin" to include parts of other files, see \fIhttps://coredns\.io/explugins/import\fR\.
|
You can use the \fBimport\fR "plugin" to include parts of other files, see \fIhttps://coredns\.io/explugins/import\fR\.
|
||||||
|
|||||||
Reference in New Issue
Block a user