]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
docs: config: yaml for dns64
authorAleš Mrázek <ales.mrazek@nic.cz>
Wed, 28 Jun 2023 13:32:27 +0000 (15:32 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 8 Aug 2023 06:45:49 +0000 (08:45 +0200)
doc/config-dns64.rst [new file with mode: 0644]

diff --git a/doc/config-dns64.rst b/doc/config-dns64.rst
new file mode 100644 (file)
index 0000000..d0c89b2
--- /dev/null
@@ -0,0 +1,71 @@
+.. SPDX-License-Identifier: GPL-3.0-or-later
+
+.. _config-dns64:
+
+*****
+DNS64
+*****
+
+DNS64 AAAA-from-A record synthesis :rfc:`6147` is used to enable client-server communication between an IPv6-only client and an IPv4-only server.
+See the well written `introduction`_ in the PowerDNS documentation.
+
+DNS64 can be enabled by switching its configuration option to `true`.
+By default, the well-known prefix ``64:ff9b::/96`` is used.
+
+.. code-block:: yaml
+
+    dns64: true
+
+It is also possible to configure own prefix.
+
+.. code-block:: yaml
+
+    dns64:
+      prefix: 2001:db8::aabb:0:0/96
+
+.. warning::
+
+    The module currently won't work well with :func:`policy.STUB`. Also, the IPv6 ``prefix`` passed in configuration is assumed to be ``/96``.
+
+.. tip::
+
+    The A record sub-requests will be DNSSEC secured, but the synthetic AAAA records can't be. Make sure the last mile between stub and resolver is secure to avoid spoofing.
+
+
+Advanced options
+================
+
+TTL in CNAME generated in the reverse ``ip6.arpa.`` subtree is configurable.
+
+.. code-block:: yaml
+
+    dns64:
+      prefix: 2001:db8:77ff::/96
+      ttl-reverse: 300s
+
+You can specify a set of IPv6 subnets that are disallowed in answer.
+If they appear, they will be replaced by AAAAs generated from As.
+
+.. code-block:: yaml
+
+    dns64:
+      prefix: 2001:db8:3::/96
+      exclude: [2001:db8:888::/48, '::ffff/96']
+
+    # You could even pass '::/0' to always force using generated AAAAs.
+
+In case you don't want DNS64 for all clients, you can set ``dns64`` option to ``false`` via the :ref:`views <mod-view>` section.
+
+.. code-block:: yaml
+
+    views:
+      # disable DNS64 for a subnet
+      - subnets: [2001:db8:11::/48]
+        tags: [t01]
+        options:
+          dns64: false
+
+    dns64: true
+
+
+.. _introduction: https://doc.powerdns.com/md/recursor/dns64