diff options
-rw-r--r-- | coremain/version.go | 2 | ||||
-rw-r--r-- | man/coredns-auto.7 | 4 | ||||
-rw-r--r-- | man/coredns-bind.7 | 2 | ||||
-rw-r--r-- | man/coredns-cache.7 | 2 | ||||
-rw-r--r-- | man/coredns-dnstap.7 | 2 | ||||
-rw-r--r-- | man/coredns-erratic.7 | 7 | ||||
-rw-r--r-- | man/coredns-etcd.7 | 54 | ||||
-rw-r--r-- | man/coredns-forward.7 | 6 | ||||
-rw-r--r-- | man/coredns-health.7 | 2 | ||||
-rw-r--r-- | man/coredns-hosts.7 | 2 | ||||
-rw-r--r-- | man/coredns-loadbalance.7 | 6 | ||||
-rw-r--r-- | man/coredns-loop.7 | 65 | ||||
-rw-r--r-- | man/coredns-metadata.7 | 2 | ||||
-rw-r--r-- | man/coredns-metrics.7 | 4 | ||||
-rw-r--r-- | man/coredns-proxy.7 | 4 | ||||
-rw-r--r-- | man/coredns-reload.7 | 4 | ||||
-rw-r--r-- | man/coredns-rewrite.7 | 19 | ||||
-rw-r--r-- | man/coredns-whoami.7 | 2 | ||||
-rw-r--r-- | man/corefile.5 | 4 |
19 files changed, 156 insertions, 37 deletions
diff --git a/coremain/version.go b/coremain/version.go index 7e73e5adb..cf0e7ab6d 100644 --- a/coremain/version.go +++ b/coremain/version.go @@ -2,7 +2,7 @@ package coremain // Various CoreDNS constants. const ( - CoreVersion = "1.2.0" + CoreVersion = "1.2.1" coreName = "CoreDNS" serverType = "dns" ) diff --git a/man/coredns-auto.7 b/man/coredns-auto.7 index 0a9f43c80..59561bc12 100644 --- a/man/coredns-auto.7 +++ b/man/coredns-auto.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \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\. . .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 \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\. diff --git a/man/coredns-bind.7 b/man/coredns-bind.7 index ffbc953f7..719e2b6d9 100644 --- a/man/coredns-bind.7 +++ b/man/coredns-bind.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIbind\fR \- overrides the host to which the server should bind\. diff --git a/man/coredns-cache.7 b/man/coredns-cache.7 index f97bf5d92..3e9fce656 100644 --- a/man/coredns-cache.7 +++ b/man/coredns-cache.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIcache\fR \- enables a frontend cache\. diff --git a/man/coredns-dnstap.7 b/man/coredns-dnstap.7 index c0815f2fa..d5f10bfb9 100644 --- a/man/coredns-dnstap.7 +++ b/man/coredns-dnstap.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIdnstap\fR \- enable logging to dnstap\. diff --git a/man/coredns-erratic.7 b/man/coredns-erratic.7 index 7e4b07e29..37027bd8d 100644 --- a/man/coredns-erratic.7 +++ b/man/coredns-erratic.7 @@ -1,13 +1,13 @@ .\" generated with Ronn/v0.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" \fIerratic\fR \- a plugin useful for testing client behavior\. . .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 \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 . +.P +In case of a zone transfer and truncate the final SOA record \fIisn\'t\fR added to the response\. +. .SH "HEALTH" This plugin implements dynamic health checking\. For every dropped query it turns unhealthy\. . diff --git a/man/coredns-etcd.7 b/man/coredns-etcd.7 index f51bcf51b..550467de6 100644 --- a/man/coredns-etcd.7 +++ b/man/coredns-etcd.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \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\. . .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 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" -This is the default SkyDNS setup, with everying specified in full: +This is the default SkyDNS setup, with everything specified in full: . .IP "" 4 . @@ -151,6 +157,12 @@ etcd skydns\.local { . .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" 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 -% curl \-XPUT http://127\.0\.0\.1:4001/v2/keys/skydns/arpa/in\-addr/10/0/0/127 \e - \-d value=\'{"host":"reverse\.skydns\.local\."}\' +% etcdctl put /skydns/arpa/in\-addr/10/0/0/127 \'{"host":"reverse\.skydns\.local\."}\' . .fi . @@ -201,7 +212,7 @@ The zone name itself can be used A record\. This behavior can be achieved by wri . .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 . @@ -222,7 +233,7 @@ If you query the zone name itself, you will receive the created \fBA\fR record: .IP "" 0 . .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 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 -dig +short skydns\.local @localhost +% dig +short skydns\.local @localhost 1\.1\.1\.1 1\.1\.1\.2 . @@ -239,8 +250,31 @@ dig +short skydns\.local @localhost . .IP "" 0 . +.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: ~~~ % 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 +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 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 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 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 \fBTXT\fR now, you will get the following response: ~~~ sh % dig +short skydns\.local TXT @localhost "this is a random text message\." ~~~ diff --git a/man/coredns-forward.7 b/man/coredns-forward.7 index dac634fd3..7d2c947bb 100644 --- a/man/coredns-forward.7 +++ b/man/coredns-forward.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIforward\fR \- facilitates proxying DNS messages to upstream resolvers\. @@ -55,6 +55,7 @@ Extra knobs are available with an expanded syntax: forward FROM TO\.\.\. { except IGNORED_NAMES\.\.\. force_tcp + prefer_udp expire DURATION max_fails INTEGER tls CERT KEY CA @@ -77,6 +78,9 @@ forward FROM TO\.\.\. { \fBforce_tcp\fR, use TCP even when the request comes in over UDP\. . .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\. . .IP "\(bu" 4 diff --git a/man/coredns-health.7 b/man/coredns-health.7 index bca1bf999..86088abb4 100644 --- a/man/coredns-health.7 +++ b/man/coredns-health.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIhealth\fR \- enables a health check endpoint\. diff --git a/man/coredns-hosts.7 b/man/coredns-hosts.7 index c89b01614..6be6a355a 100644 --- a/man/coredns-hosts.7 +++ b/man/coredns-hosts.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIhosts\fR \- enables serving zone data from a \fB/etc/hosts\fR style file\. diff --git a/man/coredns-loadbalance.7 b/man/coredns-loadbalance.7 index 501269535..1a563ce7b 100644 --- a/man/coredns-loadbalance.7 +++ b/man/coredns-loadbalance.7 @@ -1,13 +1,13 @@ .\" generated with Ronn/v0.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" -\fIloadbalance\fR \- randomize the order of A and AAAA records\. +\fIloadbalance\fR \- randomize the order of A, AAAA and MX records\. . .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 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\. diff --git a/man/coredns-loop.7 b/man/coredns-loop.7 new file mode 100644 index 000000000..986cf95e6 --- /dev/null +++ b/man/coredns-loop.7 @@ -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 + diff --git a/man/coredns-metadata.7 b/man/coredns-metadata.7 index 168df6f7e..54ad5fcdc 100644 --- a/man/coredns-metadata.7 +++ b/man/coredns-metadata.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fImetadata\fR \- enable a meta data collector\. diff --git a/man/coredns-metrics.7 b/man/coredns-metrics.7 index 0d2e89bef..3dacb82d4 100644 --- a/man/coredns-metrics.7 +++ b/man/coredns-metrics.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIprometheus\fR \- enables Prometheus \fIhttps://prometheus\.io/\fR metrics\. @@ -97,7 +97,7 @@ Use an alternative address: .IP "" 0 . .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 . diff --git a/man/coredns-proxy.7 b/man/coredns-proxy.7 index 667edcfd9..ca9a47346 100644 --- a/man/coredns-proxy.7 +++ b/man/coredns-proxy.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \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 . .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" Proxy all requests within example\.org\. to a backend system: diff --git a/man/coredns-reload.7 b/man/coredns-reload.7 index 698c0bda5..2e0d6c1cb 100644 --- a/man/coredns-reload.7 +++ b/man/coredns-reload.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \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 . .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 In general be careful with assigning new port and expecting reload to work fully\. diff --git a/man/coredns-rewrite.7 b/man/coredns-rewrite.7 index e3cc97187..752041603 100644 --- a/man/coredns-rewrite.7 +++ b/man/coredns-rewrite.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \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\. . .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 \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 . .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 The syntax for the name re\-writing is as follows: @@ -328,6 +328,19 @@ rewrite edns0 local set 0xffee {client_ip} .IP "" 0 . .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\. . .IP "" 4 diff --git a/man/coredns-whoami.7 b/man/coredns-whoami.7 index 1d8c24ae0..6590be6a8 100644 --- a/man/coredns-whoami.7 +++ b/man/coredns-whoami.7 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \fIwhoami\fR \- returns your resolver\'s local IP address, port and transport\. diff --git a/man/corefile.5 b/man/corefile.5 index ebd54cc79..1f7f385a3 100644 --- a/man/corefile.5 +++ b/man/corefile.5 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.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" \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\. . .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 You can use the \fBimport\fR "plugin" to include parts of other files, see \fIhttps://coredns\.io/explugins/import\fR\. |