From ec5696b20268bcfe319a7953b3712445b7c5a739 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 23 Apr 2020 10:22:20 +0200 Subject: [PATCH] plugin/dns64: update readme and owners (#3848) * plugin/dns64: update readme and owners Make @superq code owner of the plugins. Update the readme a bit: * don't make it start with a quote * make it look more like other README's in syntax description * make a full corefile examples and tests these by setting the corefile language tag Signed-off-by: Miek Gieben * Update plugin/dns64/README.md Co-Authored-By: Ben Kochie * Update plugin/dns64/README.md Co-Authored-By: Ben Kochie * Update plugin/dns64/README.md Co-Authored-By: Ben Kochie * Update plugin/dns64/README.md Co-Authored-By: Ben Kochie * Update plugin/dns64/README.md Co-Authored-By: Ben Kochie Co-authored-by: Ben Kochie --- CODEOWNERS | 1 + plugin/dns64/README.md | 61 +++++++++++++++++++++++++++--------------- 2 files changed, 41 insertions(+), 21 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 9ef29260e..0b401a25c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -21,6 +21,7 @@ go.mod @miekg @chrisohaver @johnbelamaric @yongtang @stp-ip /plugin/cancel/ @miekg /plugin/chaos/ @miekg @zouyee /plugin/clouddns/ @miekg @yongtang +/plugin/dns64 @superq /plugin/dnssec/ @isolus @miekg /plugin/dnstap/ @varyoo @yongtang /plugin/erratic/ @miekg diff --git a/plugin/dns64/README.md b/plugin/dns64/README.md index 6f3709336..24a092fe8 100644 --- a/plugin/dns64/README.md +++ b/plugin/dns64/README.md @@ -6,55 +6,70 @@ ## Description -> DNS64 describes a DNS server that when asked for a domain's AAAA records, but only finds -> A records, synthesizes the AAAA records from the A records. +The *dns64* plugin will when asked for a domain's AAAA records, but only finds A records, +synthesizes the AAAA records from the A records. -The synthesis in only performed if the query came in via IPv6. +The synthesis is *only* performed **if the query came in via IPv6**. This translation is for IPv6-only networks that have [NAT64](https://en.wikipedia.org/wiki/NAT64). -See [RFC 6147](https://tools.ietf.org/html/rfc6147) for more information. - ## Syntax +~~~ +dns64 [PREFIX] +~~~ + +* **PREFIX** defines a custom prefix instead of the default `64:ff9b::/96`. + +Or use this slightly longer form with more options: + ~~~ dns64 [PREFIX] { - [translate_all] + [translate_all] + prefix PREFIX } ~~~ -* [PREFIX] defines a custom prefix instead of the default `64:ff9b::/96`. -* `translate_all` translates all queries, including respones that have AAAA results. +* `prefix` specifies any local IPv6 prefix to use, instead of the well known prefix (64:ff9b::/96) +* `translate_all` translates all queries, including responses that have AAAA results. ## Examples -Translate with the default well known prefix. Applies to all queries. +Translate with the default well known prefix. Applies to all queries (if they came in over IPv6). ~~~ -dns64 +. { + dns64 +} ~~~ Use a custom prefix. -~~~ -dns64 64:1337::/96 -# Or -dns64 { - prefix 64:1337::/96 +~~~ corefile +. { + dns64 64:1337::/96 +} +~~~~ + +Or +~~~ corefile +. { + dns64 { + prefix 64:1337::/96 + } } ~~~ Enable translation even if an existing AAAA record is present. -~~~ -dns64 { - translate_all +~~~ corefile +. { + dns64 { + translate_all + } } ~~~ -* `prefix` specifies any local IPv6 prefix to use, instead of the well known prefix (64:ff9b::/96) - - ## Metrics If monitoring is enabled (via the _prometheus_ plugin) then the following metrics are exported: @@ -71,3 +86,7 @@ Not all features required by DNS64 are implemented, only basic AAAA synthesis. * Resolve PTR records * Follow CNAME records * Make resolver DNSSEC aware. See: [RFC 6147 Section 3](https://tools.ietf.org/html/rfc6147#section-3) + +## Also See + +See [RFC 6147](https://tools.ietf.org/html/rfc6147) for more information on the DNS64 mechanism.