mirror of
https://github.com/coredns/coredns.git
synced 2025-12-22 10:05:17 -05:00
Add dns64 plugin (#3534)
* Add dns64 plugin Add external plugin to core in-tree. * Pull code from upstream: https://github.com/serverwentdown/dns64 * Update docs. Signed-off-by: Ben Kochie <superq@gmail.com> * Make dns64 consistent. Signed-off-by: Ben Kochie <superq@gmail.com> * Cleanup README Signed-off-by: Ben Kochie <superq@gmail.com> * Cleanup minor issues. Signed-off-by: Ben Kochie <superq@gmail.com> * Remove proxy method. Signed-off-by: Ben Kochie <superq@gmail.com> * dns64: big cleanup * Make the code a bit more idiomatic * Add tests * use proper Upstream API Signed-off-by: Casey Callendrello <c1@caseyc.net> Signed-off-by: Ben Kochie <superq@gmail.com> * A little more clenaup * Fix some docs. * Use the correct plugin register method. * Cleanup some review items. Signed-off-by: Ben Kochie <superq@gmail.com> * Add metrics counter for DNS64 translations Add a basic counter of how many DNS64 translations have been completed. Signed-off-by: Ben Kochie <superq@gmail.com> * Add DNSSEC bug link Signed-off-by: Ben Kochie <superq@gmail.com> * Test cleanup Signed-off-by: Ben Kochie <superq@gmail.com> * dns64: more test cleanup Signed-off-by: Casey Callendrello <c1@caseyc.net> Co-authored-by: Casey Callendrello <c1@caseyc.net>
This commit is contained in:
64
plugin/dns64/README.md
Normal file
64
plugin/dns64/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# dns64
|
||||
|
||||
## Name
|
||||
|
||||
*dns64* - enables DNS64 IPv6 transition mechanism.
|
||||
|
||||
## Description
|
||||
|
||||
From Wikipedia:
|
||||
|
||||
> 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 synthesis in only performed if the query came in via IPv6.
|
||||
|
||||
See [RFC 6147](https://tools.ietf.org/html/rfc6147) for more information.
|
||||
|
||||
## Syntax
|
||||
|
||||
~~~
|
||||
dns64 [PREFIX] {
|
||||
[translate\_all]
|
||||
}
|
||||
~~~
|
||||
|
||||
* [PREFIX] defines a custom prefix instead of the default `64:ff9b::/96`
|
||||
* `translate_all` translates all queries, including respones that have AAAA results.
|
||||
|
||||
## Examples
|
||||
|
||||
Translate with the default well known prefix. Applies to all queries
|
||||
|
||||
~~~
|
||||
dns64
|
||||
~~~
|
||||
|
||||
Use a custom prefix
|
||||
|
||||
~~~
|
||||
dns64 64:1337::/96
|
||||
# Or
|
||||
dns64 {
|
||||
prefix 64:1337::/96
|
||||
}
|
||||
~~~
|
||||
|
||||
Enable translation even if an existing AAAA record is present
|
||||
|
||||
~~~
|
||||
dns64 {
|
||||
translate_all
|
||||
}
|
||||
~~~
|
||||
|
||||
* `prefix` specifies any local IPv6 prefix to use, instead of the well known prefix (64:ff9b::/96)
|
||||
|
||||
## Bugs
|
||||
|
||||
Not all features required by DNS64 are implemented, only basic AAAA synthesis.
|
||||
|
||||
* Support "mapping of separate IPv4 ranges to separate IPv6 prefixes"
|
||||
* Resolve PTR records
|
||||
* Follow CNAME records
|
||||
* Make resolver DNSSEC aware. See: [RFC 6147 Section 3](https://tools.ietf.org/html/rfc6147#section-3)
|
||||
Reference in New Issue
Block a user